CS2 / CSGO Source 2 dedicated server: full installation

calendar_month May 08, 2026 schedule 7 min read visibility 16 views
person
Valebyte Team
CS2 / CSGO Source 2 dedicated server: full installation
To run a stable CS2 VPS server for 10–12 players, you need a server with at least 2 CPU cores (3.0 GHz+), 4 GB RAM, and 50 GB of free NVMe SSD space — this configuration will ensure stable sub-tick and no lag at a cost starting from $12–15 per month.

Minimum and recommended requirements for a CS2 VPS server

Choosing hardware for a CS2 dedicated server is fundamentally different from the requirements of the old CS:GO. The Source 2 engine is more demanding on RAM and multi-threading, although single-core processor performance (IPC) remains the deciding factor in preventing "var" spikes and ping jumps.

Why CPU frequency is more important than core count

Even though Source 2 distributes the load better, the main game loop still heavily depends on one primary thread. If you rent a CS:GO server VPS with a low clock speed (for example, old Intel Xeon E5), you will find that the server cannot process packets from players in time, even if CPU usage in monitoring does not exceed 40%. For a smooth experience, look for plans with Ryzen 7000 series processors or modern Intel Gold/Platinum CPUs.

RAM and disk subsystem

A clean installation of Counter-Strike 2 takes about 35–40 GB. However, considering logs, custom Workshop maps, and plugins, we recommend allocating at least 60–80 GB of NVMe SSD space. Using an HDD is out of the question: it will cause freezes when new players connect or during map changes. As for RAM, 4 GB is the absolute minimum for a Linux server without a GUI. If you plan to install SourceMod CS2 (Metamod + CounterStrikeSharp), it is better to aim for 8 GB.

Parameter Minimum (5x5 Mix) Recommended (20+ Public) PRO / FACEIT style
CPU Cores 2 vCPU (3.0+ GHz) 4 vCPU (3.5+ GHz) 6+ vCPU (4.0+ GHz)
RAM 4 GB 8 GB 16 GB
Disk (NVMe) 50 GB 100 GB 200 GB
OS Ubuntu 22.04 LTS Ubuntu 22.04 / Debian 12 Debian 12 (Minimal)

When choosing a host, it is important to consider network connectivity. If your audience is in the CIS, it is optimal to choose locations in Germany, the Netherlands, or Poland. In the article Vultr vs Valebyte: VPS hosting with minimal latency, we analyzed in detail how routing affects the gaming experience.

Step-by-step installation of SteamCMD and Counter-Strike 2 server on Linux

The standard SteamCMD utility is used to manage a Counter-Strike 2 server. We strongly recommend against running the server as the root user for security reasons. Create a separate system user.

Environment preparation and dependencies

Before installation, you need to update the repositories and install the libraries required for Steam's 32-bit applications and the Source 2 engine itself.

sudo apt update && sudo apt upgrade -y
sudo apt install software-properties-common
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 screen tar curl -y

Create a user and switch to their home directory:

sudo useradd -m -s /bin/bash cs2server
sudo passwd cs2server
su - cs2server

Downloading server files via SteamCMD

Download and extract SteamCMD. After that, start the game file download process. Note that the AppID for the CS2 Dedicated Server is 730 (the same as it was for CS:GO).

mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +force_install_dir ~/cs2_server +login anonymous +app_update 730 validate +quit

The validation process can take 10–20 minutes depending on the internet connection speed on your VPS. If the download is interrupted, simply run the command again.

Looking for a reliable server for your projects?

VPS from $10/mo and dedicated servers from $9/mo with NVMe, DDoS protection, and 24/7 support.

View offers →

Configuring launch parameters and srcds_run in Source 2

In CS2, the folder structure has changed. The executable file is now located at ~/cs2_server/game/bin/linux64/cs2. Unlike the old CS:GO server VPS, the srcds_run script is no longer the primary launch method, although many still use wrappers out of habit.

Creating the start.sh launch script

For easy management, create a start.sh file in the server's root folder. This will allow you to run the server in the background using screen.

#!/bin/bash
# Path to the executable
CDIR='/home/cs2server/cs2_server/game/bin/linux64'
# Launch parameters
$CDIR/cs2 -dedicated \
 -console \
 -usercon \
 +game_type 0 \
 +game_mode 1 \
 +map de_dust2 \
 +ip 0.0.0.0 \
 -port 27015 \
 -maxplayers 12 \
 +sv_setsteamaccount YOUR_GSLT_TOKEN

