Private customers Business customers

Set up MatchZy (5v5 match server)Host competitive matches like on FACEIT & ESL

MatchZy is the most popular plugin for competitive 5v5 matches in Counter-Strike 2 - with knife round, team ready system, pauses, backups and Get5-compatible match configs. This guide shows how to set up MatchZy on your CS2 server.

5v5 competitiveKnife round & readyGet5-compatible

Published on · last updated on

Requirements

MatchZy is a CounterStrikeSharp plugin. Before you start, Metamod:Source and CounterStrikeSharp therefore have to be running - as described in our guide install Metamod & CounterStrikeSharp. For a public match server, you also need a GSLT.

CS2 server hosting from €5.99 / month

Prepaid without a contract, DDoS protection up to 250 Gbit/⁠s.

View plans & prices

Install MatchZy

  1. Download the current MatchZy release from the official repository (matching your CSSharp version).
  2. Unpack it into addons/counterstrikesharp/plugins/MatchZy/ (via WebFTP or SFTP).
  3. Restart the server or run css_plugins reload MatchZy in the console.
  4. Check with css_plugins list whether MatchZy is loaded.

Start and control a match

MatchZy offers two ways: a fixed server config or loading a match config (JSON, Get5-compatible) by command. The most important commands in the game or via RCON:

  • .ready / .unready - players report ready; once a team is completely ready, the knife round starts.
  • .start - start the match manually (admin).
  • .pause / .unpause - tactical or technical pause.
  • .stop - back to the last round (backup) if someone disconnected.
  • matchzy_loadmatch_url / get5_loadmatch - load a complete match config.

After the knife round, the winning team gets to choose sides (.stay / .switch). MatchZy stores demos and match backups on the server automatically - you download them via WebFTP/SFTP.

Match backups: the most important part

MatchZy writes a backup file after every round. That sounds like a side issue, but it is the reason why serious play is possible with the plugin at all: if someone drops out of the connection in the middle of the match or the server crashes, you pick up exactly there instead of starting over.

.stop                    # back to the last round (both teams have to agree)
matchzy_loadbackup_file backup_round12.cfg

The files are in the server directory and carry the round number in their name. Download them after a match or clean them up occasionally - quite a lot accumulates over many matches. Backups are self-service throughout with us via WebFTP or SFTP.

Good to know: a backup loads the round state, not the player assignment. Anyone who switched teams in between has to switch back. That is why .stop during a running match is always the better choice than a manually loaded backup.

Match config instead of manual work

For recurring matches, it is worth storing the settings once as JSON instead of setting them in the game every time. The file defines teams, map order, game mode and side selection:

{
  "matchid": "1",
  "num_maps": 1,
  "players_per_team": 5,
  "maplist": ["de_mirage"],
  "team1": { "name": "Team A", "players": { "STEAM_1:0:...": "Player1" } },
  "team2": { "name": "Team B", "players": { "STEAM_1:0:...": "Player2" } }
}

It is loaded via matchzy_loadmatch_url from a reachable address or directly from the server. If players are assigned via their SteamID, MatchZy sorts them into the right team automatically when they join - that saves the usual quarter of an hour of sorting before kick-off.

Because the format is largely Get5-compatible, existing configurations from CS:GO times usually keep working without changes. How to build a complete tournament flow from this is explained under tournament setup.

When MatchZy does not respond

Almost all problems have one of three causes:

  1. The plugin is not loaded. Check with css_plugins list via RCON whether MatchZy is on the list. If it is missing, the location or the CounterStrikeSharp version is wrong - see install CounterStrikeSharp.
  2. The commands do not arrive. MatchZy uses the dot as a prefix, not the slash. .ready works, /ready does not.
  3. The match does not start despite ready. Then a player is missing compared with players_per_team. Either fill the spot or adjust the value in the config.

After a CS2 update, it can happen that CounterStrikeSharp and with it MatchZy temporarily do not load. That is normal and resolves itself as soon as the developers catch up - until then, the only thing that helps is waiting, not tinkering with the configuration.

Frequently asked questions

Get5 was the classic match plugin under CS:GO (SourceMod). For CS2, MatchZy is the widely used successor based on CounterStrikeSharp - it is largely Get5-compatible, so existing match configs can be reused.

For a 5v5 match, 10 slots are enough; with coaches/GOTV reserve, 10-12 slots are ideal. On our CS2 plans, slots are unlimited; the smallest package is already enough for 5v5.

Yes. MatchZy automatically creates match demos and backups on the server. You download both via the WebFTP file manager or via SFTP.

Rent your own CS2 server

Sub-tick optimized hardware, unlimited slots, Workshop maps, Metamod:Source & CounterStrikeSharp - prepaid, made in Germany.

View plans & prices