Menu
 

MatchZy on CS2: Run PUGs, Scrims, and 5v5 Matches (2026)

MatchZy on CS2: Run PUGs, Scrims, and 5v5 Matches

Last verified: June 2026

If you run a Counter-Strike 2 dedicated server for a team or a community, sooner or later you want proper match management: a warmup, a knife round, side selection, a ready system, pause handling, and round backups. On CS:GO that job belonged to Get5. On CS2 the community-standard tool is MatchZy, a CounterStrikeSharp plugin that runs PUGs, scrims, practice mode, and full 5v5 matches with simple chat commands and Get5-compatible config files.

Short version: install MetaMod:Source v2, then CounterStrikeSharp, then MatchZy. Players type .ready, the match auto-starts, and you can load Get5-style match configs with matchzy_loadmatch. MatchZy plays the role Get5 played on CS:GO.

What MatchZy Does

MatchZy is a single plugin that covers the whole competitive match lifecycle:

  • Match modes: BO1 / BO3 / BO5 matches with map veto when you use a match configuration or a Get5-style panel.
  • Practice mode: a dedicated practice state for grenade lineups, executes, and spawn drills.
  • Knife round: automatic knife round with side selection, where the team with more players (or more total HP, then random as a tiebreaker) wins the knife.
  • Ready system: players ready up in chat, and the match starts once the minimum is met.
  • Pause and restore: tactical and technical pauses plus round backups so you can restore a specific round after a crash or a dispute.

Install Order: MetaMod, then CounterStrikeSharp, then MatchZy

MatchZy is not a standalone server mod. It is a CounterStrikeSharp plugin, and CounterStrikeSharp itself depends on MetaMod:Source v2. The install order is fixed:

  1. MetaMod:Source v2 hooks into the Source 2 engine. Install it first.
  2. CounterStrikeSharp is the C# plugin host that loads on top of MetaMod.
  3. MatchZy is the plugin that loads inside CounterStrikeSharp.

The official MatchZy release ships in three flavors: a plugin-only archive that you extract into csgo/ when MetaMod and CounterStrikeSharp are already present, plus two "with-cssharp" archives (one for Linux, one for Windows) that bundle CounterStrikeSharp. If you are setting up from scratch, the with-cssharp archive is the easier path because only MetaMod has to be installed first.

For the underlying server install (SteamCMD app 730, the steamclient.so symlink, GSLT, and the cs2.sh launch), see our CS2 Dedicated Server Setup guide. MatchZy sits on top of a working dedicated server.

Configuration Files

MatchZy stores its configuration in csgo/cfg/MatchZy/. These files are executed automatically as the match moves between phases, which keeps your warmup, knife, live, and practice rules cleanly separated:

FileWhen it runs
config.cfgOn plugin load. Holds your matchzy_* cvars. Reload it live with exec MatchZy/config.cfg.
warmup.cfgWhen warmup starts.
knife.cfgWhen the knife round starts.
live.cfgWhen the match goes live.
prac.cfgWhen practice mode starts.
admins.jsonSteam64 IDs allowed to run admin commands. Reload with .reload_admins.
whitelist.cfgSteam IDs allowed to connect when whitelist is on.

Key cvars (config.cfg)

The cvars below control match behavior. Put them in cfg/MatchZy/config.cfg:

CvarPurposeDefault
matchzy_minimum_ready_requiredPlayers who must be ready before a match starts2
matchzy_knife_enabled_defaultWhether the knife round is on by defaulttrue
matchzy_whitelist_enabled_defaultWhether the player whitelist is on by defaultfalse
matchzy_kick_when_no_match_loadedKick clients if no match is loadedfalse
matchzy_autostart_modeWhich mode to load on startup (0 = none, 1 = match, 2 = practice)1
matchzy_demo_pathFolder where match demos are savedMatchZy/
matchzy_pause_after_restorePause the match after a round restoretrue
matchzy_reset_cvars_on_series_endRestore cvars when a series endstrue

A common community-server choice is to set matchzy_minimum_ready_required to the team size you expect (for a strict 5v5, set it to 10) so a match cannot go live until everyone has readied.

Running a Match: the Commands

MatchZy is driven mostly from in-game chat. Player commands are open to everyone; admin commands require a Steam64 ID listed in admins.json.

Player commands