Let's break down the important parameters:

  • -dedicated: starts the server in console mode.
  • +sv_setsteamaccount: your GSLT token, without which the server will not be visible in the global search. You can get it in the Steam Game Server Account Management.
  • -port 27015: the standard port. Don't forget to open it in the firewall (UDP).

If you are looking for cheaper hosting options than the major clouds, check out the article Hetzner alternative: 5 cheaper hostings, which features platforms with excellent ping for game servers.

Installing MetaMod and plugins for SourceMod CS2

Currently, the classic SourceMod CS2 is in deep development because Source 2 uses completely different hooks and event systems. Instead, the community has moved to the combination of Metamod:Source 2.0 and CounterStrikeSharp.

Installing Metamod:Source

  1. Download the latest version of Metamod for Linux from the official website.
  2. Extract the archive into the ~/cs2_server/game/csgo/ folder.
  3. Edit the gameinfo.gi file so the engine loads Metamod. In the GameSearchPaths section, add the line: Game csgo/addons/metamod.

CounterStrikeSharp — a modern alternative

CounterStrikeSharp allows you to write plugins in C#, which is much more performant and convenient than the old SourcePawn. This is critical for high-load CS2 dedicated servers.

# Example folder structure after installation
/game/csgo/addons/metamod
/game/csgo/addons/counterstrikesharp/plugins

To configure admin rights, the admins.json file is now used, where the SteamID64 and access level are specified. This is much more flexible than the old admins_simple.ini.

How to run a FACEIT/ESEA-style server on your VPS

To organize competitive matches (5x5) with automatic knife rounds, pauses, and demo recording, the standard config is not enough. You will need the MatchZy plugin.

Configuring MatchZy

MatchZy is a modern alternative to Get5. It provides full control over the match via chat commands (.ready, .pause, .stop).

  • Automatic GOTV demo recording.
  • Configuration of "sub-tick" parameters for maximum hit registration.
  • Discord integration via webhooks for match start notifications.

Unlike setting up a Minecraft Java server on a VPS, where the main load falls on RAM, in CS2 MatchZy will actively use the CPU to calculate grenade trajectories and precise hits in real-time. Therefore, for PRO servers, we recommend using dedicated threads (VDS) without overselling.

Optimizing network parameters

In CS2, there is no longer a concept of "128 tick" in the classic sense, as the system works on sub-tick. However, the network packet update frequency is still important. Add the following lines to server.cfg:

sv_minrate 196608
sv_maxrate 786432
sv_parallel_sendsnapshot 1
sv_clock_correction 0
mm_dedicated_force_proxy_threshold 0

Choosing a geo for 30ms ping and attack protection

For a CS2 VPS server, UDP flood protection is critical. Most standard VPS providers cannot handle attacks exceeding 10 Gbps. When choosing a provider, make sure they have specialized Game protection (e.g., Voxility or similar).

Location recommendations:

  • Frankfurt / Warsaw: Ideal for players from Central and Eastern Europe (ping 15–30 ms).
  • Helsinki / Stockholm: The best choice for residents of the Baltics and Northern Europe.
  • Kazakhstan / Novosibirsk: For players from Central Asia and Siberia.

If you plan to scale your project and move from cloud solutions to "bare metal," check out our comparison AWS EC2 alternative for backend. Many principles of saving on traffic and resources are also applicable to game hosting.

Monitoring and update automation

Valve releases updates for CS2 quite frequently, and the server requires a restart to apply them. Using automation scripts will save you hours of manual labor.

Auto-update script

You can add a simple check to cron that compares the local server version with the version in the Steam API. However, the easiest way is to use LinuxGSM (Linux Game Server Managers). This is a powerful tool that handles installation, backups, monitoring, and alerts in Telegram/Discord.

# Installing LinuxGSM for CS2
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh cs2server
./cs2server install

LinuxGSM will automatically configure all dependencies and create convenient commands like ./cs2server update and ./cs2server monitor.

Conclusions

To run a high-quality CS2 VPS server, choose plans with a high CPU frequency (from 3.5 GHz) and NVMe drives in locations with a minimum number of hops to the players. The optimal choice for a start is Ubuntu 22.04 LTS with Metamod and CounterStrikeSharp installed for flexible gameplay management.

Ready to choose a server?

VPS and dedicated servers in 72+ countries with instant activation and full root access.

Start now →

Share this post:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.