Skip to content

Running a match

There are three ways to run a match, from quick pug to fully scripted tournament.

  1. Admin types .match.
  2. Players join any team and type .ready.
  3. When matchzy_minimum_ready_required players are ready, the knife round starts.
  4. Knife winners type .stay or .switch, and the match goes live.

Teams are not locked; anyone can join either side.

  • num_maps sets the series length. maplist is the map pool.
  • A pool of exactly num_maps maps, or "skip_veto": true, plays the maps in order.
  • Otherwise teams .ban and .pick in chat (Get5 default). Set the order with veto_mode, or let MatchZy generate one (veto_first picks the starting team). If a captain leaves, a teammate takes over.
  • map_sides sets the starting side per map (team1_ct, team2_t, knife, …).
  • clinch_series ends a BO3 at 2-0.

Workshop maps work everywhere a map name does: workshop/<id>, ws/<id> or ws:<name> (hosted collection).

Setting What it does
matchzy_forfeit_ready_timeout 600 A team not ready 10 minutes after the ready phase began loses by forfeit.
matchzy_forfeit_join_grace_seconds 60 A registered player who joins in the last minute still gets up to 60 seconds to ready up before their team forfeits (default 60).
matchzy_forfeit_veto_ready_timeout 300 The same for the ready-up before the map veto (-1 = same as above, 0 = no limit).
matchzy_forfeit_leave_timeout 300 A team with nobody on the server for 5 minutes during a live map loses by forfeit.
matchzy_veto_step_timeout 60 A captain who does not ban, pick or choose a side within 60 seconds gets a random choice.

If neither team is ready in time, the series ends in a tie. Admins can add time with .addreadytime <seconds>. Get5 names: get5_time_to_start and get5_time_to_start_veto.

All three are off (0) by default. A forfeit ends the series with the other team as winner (series_end), like get5_endmatch team1|team2.

Setting Effect
matchzy_kick_when_no_match_loaded true Players not on the loaded roster are kicked on join. Everyone is kicked when no match is loaded, also the players still on the server when a series ends (for example after a forfeit). Admins are exempt.
matchzy_whitelist_enabled_default true Only SteamIDs in whitelist.cfg may join.

One team can be "players": "any" (any human) and the other "bots": true. Bots are filled to players_per_team, stay on their side through halftime and overtime, always count as ready, and are recorded in stats. The map list must be fixed. Example in the match config reference.

  • Stats are written to the database and a CSV. See Stats.
  • The demo stops and is uploaded if configured. See Demos.
  • With matchzy_match_end_auto_changelevel the server changes to the next map by itself. Panel-loaded matches (matchzy_loadmatch_url) leave the map change to the panel.
  • Cvars from the match config’s cvars block and the hostname from before the match are restored (matchzy_reset_cvars_on_series_end).

.stopmatch (or the Stop Match button in .ma) stops the match in any state, from setup to live, and resets to warmup. The database gets an end time and no winner, so stopped matches are easy to tell apart.