All settings live in cfg/MatchZy/config.cfg, which MatchZy executes on every load. The file is written with comments on first start and new settings are appended to it on updates (see Updating). You can also set any value from the server console or another cfg.
Want to change a few settings? The settings generator lists every config.cfg setting, searchable, and writes the lines for you.
Legend: cfg = present in the generated config.cfg.
Every player gets MatchZy admin rights. For private practice servers.
matchzy_autostart_mode
1
Y
Mode on map load: 0 none (sleep), 1 match/warmup, 2 practice. Mode commands (css_prac, css_match, …) also write it, so a chosen mode survives a map change.
matchzy_whitelist_enabled_default
false
Y
Enforce whitelist.cfg on connect. Admins can toggle with .whitelist.
matchzy_kick_when_no_match_loaded
false
Y
Kick players who are not on the loaded match’s roster (everyone if no match is loaded). Also kicks the players left on the server when a series ends (not after get5_endmatch), unless a new match is loaded within the reset delay. Admins are exempt.
matchzy_hostname_format
""
Y
Hostname template, e.g. MatchZy | {TEAM1} vs {TEAM2}. Empty keeps your hostname. The hostname from before the match is put back at series end or when the match is stopped (matchzy_reset_cvars_on_series_end).
matchzy_map_console_command_enabled
true
Y
Register css_map / !map. Set false when another plugin owns it. .map always works.
matchzy_asay_console_enabled
true
Y
Register css_asay / !asay. Set false when another plugin owns it.
matchzy_dot_trigger_dedupe
true
Y
When . is a CounterStrikeSharp chat trigger in core.json, let CounterStrikeSharp handle dot commands so they do not run twice.
Turns on admin tickets: .admin (the match’s ticket, seen by every player in the match) and .report (private).
matchzy_admin_call_cooldown
5
Y
Seconds between two .admin / .report messages from the same player.
matchzy_admin_ticket_timeout
30
Y
Minutes without a message after which a ticket counts as closed. Tickets of a loaded match also close when the match ends. 0 = no timeout.
matchzy_warmup_enabled
true
Y
Use warmup (execute warmup.cfg) before a match.
matchzy_warmup_instant_respawn
false
Y
Instant-respawn warmup: the dead respawn at once at their team spawn with 2 seconds of spawn protection, no bomb, no friendly fire, buying all warmup and full money on every respawn. Set after warmup.cfg, so older cfg copies work too. false = warmup.cfg decides.
matchzy_ready_enabled
true
Y
Players can ready up. false = .ready, .r, .unready, .forceready, .readycheck, ready by ping and join ready mode are off; only an admin starts the match with .start (also before the map veto). The ready time limit does not run and the ready clan tags are hidden.
matchzy_minimum_ready_required
10
Y
Ready players needed to start. 0 = every connected player. Also .readyrequired <n>. In a 1v1, wingman or rush pug it is capped at 2, 4 or 6.
matchzy_ready_per_team
0
Y
Per-team ready-up: a team is ready once N of its players are ready. In a loaded match its registered players must also all be in. 0 = off.
matchzy_allow_force_ready
true
Y
Allow .forceready (match setup only). Alias get5_allow_force_ready.
matchzy_forceready_max_missing
1
Y
Loaded matches: how many players a team may be short of players_per_team and still use .forceready (1 = 4 in a 5v5). min_players_to_ready can only make it stricter. -1 = only min_players_to_ready decides (Get5).
matchzy_ready_max_missing
-1
Y
Loaded matches: the fewest players a team can ready up with, whichever way (.ready with a smaller roster, min_players_to_ready, join mode, matchzy_ready_per_team, .forceready): players_per_team minus this. 1 = at least 4 in a 5v5, 0 = full teams only. Admins can still .start. -1 = off.
matchzy_ready_hint_style
1
Y
0 classic center text, 1 HTML ready-up panel, 2 chat reminder only.
matchzy_ready_hint_blink
false
Y
Blink the “NOT READY” line on the HTML panel.
matchzy_hide_failed_connect_messages
false
Y
Hide the chat line when a player leaves before they were fully connected (“failed to connect”, a timed out or cancelled join). Leave messages of players who were in the game are still shown.
matchzy_loaded_match_hide_mode_hints
true
Y
In a match loaded from a match config, joining players only see the ready-up hint (no .scrim / .prac / .knife hints or admin help line). With matchzy_kick_when_no_match_loaded on, the mode hints are never shown.
matchzy_ready_clantag_enabled
true
Y
Show [READY] / [UNREADY] scoreboard clan tags. Not shown in join ready mode (matchzy_ready_mode 1).
matchzy_team_clantag_enabled
false
Y
While live, show each team’s tag from the match config as the players’ clan tag. Off: live clan tags stay empty.
matchzy_ready_up_by_ping
true
Y
Pinging (middle mouse) toggles ready.
matchzy_ready_per_team: the match starts when CT and T are both ready (1 = one player per team). Works with and without a loaded match. In a loaded match, N ready players only confirm for their team: the team’s registered players (its roster in the match config, at most players_per_team) must also all be on the server, so the match does not start while one of them is missing. A team that wants to start without a missing player uses .forceready.
matchzy_ready_hint_style: 1 shows a progress bar, the team split and your own status, and hides the native warmup banner. 2 shows no center text; a chat reminder lists the players who are not ready every matchzy_chat_messages_timer_delay seconds, and the native warmup banner is hidden as well.
Enable .unpause. Admin force unpause is not affected.
matchzy_use_pause_command_for_tactical_pause
false
Y
.pause starts a tactical timeout instead of a normal pause.
matchzy_enable_tech_pause
true
Y
Enable .tech.
matchzy_tech_pause_duration
300
Y
Tech pause length in seconds; the match unpauses on its own when it runs out. -1 = unlimited.
matchzy_max_tech_pauses_allowed
2
Y
Tech pauses per team per map.
matchzy_tech_pause_mode
0
Y
0 = a tech pause ends on its own when its time runs out. 1 = Get5 rules (see below).
matchzy_pause_hud
2
Y
On-screen info during a pause (.tech, .pause, .tac): who called it, time left, who can unpause, tech pauses or tactical timeouts left, which teams typed .unpause. 0 = off, 1 = small center text, 2 = center box.
matchzy_overtime_pauses_per_team
1
Y
.pause uses per team in each overtime period. 0 = no limit.
matchzy_autopause_enabled
true
Y
Pause automatically when a team drops below the minimum player count.
matchzy_autopause_minplayers
5
Y
Players per team below which autopause triggers. Autopause is active once the map has had at least twice this many players.
matchzy_autopause_resume_delay
3
Y
Seconds before resuming once teams are full again.
Tactical timeouts in overtime are set in live.cfg (mp_team_timeout_ot_add_once, mp_team_timeout_ot_add_each, mp_team_timeout_ot_max), not by matchzy_overtime_pauses_per_team.
Play all max rounds (no early win). Toggle with .playout.
matchzy_reset_cvars_on_series_end
true
Y
Restore cvars changed by a match config’s cvars block, and the hostname set by matchzy_hostname_format, when the series ends or the match is stopped.
matchzy_match_start_message
""
Y
Chat message at match start. $$$ = new line. Supports {TIME}, {MATCH_ID}, {MAP}, {MAPNUMBER}, {TEAM1}, {TEAM2} and color tags.
matchzy_match_end_auto_changelevel
true
Y
Change map automatically after a match ends. Disable for panel-driven servers (G5API).
matchzy_empty_shutdown_seconds
0
Y
Close the server (quit) after it has had no players for this many seconds. 0 = off.
matchzy_series_end_shutdown_seconds
0
Y
Close the server (quit) this many seconds after a series ends, also after a forfeit, .gg or get5_endmatch. A match loaded within the delay cancels it. 0 = off.
Loaded matches: seconds after a map’s ready phase begins before a team that is not ready forfeits the series. 0 = off.
matchzy_forfeit_join_grace_seconds
60
Y
When the ready time runs out while a registered player of the team that is not ready joined in the last this many seconds, the forfeit waits up to this long for them. Once per player per ready phase. 0 = off.
matchzy_forfeit_veto_ready_timeout
-1
Y
The same for the ready-up before the map veto. -1 = same as matchzy_forfeit_ready_timeout, 0 = no limit.
matchzy_ready_mode
0
Y
Loaded matches: 0 = players type .ready. 1 = join mode (see below).
matchzy_join_start_delay
10
Y
Join mode: seconds between everyone having joined and the match starting.
matchzy_forfeit_leave_timeout
0
Y
Loaded matches: seconds a team may have nobody on its side during a live map before it forfeits the series. 0 = off.
matchzy_veto_step_timeout
0
Y
Seconds a veto captain has per ban, pick or side choice; then it is made at random (side: CT). 0 = off.
matchzy_forfeit_ready_timeout: if neither team is ready when the time runs out, the series ends in a tie. The reminders name the registered players a team is still missing. .tech, .pause and .tac do not stop the ready time; before the match is live they answer with the time left.
matchzy_ready_mode 1 (join mode): a team is ready once min_players_to_ready of its players are on its side, and the match starts matchzy_join_start_delay seconds later.
Delete .dem files in matchzy_demo_path older than this many days (for example 7 or 14), at plugin load and at series end. The demo being recorded and demos still uploading are kept. Only the top level of the demo folder is cleaned. 0 = keep everything.
matchzy_demo_live_only
false
Y
Only record live maps (match, scrim, hill). MatchZy sets tv_autorecord 0 and stops any GOTV recording outside a live map, so practice mode and an idle server do not write demos. MatchZy’s own match demos are not affected. false leaves tv_autorecord as the server sets it.
matchzy_demo_name_format
{TIME}_{MATCH_ID}_{MAP}_{TEAM1}_vs_{TEAM2}
Y
Demo file name. Also {MAPNUMBER}. Non-ASCII letters are converted (æ to ae) or dropped.
matchzy_demo_upload_url
""
N
Upload the demo here when the map ends. Alias get5_demo_upload_url.
matchzy_demo_upload_s3
false
Y
Upload with HTTP PUT and the raw .dem as body, for S3 presigned URLs (sign with Content-Type: application/octet-stream). Alias get5_demo_upload_s3.
matchzy_demo_upload_header_key
""
N
Custom header name on the upload. Alias get5_demo_upload_header_key.
matchzy_demo_upload_header_value
""
N
Custom header value. Alias get5_demo_upload_header_value.
Every event is POSTed here as JSON. Alias get5_remote_log_url.
matchzy_remote_log_header_key
""
N
Custom header name. Alias get5_remote_log_header_key.
matchzy_remote_log_header_value
""
N
Custom header value. Alias get5_remote_log_header_value.
matchzy_remote_log_auth_key
""
N
Name of an extra authentication header.
matchzy_remote_log_auth_value
""
N
Value of the extra authentication header.
An empty value (matchzy_remote_log_url "") clears a setting; with no value at all the command prints the current setting (header and auth values masked).
Delete round backup files (MatchZyDataBackup/matchzy_*_round*.json and the engine’s matchzy_*_round*.txt, wherever the engine writes them) older than this many days, at plugin load and at series end. The running match’s backups are kept. 0 = keep everything.
matchzy_stop_command_available
true
Y
Enable .stop (both teams vote to replay the current round).
matchzy_stop_command_no_damage
false
Y
.stop is refused once an opponent has been damaged that round.
matchzy_pause_after_restore
true
Y
Pause the match after a round restore.
matchzy_restore_auto_unpause
false
Y
Unpause on its own after a restore instead of waiting for both teams.
matchzy_restore_unpause_delay
5
Y
Countdown in seconds for the automatic unpause.
matchzy_restore_scoreboard_stats
true
Y
A restore also rolls back the round history and player K/D/A, damage, score and MVPs.
matchzy_auto_recover
true
Y
Recover a match interrupted by a crash, restart or reload: restore its newest round backup (or load its config again) 10 s after the server is ready. Players on its roster are not kicked meanwhile.
matchzy_auto_recover_max_age
180
Y
Minutes since the interrupted match was last active after which it is not recovered on its own.
matchzy_raw_backup_restore
redirect
Y
Valve’s mp_backup_restore_load_file: redirect runs MatchZy’s restore of the matching .json, block refuses it, allow runs it as is.
matchzy_round_watchdog
true
Y
A live round that never ends (one side all dead, or the timer at 0:00 with no bomb planted) is fixed: after 3 s the round-win overrides are cleared, after 8 s the round is ended.
matchzy_remote_backup_url
""
N
Round backups are POSTed here. Alias get5_remote_backup_url.
matchzy_remote_backup_header_key
""
N
Custom header name. Alias get5_remote_backup_header_key.
matchzy_remote_backup_header_value
""
N
Custom header value. Alias get5_remote_backup_header_value.