Running your own CS2 server hosting setup gives you full control over maps, tick rate, and who joins the match. A Linux VPS with at least 4 vCPU cores and 6 GB of RAM handles a standard 5v5 server without issues. The process involves installing SteamCMD, downloading the CS2 dedicated server files, generating a Game Server Login Token, and opening the correct network ports. Unlike renting a slot from a game host, a VPS gives full shell access to the server files, so configuration changes and plugin installs happen directly rather than through a limited panel. The sections below walk through each step on Ubuntu, from picking the right hardware to launching the first match.
Self-Hosted vs Managed Hosting: Contabo VPS or GPORTAL
Before touching a terminal, it is worth deciding whether self-hosting is actually the right path. A Contabo VPS hands over full administrative access to the server binary, configuration files, and plugins, but that access comes with ongoing maintenance work. GPORTAL wraps the same underlying CS2 binary in a managed panel with DDoS protection and included backups, so a server can go live without any of the steps in this guide. Reading through the trade-offs below settles which route fits before any time goes into setup.
Self-Hosted CS2 Hosting on a VPS
Running the server on a VPS means full root access to server.cfg, plugins, and startup scripts, with none of the restrictions a locked-down panel would impose. It also tends to cost less per month for the same hardware, since the price covers raw compute rather than a managed layer, and the same machine can run other services alongside the game server, such as a Discord bot or a small web dashboard for match stats. The trade-off is that updates, backups, and firewall rules all fall on the operator rather than a support team. The initial setup takes longer, since SteamCMD, the GSLT, and firewall configuration all happen manually rather than through a few clicks.
But with our guide, this might not be as easy as clicking a button, but still not that difficult.
Managed CS2 Hosting with GPORTAL
GPORTAL takes the opposite approach. A CS2 server on GPORTAL goes live in under three minutes through a web panel, with no SSH session required 50 GB of backup storage. Configuration changes happen through a browser interface, which suits players without Linux experience just as well as those who simply want less to manage. The trade-off runs the other way: slot-based pricing can cost more than a VPS for the same player count over time, deep customization is more limited than full root access since changes route through the panel’s available options, and the underlying hardware and server location are fixed to whatever GPORTAL offers in that region.
Choosing between the two comes down to how much time to invest versus how much control to keep. Anyone comfortable with Linux, or who wants to experiment with custom plugins and mods beyond what a panel exposes, gets more out of a VPS and should keep reading. Anyone who wants a server online in minutes, backed by included backups, is better served by ordering directly through GPORTAL instead.
CS2 Server Requirements
Once you decided what best suits your needs, hardware needs scale with player count and tick rate. A small Wingman or practice server runs fine on modest specs, while a 128 tick competitive server benefits from higher clock speeds and more headroom. Storage matters too, since workshop maps and demo recordings add up over time.
| Server type | Players | Tick rate | CPU | RAM | Storage |
| Wingman / small | 2-10 | 64 | 2 vCPU cores | 4 GB | 40 GB SSD |
| Standard 5v5 | 10-24 | 64-128 | 4 vCPU cores | 6-8 GB | 50 GB NVMe |
| Community / multi-instance | 24-64 | 128 | 6-8 vCPU cores | 16 GB | 80 GB NVMe |
Single-core performance matters more than core count for CS2, since the Source 2 engine leans heavily on one main thread. A VPS with fewer, faster vCPU cores usually outperforms one with more, slower cores, particularly at 128 tick where every frame counts. Budget at least 50 GB of storage, since the dedicated server install takes up roughly 40-60 GB once maps and workshop content are included. Bandwidth also plays a role: a single 128 tick slot consumes around 80-150 KB/s, so a full 10v10 server can push several megabytes per second during active play. NVMe storage speeds up map loading and workshop downloads compared to standard SSDs, which matters most on servers that rotate maps frequently.
On Contabo, the Cloud VPS Plus 4 (4 AMD EPYC vCPU cores, 8 GB RAM, 150 GB NVMe) covers a standard 64 or 128 tick 5v5 server comfortably, while the Cloud VDS S (6 dedicated cores, 24 GB RAM, 180 GB NVMe) suits a community server that needs guaranteed, noisy-neighbor-free performance for higher player counts or several instances.
Installing a CS2 Dedicated Server with SteamCMD
SteamCMD handles the download and future updates of the CS2 dedicated server files. These steps assume a fresh Ubuntu 22.04 or 24.04 VPS with SSH access and a non-root user with sudo privileges.
Preparing the VPS
Connect to the VPS over SSH and update the system first. This pulls the latest security patches before installing anything new.
sudo apt update && sudo apt upgrade -yEnable 32-bit architecture support, which SteamCMD requires even on a 64-bit Ubuntu install.
sudo dpkg --add-architecture i386 && sudo add-apt-repository multiverse && sudo apt updateInstall SteamCMD and its dependencies. The screen package keeps the server running after the SSH session closes.
sudo apt install -y lib32gcc-s1 steamcmd screenCreate a dedicated system user instead of running the server as root. Running game servers under a limited user reduces the damage a compromised process could cause.
sudo adduser --disabled-password --gecos "" csgo
sudo su - csgoDownloading the CS2 Server Files
Create an install directory first.
mkdir -p ~/cs2-serverDownload the server files with SteamCMD using an anonymous login, since CS2’s dedicated server does not require a paid Steam account. App ID 730 covers both the CS2 client and the dedicated server, since Valve publishes them under the same listing.
steamcmd +force_install_dir ~/cs2-server +login anonymous +app_update 730 validate +quitExpect the download to take 15 to 40 minutes, since the install is close to 60 GB depending on network speed. Re-run the same command later to update the server after a game patch, and add the validate flag whenever files might be corrupted or incomplete.
Generating a GSLT and Linking Steam
Open steamcommunity.com/dev/managegameservers and create a token bound to app ID 730. This Game Server Login Token identifies the server to Valve’s matchmaking and connection systems. Without it, the server starts normally but refuses public connections from outside a local network. Save the token string somewhere safe, since the launch command needs it every time the server starts.
Symlink the Steam client library so the server binary can find it.
mkdir -p ~/.steam/sdk64 && ln -s ~/cs2-server/game/bin/linuxsteamrt64/steamclient.so ~/.steam/sdk64/steamclient.soSkipping this step is only safe for private LAN testing, since public connections require both the symlink and a valid GSLT to work correctly.
Opening the Firewall Ports
Allow the main game port for both protocols.
sudo ufw allow 27015/tcp
sudo ufw allow 27015/udpAllow the SourceTV relay port as well, which handles spectating and demo relay traffic.
sudo ufw allow 27020/udpCheck the provider’s control panel for a separate network firewall or security group, since ufw alone will not open traffic blocked further upstream at the network level. Many VPS providers ship with an additional cloud firewall layer that needs matching rules before connections reach the server at all.
Launching and Keeping the Server Running
Start a persistent session so the server survives a closed SSH connection.
screen -S cs2Move into the binary directory.
cd ~/cs2-server/game/bin/linuxsteamrt64Launch the server with a starting map and the GSLT token attached.
./cs2 -dedicated +map de_dust2 -port 27015 +sv_setsteamaccount YOUR_GSLT_TOKENDetach from the session with Ctrl+A followed by D, then reattach anytime with the command below to check logs or run RCON commands.
screen -r cs2For automatic restarts after a crash or reboot, wrap the launch command in a systemd service instead of relying on screen alone, since systemd restarts the process automatically and starts the server on boot without manual intervention.
FAQ: CS2 Dedicated Server Hosting
How much does it cost to run a CS2 server?
A small VPS with 4 vCPU cores and 8 GB of RAM typically costs between 5 and 15 euros per month, depending on the provider and region. CS2 itself carries no licensing fee for dedicated servers, since Valve makes the server files available for free through SteamCMD. Bandwidth is usually included in the VPS price, though heavy 24/7 usage on a large server can approach several terabytes per month. Managed alternatives like GPORTAL charge per slot instead, which can cost more for a full server but includes support and backupspace in the price.
What ports does a CS2 dedicated server need?
The core game port is 27015, and it needs to be open for both TCP and UDP traffic. Port 27020 UDP handles SourceTV and related relay traffic and should also stay open if spectating or demo relay is needed. On Ubuntu, ufw allow 27015/tcp, ufw allow 27015/udp, and ufw allow 27020/udp cover the standard setup. Any provider-level firewall or security group in the VPS control panel needs matching rules, since ufw alone will not open traffic blocked further upstream. Skipping either layer of firewall configuration is the most common reason a freshly installed server appears offline to players.
Can I run a CS2 server on a VPS instead of renting from a game host?
Yes. CS2 server hosting on a general-purpose VPS works the same way as on a dedicated game server host, since the underlying binary and SteamCMD installation process are identical. The main differences are administrative: a VPS requires manual firewall configuration, update scheduling, and process management through screen or systemd, while a game host typically wraps those tasks in a panel. Performance is comparable as long as the VPS has enough RAM, fast single-core CPU performance, and a stable network connection to the target player base. The right choice depends mainly on how much hands-on Linux work the operator wants to take on.
