Workload · Hosting Counter-Strike 2 matches

A CS2 dedicated server your players can always join

To host a CS2 dedicated server you download Counter-Strike 2 (Steam app 730) with Valve's SteamCMD tool, start it with the -dedicated switch, and register a Game Server Login Token for it so players outside your network can connect on port 27015. Valve's recommended requirements are modest: at least 2 GB of memory, 65 GB of disk and a 64-bit Intel or AMD processor at the x86-64-v2 level.

The short version
  1. Free download: Steam app 730, no game login needed
  2. A login token from your own Steam account
  3. Players connect on port 27015
  4. Linux with Ubuntu 20.04 or newer works
  5. Whole machine, unmetered port, no contract

Will a modest machine run it?

Yes, if it clears Valve's short list. Valve's page gives these as the recommended requirements:

  • Memory: at least 2 GB.
  • Disk: 65 GB. The game download on its own is about 60 GB, so a small 40 GB disk will not do.
  • Processor: x86-64-v2, meaning a 64-bit Intel or AMD chip with the POPCNT and SSE4.2 instructions. ARM processors cannot run it.
  • System: Windows 10 or 11, or Linux with glibc 2.31 or newer, which in practice means Ubuntu from 20.04, Debian from 11, or release 9 and newer of the Enterprise Linux family.

Valve gives no figure per player, so be wary of anyone who quotes one as official. If you plan to run several servers side by side, say a competitive match and a deathmatch warm-up, count each one against the memory and disk and give each its own port.

Not sure about a processor? On Linux you can check it yourself: run lscpu | grep -ow -e popcnt -e sse4_2 and you should see both words.

The server that fits

A match server cares about one thing above all: that nothing else interrupts it mid-round. Our game server machines are whole physical servers, so the processor, memory and disks are yours alone, and each sits on a port that is not shared with any other customer at the access switch. That port is unmetered, 500 Mbps or 1 Gbps depending on the line, so a busy weekend never turns into a bandwidth bill.

  • Speed: a machine already sitting in the rack is yours roughly 30 minutes after we approve your order. The instant servers page shows those.
  • Choice of city: Bucharest, Amsterdam, New York, Miami or San Francisco. Pick the one closest to most of your players; the data center page describes each.
  • A way back in: each rack server and blade includes a remote console that opens in your browser, so a firewall mistake that locks you out of SSH is fixable without a ticket.
  • Your choice of system: the widest lines install Ubuntu up to 26.04 in one click, and Windows 11 Pro as a paid licence if you would rather use Windows.
  • No lock-in: month to month, no contract.

One thing to avoid: our ARM machines. CS2 needs an Intel or AMD processor, so choose any of the x86 lines instead.

Downloading CS2 with SteamCMD, step by step

SteamCMD is Steam without the windows: a text tool that downloads game servers. These steps are for Ubuntu or Debian on the Linux server lines and follow Valve's own instructions; the only additions are a separate user so the game never runs as root, and a link Valve recommends when the server cannot find a Steam library file.

  1. Install the one 32-bit library SteamCMD needs and create a steam user.
  2. Switch to that user and unpack SteamCMD into a folder of its own.
  3. Download the game anonymously into a lower-case folder (Valve warns that capital letters break some Linux installs).
  4. Make the sdk64 link so the server finds steamclient.so on first start.
sudo apt-get install lib32gcc-s1
sudo useradd -m -s /bin/bash steam
sudo -iu steam
# everything below runs as the steam user
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://client-update.steamstatic.com/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir /home/steam/cs2 +login anonymous +app_update 730 validate +quit
mkdir -p ~/.steam/sdk64
ln -s ~/steamcmd/linux64/steamclient.so ~/.steam/sdk64/

Your server's pass: the login token

Valve is clear that other people cannot join a server without a Game Server Login Token, or GSLT. You create it while signed in to Steam, on the game server account management page, entering 730 as the app ID. Steam asks that the account is in good standing (not banned, locked or limited), has a registered phone and owns the game.

