Auto Tournament

Command reference

Every csm command, flag and environment variable.

Run csm with no command to open the menu. Run csm help for a short list in the terminal.

csm runs as the account that owns the servers and refuses to run as root. Only setup-host, install-deps, self-update and cleanup-all take sudo.

<server> is a server number: 1 for server-1. Where a command says so, 0 means all servers.

Servers

CommandWhat it does
csm statusShow which servers run.
csm start [--alternate|--binary] [server]Start all servers, or one.
csm stop [server]Stop all servers, or one.
csm restart [--alternate|--binary] [server]Restart all servers, or one.
csm attach <server>Open the server console (tmux). Leave with Ctrl+B, then D.
csm debug [--alternate|--binary] <server>Run a server in the foreground.
csm list-sessionsList the tmux sessions.
csm logs <server> [lines]Print the server log, or its last lines.
csm logs-file <server>Print the path of the server log file.
csm public-ipPrint the public IP of the machine.

--alternate starts the server with game/csm.sh, which prefers the libraries that come with CS2. --binary runs the cs2 binary directly, for troubleshooting only. Put the flag before the server number. See Launch modes.

Updates

CommandWhat it does
csm update-gameUpdate CS2 on all servers after a Valve update. Stops and starts the servers.
csm update-server <server>Update CS2 on one server.
csm update-pluginsInstall or update Ready Up on all servers, copy your overrides and restart them.
csm monitorRun the update monitor once. It updates stopped servers and idle running servers.
csm updates hold on|offStop or allow automatic updates by the monitor, for example during an event. Saved across reboots.
csm updates statusShow whether updates are on hold and the idle grace period.
csm updates grace <minutes>How long a server must be idle before the monitor updates it. The default is 10.
csm install-monitor-cron [interval]Run the update monitor from your crontab. The default interval is */5 (every 5 minutes).
csm remove-monitor-cronRemove the update monitor cron job.

Setup and maintenance

CommandWhat it does
sudo csm setup-host [--skip-deps] [--skip-linger]One-time host setup for the account you run it from: packages, lingering and csm's files. Never touches servers.
sudo csm install-depsInstall the system packages csm needs with apt.
sudo csm self-updateUpdate csm itself to the latest release.
csm bootstrapInstall or redeploy the servers without the menu. Options come from environment variables, see Install without the menu.
csm doctor [--yes] [--server <server>]Find common problems and offer fixes. --yes applies all fixes without asking.
csm fix-libv8 <server|0>Repair a missing libv8.so: check the main install with SteamCMD and copy the game files to the server again.
csm reinstall <server>Delete one server and copy it again from master-install.
csm update-config <server>Write server.cfg and autoexec.cfg of one server again, without touching the game files.
csm dedupe-vpk [--dry-run] [--verify] [--undo] [--allow-running] [server]Hardlink the .vpk files of the servers to master-install to save disk space. See Save disk space.
csm extract-map-dataExtract map preview images and icons. See Map thumbnails.
csm extract-skin-dataExtract weapon skin images and skins.json.
csm logdirShow the csm log folder and the latest command logs.
sudo csm cleanup-all [--user <name>] [--delete-user]Delete your servers and their files. Your account stays; --delete-user deletes a dedicated service account from an older install. See Remove everything.

RCON bans

CommandWhat it does
csm list-bans <server>List the IPs a server has banned for wrong RCON passwords.
csm unban <server|0> <ip>Remove one banned IP.
csm unban-all <server|0>Remove all banned IPs.

Which commands need sudo

The menu and most commands that change something need sudo. csm help, public-ip, status, logs, attach, list-bans and extract-map-data can run without it, as long as your user can read the server files. When in doubt, use sudo.

Global flags

FlagWhat it does
-h, --helpShow the help.
-dRun the menu without drawing it (daemon mode).
--copy-mode <mode>How game files are copied from master-install to the servers: auto, reflink, rsync or legacy.

Environment variables

Set these in front of the command, for example CSM_LAUNCH_MODE=alternate csm restart. For the update monitor, they must also be in the cron job.

VariableWhat it does
CSM_LAUNCH_MODEalternate or binary: launch mode for every start, also in updates and the monitor.
CSM_STEAMRT1 forces the Steam Runtime (SteamRT3) launcher on, 0 forces it off. By default it is on for Debian 13+ and Ubuntu 25.04+.
CSM_VPK_HARDLINK0 turns off VPK hardlinks. New copies are full copies.
CSM_ROOTFolder for csm's state, logs and servers. Default: the home folder of the account that runs csm.
CSM_LOG_DIRFolder for csm logs. Default <CSM_ROOT>/logs.
CSM_COPY_MODEThe same as --copy-mode.
CS2_USERWhose master install the map and skin extraction reads. Default: the account running csm.

csm bootstrap reads more variables, such as NUM_SERVERS and RCON_PASSWORD. See Install without the menu.

On this page