Install
Requirements, the install command and the first setup.
What you need
- Linux on
x86_64orarm64. Debian and Ubuntu are the tested systems. - A Linux account with
sudoaccess. The servers run as that account:csmitself runs withoutsudo, and only the one-time host setup needs it. Use a separate account for the servers if you don't want them under your own login. csm refuses to run as root. - At least 8 GB RAM, and 1 to 2 GB more for each server.
- About 70 GB of disk for CS2. In instance mode all servers share it; in classic mode each extra server adds about 2 GB.
csm installs the other packages it needs (SteamCMD, tmux, rsync, the 32-bit libraries and more) with apt. See Server requirements for the network ports.
Install
Log in as the account that will run the servers, not as root.
Download csm
Log in as the account the servers will run as, then run this. It downloads the latest csm for your CPU to /usr/local/bin/csm:
arch=$(uname -m); \
case "$arch" in \
x86_64) asset="csm-linux-amd64" ;; \
aarch64|arm64) asset="csm-linux-arm64" ;; \
*) echo "Unsupported architecture: $arch" && exit 1 ;; \
esac; \
tmp=$(mktemp); \
curl -L "https://github.com/Auto-Tournament/cs2-server-manager/releases/latest/download/$asset" -o "$tmp" && \
sudo install -m 0755 "$tmp" /usr/local/bin/csm && \
rm "$tmp"To update csm later, run sudo csm self-update, or choose Tools > Force update CSM now in the menu.
Set up the host
Run this once, with sudo, from the same account:
sudo csm setup-hostIt installs the packages csm needs (and accepts the Steam license the steamcmd package asks for), lets your account's services keep running after you log out (systemd lingering), and gives your account csm's files. Leave out a step with --skip-deps or --skip-linger.
Start csm
From now on, run csm without sudo:
csmcsm refuses to run as root. Only setup-host, install-deps, self-update and cleanup-all take sudo.
Set up the machine once
sudo csm setup-hostIt installs the system packages and sets your account up to run csm: your servers keep running after you log out, and csm's files are yours. It never starts, stops or updates a server, and it is safe to run again. From now on, run csm as yourself, without sudo.
Choose how to create servers
With Auto Tournament 3.0 (recommended): let the platform create them.
Copy the line from Servers → Machines → Add machine in Auto Tournament and run it on the machine (it installs csm if needed, links and starts the agent). With csm already installed, csm link https://tournament.example.com - does the same: paste the code when it asks; the agent service is installed and started with it. Then create servers from the machine's card. The platform installs CS2 and Ready Up, and each server enrolls itself. See Host a CS2 tournament.
On its own: run csm, and in the menu choose Install > Install or redeploy servers. The installer asks for:
- Ready Up license: noncommercial (free: your own servers, a club, a school, a free event) or commercial (needs a paid license key).
- Number of servers. The default is 3.
- Game port and GOTV port of server 1. The defaults are
27015and27020. - Hostname prefix, RCON password and max players. Change the default RCON password.
- GSLT. Leave it empty. A GSLT only lists the server in the in-game server browser, and Valve can ban it on a server with the skins plugin. See Game Server Login Token.
- Update options: validate the game files with SteamCMD, update the plugins, and install the update monitor.
csm installs Ready Up, the native CS2 plugin, on every server. csm 1.23 and newer no longer install MatchZy Enhanced, which Auto Tournament 3.x does not support. See Plugins and updates.
Wait for the download
The first install downloads CS2, about 70 GB. This can take a long time.
Open the ports
Open the game ports and GOTV ports in your firewall. See Ports for the numbers. Players need UDP. Ready Up needs no inbound port for the platform: it connects out.
Ports
Server 1 uses game port 27015 and GOTV port 27020. Each next server adds 10:
| Server | Game port (UDP and TCP) | GOTV port |
|---|---|---|
| 1 | 27015 | 27020 |
| 2 | 27025 | 27030 |
| 3 | 27035 | 27040 |
Install without the menu
csm bootstrap installs or redeploys the servers with no questions, for the account that runs it. Set the options as environment variables:
NUM_SERVERS=5 RCON_PASSWORD='a-long-random-password' csm bootstrap
csm plugins license noncommercial # or commercial, with a paid license key
csm update-plugins # installs Ready Up on every server| Variable | Default | What it sets |
|---|---|---|
NUM_SERVERS | 3 | Number of servers. |
BASE_GAME_PORT, BASE_TV_PORT | 27015, 27020 | Ports of server 1. |
HOSTNAME_PREFIX | CS2 Server | Start of each server name. |
RCON_PASSWORD | a fixed default | RCON password. Always set it. |
UPDATE_MASTER | 1 | 0 to skip the game update. |
FRESH_INSTALL | 0 | 1 to start over from a clean install. |
If steamcmd cannot be installed
E: Unable to locate package steamcmd means your apt sources do not include the part that has SteamCMD. sudo csm install-deps tries to fix this: it turns on the missing part in /etc/apt/sources.list, saves a backup next to it, and tries again.
To do it by hand on Ubuntu:
sudo add-apt-repository multiverse
sudo apt-get update
sudo apt-get install steamcmdOn Debian, add contrib and non-free to your apt sources, then run sudo apt-get update and sudo apt-get install steamcmd.
Remove everything
This stops and deletes your servers, the master install, the shared config, and the plugin files. Your account and the rest of your home directory stay:
csm cleanup-allRun it from the account that runs csm. To remove a dedicated service account from an older install, such as cs2servermanager, with its home directory:
sudo csm cleanup-all --user cs2servermanager --delete-user