Treat the token like a password. Steam makes you responsible for what happens on servers using it: if one gets banned, your own account may lose access to the game. Do not share it, and delete any copy you have handed out. Tokens left unused for a long time expire, and a Steam password reset replaces all of them, so expect to paste a fresh one now and then.

Starting your first match

Valve asks Linux users to launch through the cs2.sh script inside the game folder, because it prepares things the bare program needs. Leave out -dedicated and you get the game client instead of a server.

cd /home/steam/cs2/game
./cs2.sh -dedicated -port 27015 -maxplayers 10 +game_alias competitive +map de_inferno +sv_setsteamaccount YOUR_TOKEN +hostname "Friday scrims"

Anything on that line lands in your shell history and shows in the process list while the server runs. On a whole machine that only you log in to, nobody else can see the process list, so that is fine. To keep the token out of your history, put the line in a small start script that only the steam user can read (chmod 700).

Competitive is the default mode. To host something else, swap the game_alias value, then change map so it takes effect:

  • casual: game type 0, mode 0
  • wingman: game type 0, mode 2
  • deathmatch: game type 1, mode 2
  • custom: game type 3, mode 0

Valve also lists the raw console variables behind each alias, so +game_type 1 +game_mode 2 on the launch line is the same as +game_alias deathmatch.

Letting players in

Players reach you on UDP port 27015, which is the gameplay port Steam lists for dedicated servers. The same number over TCP is RCON, the remote admin console, and there is no reason the whole internet should reach that. With Ubuntu's firewall, allow SSH first so you do not lock yourself out, then the game: sudo ufw allow OpenSSH, then sudo ufw allow 27015/udp, then sudo ufw enable. If you use RCON, allow TCP 27015 only from your home address.

Running a second server on the same machine? Start it with a different -port and open that one too. Machines with several IP addresses can pin each server to one with -ip.

Is tick rate still worth worrying about?

Much less than it used to be. Before CS2, Valve says, the server only evaluated the world at fixed intervals called ticks. With CS2's sub-tick updates the server knows the exact instant someone starts moving, fires or throws a grenade, and Valve says that, whatever the tick rate, moving and shooting are equally responsive and grenades always land the same way.

What that means for choosing a server, in our view: put your effort into a steady machine near your players rather than into chasing a tick number. Valve's server page documents no tick setting to change anyway.

Keeping it current

Every time Valve updates the game, the server needs the same download again; Valve says so on its server page. Stop the server, run the steamcmd.sh line from the install step without the word validate (keep that for when files seem damaged), and start it back up. For a record of who joined and what happened, add +sv_logfile 1 to the launch line.

Looking after several game servers for a community? A web panel helps; our guide to Pterodactyl server hosting walks through one.

Questions people ask

Do I have to buy CS2 to run a server?
The server download uses an anonymous SteamCMD login, so the machine needs no Steam account. The login token is different: Steam only issues one to an account that owns the game, has a registered phone and is not limited.
Can my friends join without a token if I share the IP?
Not over the internet. Valve's page says the token is what lets anyone else connect. A server set to sv_lan 1 runs for a local network only, with no Steam authentication.
How much bandwidth will a CS2 match use?
Valve does not publish a figure, so we will not guess one. What we can say is that our ports are unmetered, so nothing on your invoice changes with how much your players play.
Should I use Windows or Linux?
Both are on Valve's list: Windows 10 or 11, or Linux with glibc 2.31 or newer. Linux needs no licence and is what this page walks through. Windows 11 Pro is available on our widest lines as a paid licence if you prefer it.
How fast can I have a server ready for match night?
If the server you pick is already racked, count on roughly half an hour (30 minutes) from approval of the order; payment verification can stretch that. Then comes the 60 GB download and your first launch, so set it up well before the evening and test with a friend.
How do I keep Valve's anti-cheat switched on?
Leave one switch out. Valve's list of launch options includes -insecure, which disables VAC, the Valve Anti-Cheat system. Do not add it to any public or competitive server.

Ready to host your own CS2 matches?

A whole server close to your players, traffic never counted, month to month.

Get a server for your CS2 matches

Read next