Plugins and updates
Update CS2 and the plugins, by hand or with the update monitor.
Update CS2
Valve updates CS2 often. An outdated server cannot load matches, and Auto Tournament shows CS2 update required.
sudo csm update-gameThis updates master-install with SteamCMD, stops all servers, copies the new files to each server and starts them again. Players on the servers are kicked, so do not run it during a match.
To update only one server:
sudo csm update-server 2Update the plugins
sudo csm update-pluginsThis downloads the plugins, copies them and your overrides to every server, and restarts the servers. It installs:
- Metamod:Source
2.0.0.1411. This version is fixed on purpose. Metamod builds from 2026-09-08 do not work with the current CounterStrikeSharp release, which then fails withPlugin uses old SourceHook Metamod build. - CounterStrikeSharp, the latest release.
- Auto Tournament CS2, the latest release.
update-plugins always installs the whole bundle, so it replaces a newer Metamod with the fixed version. To choose another Metamod build, set CSM_METAMOD_VERSION to a release tag, or to latest for the newest build:
sudo CSM_METAMOD_VERSION=2.0.0.1468 csm update-pluginsKeep all servers on the same plugin version. Auto Tournament shows Version mismatch when they differ.
The update monitor
The update monitor checks each server's log and updates servers that need it. Install it as a cron job that runs every 5 minutes:
sudo csm install-monitor-cronOther intervals use cron syntax for the minute field:
sudo csm install-monitor-cron "*/10"To remove it:
sudo csm remove-monitor-cronTo run one check by hand:
sudo csm monitorHow the monitor works
When Steam reports a new CS2 version, the plugin writes this line to the server log:
[MATCHZY_UPDATE_AVAILABLE] required_version=<number>The monitor looks for this line in each server's log. It only updates a server that is stopped. It never stops a running server, so it cannot break a match.
The plugin's default is to only report the update (matchzy_safeautoupdater_action warn_only). The server keeps running, so the monitor does not update it. You then have two choices:
- Update by hand when no match is running:
sudo csm update-game. - Let the server stop itself. Set
matchzy_safeautoupdater_action restartin the plugin config. The plugin then kicks players and shuts the server down, but only when no match is running (idle, postgame or error). The next monitor run updates and starts it. See Set up automatic updates.
After an update, the monitor waits before it reacts to the same server again, so a server that keeps restarting does not update in a loop.
The monitor writes its log to auto_update_monitor.log in the csm log folder. Run csm logdir to find it.
Set up automatic updates
With these steps, servers update themselves between matches.
Install the update monitor
sudo csm install-monitor-cronLet the plugin stop idle servers
Add this line to /home/cs2servermanager/overrides/game/csgo/cfg/MatchZy/config.cfg:
matchzy_safeautoupdater_action restartCopy the config to all servers
sudo csm update-pluginsThis also restarts the servers, so do not run it during a match.
When CS2 updates, each server shuts down after its match. The next monitor run updates it and starts it again.