CommandEffect
.ready / .rMark yourself ready
.unreadyCancel your ready state
.forcereadyReady your entire team at once
.pause / .unpauseTactical pause and resume
.techCall a technical pause
.stay / .switchChoose to keep or swap sides after the knife round
.stopRestore the backup of the current round

Admin commands

CommandEffect
.startForce-start the match (bypass the ready system)
.restart / .endmatchForce-reset / end the match
.prac / .tacticsStart practice mode
.exitpracLeave practice mode and return to match mode
.roundknife / .rkToggle the knife round on or off
.skipveto / .svSkip the current veto phase
.restore <round>Restore the backup of a given round number
.forcepause / .fpPause the match as an admin
.forceunpause / .fupForce-unpause the match
.map <mapname>Change the map
.team1 <name> / .team2 <name>Set team names
.rcon <command>Send a raw command to the server from chat
.settingsShow the current MatchZy settings

The simplest run-through: players join, type .ready, the match auto-starts at the configured threshold, the knife round decides sides, the knife winner picks .stay or .switch, and the live half begins. If you disable the knife round with .rk, the match jumps straight from warmup to live.

Loading a Match Config (Get5-style)

For structured matches, leagues, or a PUG bot, you load a JSON match configuration instead of running everything by hand. MatchZy provides two console commands:

# Load a local JSON config (path is relative to the csgo directory)
matchzy_loadmatch matchzy_config/match01.json

# Or fetch the config over HTTP(S), with an optional auth header
matchzy_loadmatch_url https://your-panel.example/api/match/123 Authorization "Bearer TOKEN"

The config format mirrors Get5, so existing tooling carries over. A minimal config needs only maplist, num_maps, team1, and team2; players_per_team, map_sides, clinch_series, and a cvars block are optional, and matchid auto-generates if you leave it out. Because MatchZy keeps the Get5 G5API / G5V compatibility, match panels built for Get5 generally work without rewrites.

A modded CS2 server runs as a community / insecure server. It will not show up in Valve matchmaking and does not issue VAC bans, exactly as community servers behaved on CS:GO. Players connect by direct IP or through your panel. For community ban management, pair MatchZy with a ban-management plugin rather than relying on VAC.

Common Pitfalls

SymptomLikely causeFix
MatchZy commands do nothing in chatCounterStrikeSharp or MetaMod did not loadCheck the install order; confirm MetaMod and CounterStrikeSharp load before MatchZy in the server log
Admin commands rejectedYour Steam64 ID is not in admins.jsonAdd your ID, then run .reload_admins
Match never startsmatchzy_minimum_ready_required is higher than the players presentLower the threshold or have everyone .ready; an admin can .start
Plugin breaks after a CS2 updateSource 2 engine changes can break CounterStrikeSharp nativesUpdate CounterStrikeSharp and MatchZy together to releases that target the current CS2 build

That last row is worth planning around. CS2 server updates occasionally break CounterStrikeSharp until the framework and its plugins are rebuilt, so keep MatchZy and CounterStrikeSharp on matched, recent releases and test on a staging copy before a league night.

Frequently Asked Questions

Is MatchZy a replacement for Get5?

For CS2, effectively yes. Get5 targeted the CS:GO (Source 1) engine. MatchZy is the actively maintained CounterStrikeSharp plugin that fills the same role on CS2 and keeps Get5-style config compatibility so existing match pipelines migrate cleanly.

Do I need a separate practice plugin?

No. Practice mode is built into MatchZy. An admin starts it with .prac and exits with .exitprac, and the prac.cfg file controls the practice rules.

Where are demos saved?

In the folder set by matchzy_demo_path, which defaults to MatchZy/. Point it at a path your panel can reach if you want to publish demos after each match.

Can I run practice and matches on the same server?

Yes. Use matchzy_autostart_mode to pick what loads on startup, then switch between practice and match mode with .prac / .exitprac and .start during the session.

Related Reading

Quick Start with Supercraft

Supercraft hosts Counter-Strike 2 dedicated servers with the MetaMod plus CounterStrikeSharp stack ready to go, so you can drop in MatchZy and run scrims, PUGs, and 5v5 matches without wrestling the install order. Config files, RCON, and demos are all panel-driven on high-frequency cores tuned for sub-tick stability.

Rent a CS2 Server

Tired of fighting this issue every patch?

Run a managed Counter Strike 2 server with us. We handle the patches, mod-version pinning, save backups, and DDoS protection. Set up in 3 minutes, 5 datacenter regions, no contract.

See Counter Strike 2 hosting plans →
Top