CS2-Server erstellen: Ersteinrichtung und was 2026 aktuell noch stimmt
SteamCMD, GSLT, Sub-Tick statt 128-Tick und der Wechsel von SourceMod zu CounterStrikeSharp – was sich seit CS:GO geändert hat, und die konkreten Schritte für Windows und Linux.
Counter-Strike 2 hat CS:GO 2023 abgelöst, und ein gutes Stück der Tutorials, die du beim Googeln nach „CS2 Server erstellen" findest, ist trotzdem noch auf CS:GO-Stand, teils kopiert, teils einfach nicht aktualisiert. Zwei Beispiele, die dir noch öfter begegnen werden: SourceMod-Anleitungen, die auf CS2 schlicht nicht mehr funktionieren, und der Befehl -tickrate 128, den es zwar syntaktisch noch gibt, der aber seit CS2 keine Wirkung mehr hat. Dieser Artikel geht durch, was davon heute noch stimmt und was sich geändert hat.
Was du vor dem ersten Start klären solltest
Wo läuft der Server?
Wie bei jedem anderen Gameserver auch: eigener Root-Server, Massenhoster oder die eigene Maschine. Für einen dauerhaft laufenden, öffentlich erreichbaren Server ist ein gemieteter Server auch hier meistens die praktischere Wahl, mehr dazu in der Hoster-Übersicht.
Wie viel Leistung braucht dein Server?
CS2 ist im Vergleich zu einem vollgepackten Minecraft-Modpack-Server oder Hytale genügsam, hauptsächlich weil das Source-2-Netzwerkmodell auf schlanke, häufige Zustandsupdates statt auf große Weltdaten setzt.
| Szenario | Beispiel | RAM | CPU |
|---|---|---|---|
| Minimalbetrieb / Test | Solo oder wenige Freunde, ein Server-Prozess | 2 bis 4 GB | 2 Kerne |
| Community-Server, ein Prozess | Ein 5v5- oder Casual-Server, 10 bis 20 Spieler | 4 bis 6 GB | 2 bis 4 Kerne, hohe Singlethread-Leistung bevorzugt |
| Mehrere Server-Instanzen auf einer Maschine | Mehrere parallele Server-Prozesse, z. B. für eine kleine Liga | 8 GB+ | 4+ Kerne |
Der Speicherplatzbedarf für die reinen Serverdateien wird je nach Quelle unterschiedlich angegeben, zwischen rund 35 und 60 GB, wahrscheinlich je nachdem, ob Workshop-Inhalte und mehrere Map-Versionen mitgerechnet werden. Plane großzügig, mindestens 60 GB freien Speicher, mehr, sobald eigene Workshop-Collections dazukommen.
Steam-Account-Voraussetzungen
Für den späteren Game Server Login Token (GSLT) braucht dein Steam-Account eine verifizierte Telefonnummer, darf nicht community-gesperrt oder eingeschränkt sein, und muss CS2 selbst besitzen. Ohne das bekommst du beim Erstellen des Tokens eine Fehlermeldung, dazu gleich mehr.
Server-Dateien holen: SteamCMD
CS2 wird, wie praktisch jeder Steam-Dedicated-Server, über SteamCMD installiert, Valves eigenes Kommandozeilen-Tool für den Steam-Client. Die App-ID für den CS2-Dedicated-Server ist 730, dieselbe wie für den normalen Client, anonymer Login reicht für die Installation.
Linux
Bevor es losgeht, unter Linux lohnt sich ein eigener, unprivilegierter Nutzer statt root, üblich und in praktisch jeder seriösen Anleitung empfohlen:
sudo useradd -m -s /bin/bash steam sudo su - steam
Alle folgenden Linux-Befehle laufen dann als dieser Nutzer, nicht als root, ein kompromittiertes Plugin oder ein Bug im Server hat so deutlich weniger Schaden anrichten können.
sudo apt update sudo apt install -y software-properties-common sudo add-apt-repository multiverse sudo dpkg --add-architecture i386 sudo apt install -y steamcmd mkdir -p ~/cs2-server steamcmd +force_install_dir ~/cs2-server +login anonymous +app_update 730 validate +quit
Windows
SteamCMD als ZIP von Valve laden, entpacken, dann in der Eingabeaufforderung:
steamcmd.exe +force_install_dir C:\cs2-server +login anonymous +app_update 730 validate +quit
Rechne bei einer normalen Leitung mit 20 bis 60 Minuten, abhängig von Verbindung und Serverauslastung bei Valve. Ein Detail, das es unter CS:GO noch nicht gab: Unter Linux braucht CS2 zusätzlich einen Symlink auf steamclient.so, ohne den startet der Server nicht sauber durch, meist mit einer Fehlermeldung wie Failed to initialize Steamworks SDK for gameserver. Zielort ist zuverlässig ~/.steam/sdk64/steamclient.so, die Quelldatei liegt aber je nach Installationsmethode an unterschiedlichen Stellen, deshalb lieber suchen statt raten:
mkdir -p ~/.steam/sdk64 find ~/cs2-server -name steamclient.so
Den ersten gefundenen Pfad aus der find-Ausgabe für den Symlink verwenden:
ln -sf GEFUNDENER_PFAD/steamclient.so ~/.steam/sdk64/steamclient.so
GSLT: Voraussetzung, um im Server-Browser aufzutauchen
Ohne einen Game Server Login Token läuft dein CS2-Server effektiv im LAN-Modus, er ist zwar technisch erreichbar, taucht aber nicht im öffentlichen Server-Browser auf und ist für reguläre Client-Verbindungen von außen nicht zuverlässig nutzbar. So erstellst du einen:
steamcommunity.com/dev/managegameserversöffnen und mit dem Steam-Account einloggen, der CS2 besitzt.- Als App-ID
730eingeben, ins Memo-Feld einen Namen zur eigenen Wiedererkennung schreiben, etwa den Servernamen. - Auf „Create" klicken, den angezeigten Token kopieren und sicher aufbewahren.
Ein Token gilt jeweils für genau einen laufenden Server, betreibst du mehrere Server gleichzeitig, brauchst du entsprechend mehrere Token. Bleibt ein Token längere Zeit ungenutzt (Server dauerhaft aus), läuft er irgendwann ab und muss neu erstellt werden, eine offizielle, exakte Frist dafür nennt Valve nicht öffentlich, in der Praxis kursieren Angaben um die vier bis fünf Wochen. Den Token trägst du beim Serverstart über die Konsolen-Variable sv_setsteamaccount ein, dazu jetzt zum eigentlichen Start.
Server starten: Windows und Linux getrennt
Windows
Im Installationsordner, cs2.exe liegt unter game\bin\win64:
cs2.exe -dedicated -usercon -ip 0.0.0.0 -port 27015 +map de_dust2 +game_type 0 +game_mode 1 -maxplayers 20 +sv_setsteamaccount DEIN_GSLT_TOKEN
Für den Dauerbetrieb lohnt sich eine start.bat mit demselben Befehl, damit du nicht jedes Mal von Hand tippen musst, analog zum Vorgehen bei Minecraft oder Hytale.
Linux
Im Installationsordner, cs2.sh liegt unter game/bin/linuxsteamrt64:
cd ~/cs2-server/game/bin/linuxsteamrt64 ./cs2.sh -dedicated -usercon -ip 0.0.0.0 -port 27015 +map de_dust2 +game_type 0 +game_mode 1 -maxplayers 20 +sv_setsteamaccount DEIN_GSLT_TOKEN
Für Dauerbetrieb über eine SSH-Sitzung hinaus wieder screen oder tmux, genau wie bei Minecraft: screen -S cs2 ./cs2.sh ..., Trennen mit Strg+A dann D, zurückholen mit screen -r cs2.
In der Konsole solltest du nach dem Start VAC secure mode is activated und eine Bestätigung der GSLT-Annahme sehen. Verbinde dich danach über die Client-Konsole mit connect DEINE_IP:27015, um zu prüfen, ob alles läuft, bevor du die Adresse weitergibst.
Firewall
CS2 braucht Port 27015 für TCP und UDP, dazu bei aktiviertem SourceTV zusätzlich 27016. Willst du mehrere Server-Instanzen auf derselben Maschine betreiben, jede Instanz braucht ihren eigenen Port, üblich ist, um mindestens 2 zu erhöhen, also 27017/27018 für die zweite Instanz und so weiter.
- Windows (PowerShell als Administrator):
netsh advfirewall firewall add rule name="CS2 Server TCP" dir=in action=allow protocol=TCP localport=27015-27016 netsh advfirewall firewall add rule name="CS2 Server UDP" dir=in action=allow protocol=UDP localport=27015-27016
- Linux (ufw):
sudo ufw allow 27015:27016/tcp sudo ufw allow 27015:27016/udp
Läuft der Server im eigenen Heimnetz, entsprechend beide Protokolle auch am Router weiterleiten.
server.cfg: die wichtigsten Einstellungen
Die Konfigurationsdatei liegt unter game/csgo/cfg/server.cfg (der Ordnername csgo stammt noch aus der CS:GO-Zeit und wurde bislang nicht umbenannt). Ein paar Werte, die direkt nach dem ersten Start Sinn ergeben:
hostname "Mein CS2 Server" rcon_password "ein-sicheres-passwort" sv_password ""
sv_password bleibt für einen öffentlichen Server leer, ein gesetztes Passwort macht den Server zu einem privaten Server, dessen Passwort die Spieler vorher von dir kennen müssen.
RCON braucht keinen eigenen Port, aber einen eigenen Startparameter. Fernzugriff über rcon_password läuft über denselben Port wie der Spielserver selbst, nur über TCP statt UDP, die Firewall-Regeln aus dem vorigen Abschnitt decken das also schon ab. Der eigentliche Stolperstein, den die Startbefehle oben deshalb schon berücksichtigen: Ohne den zusätzlichen Startparameter -usercon funktioniert RCON in CS2 gar nicht erst, das ist einer der häufigsten Gründe, warum RCON-Befehle scheinbar grundlos ins Leere laufen.
Zur Tickrate, weil das der häufigste veraltete Ratschlag ist, der noch kursiert: CS2 läuft serverseitig fest auf 64 Hz, -tickrate 128 als Startparameter hat keine Wirkung mehr, Valve hat die Möglichkeit, per Kommandozeile eine höhere Tickrate zu erzwingen, mit CS2 bewusst entfernt, auch für Drittanbieter wie FACEIT. Statt einer höheren Tickrate nutzt CS2 ein sogenanntes Sub-Tick-System: Der Server zeichnet den exakten Zeitpunkt einer Spieleraktion (Schuss, Sprung, Bewegung) innerhalb eines Tick-Intervalls auf, statt sie auf den nächsten Tick aufzurunden. Das gleicht laut Valve einen Großteil der praktischen Vorteile aus, die früher für 128-Tick-Server gesprochen haben, ersetzt eine höhere Tickrate aber nicht vollständig, ein Teil der Profi-Szene empfindet reine Bewegungs- und Peek-Szenarien nach wie vor als etwas weniger knackig als auf den alten 128-Tick-FACEIT-Servern. Wer irgendwo einen Tickrate-„Booster" oder ein Tool findet, das angeblich 128 Tick freischaltet, sollte davon die Finger lassen, das sind entweder wirkungslose Placebos oder Cheat-Tools mit VAC-Ban-Risiko.
Mods und Plugins: SourceMod funktioniert nicht mehr
Der wichtigste Bruch gegenüber CS:GO: SourceMod unterstützt CS2 nicht und wird es nach aktuellem Stand auch nicht mehr tun, CS2 nutzt eine andere zugrunde liegende Engine-Struktur (Source 2 statt Source 1). Der aktuelle Plugin-Stack für CS2 heißt Metamod:Source in Kombination mit CounterStrikeSharp (CSS), geschrieben in C#/.NET statt im aus CS:GO bekannten SourcePawn. Jede Anleitung, die dir SourceMod-Installation für CS2 empfiehlt, ist veraltet oder schlicht falsch, unabhängig davon, wie neu sie aussieht. CounterStrikeSharp selbst braucht zusätzlich die .NET-Runtime (Version 8 oder neuer) auf dem Host, dafür gibt es aber einen Abkürzungsweg: Wer die „with-runtime"-Variante beim ersten Installieren herunterlädt, bekommt die passende .NET-Runtime direkt mitgeliefert und muss sie nicht separat auf dem Server installieren.
Maps aus dem Steam Workshop lassen sich über die Server-Konsole (host_workshop_collection, host_workshop_map) einbinden. Anders als bei CS:GO ist das inzwischen der einzige Weg für Custom-Maps: Das klassische FastDL-System, bei dem Clients Karten von einem eigenen Webserver statt von Valves Servern laden, wird von CS2 für Maps nicht mehr unterstützt, mehrere Hoster-Dokumentationen bestätigen das übereinstimmend. Für sonstigen Custom-Content abseits von Maps, etwa eigene Player-Modelle oder Sounds, die nicht über den Workshop laufen, gibt es weiterhin community-gebaute Drittanbieter-Tools, die eine FastDL-ähnliche Funktion nachbilden, das ist aber eine Nische, kein Standardweg mehr.
Alternative: Betrieb über Docker
Neben der klassischen Installation direkt auf dem Host betreiben mittlerweile einige Communitys ihre CS2-Instanz in einem Docker-Container, das erleichtert Updates, Isolation und den parallelen Betrieb mehrerer Server auf derselben Maschine. Ein offizielles Valve-Image gibt es dafür nicht, nur community-gepflegte Images auf Docker Hub, die SteamCMD und die Installation bereits bündeln. Grundmuster, illustrativ, kein offizielles Image:
docker run -d --name cs2server \ -p 27015:27015/tcp -p 27015:27015/udp \ -p 27016:27016/tcp -p 27016:27016/udp \ -v /srv/cs2server/config:/home/steam/cs2-dedicated/game/csgo/cfg \ -e SRCDS_TOKEN="DEIN_GSLT_TOKEN" \ IMAGE_NAME:TAG
Vor dem produktiven Einsatz unbedingt die Dokumentation des jeweils gewählten Images prüfen, Umgebungsvariablen und Pfade unterscheiden sich zwischen den Images teils deutlich.
Für die Absicherung des Root-Servers selbst, unabhängig vom eigentlichen Spiel, gilt dasselbe wie bei jedem anderen Server auch, dazu mehr in der Server-Hardening-Checkliste. Sobald mehrere Server-Instanzen oder ein größeres Team an der Verwaltung beteiligt sind, lohnt sich außerdem ein Blick in gängige CS2-Admin-Panels, das würde hier aber zu weit führen.
Lieber direkt fertig eingerichtet?
Ich installiere Server-Software, Grundkonfiguration und Portweiterleitung für dich, inklusive Funktionstest und persönlicher Einweisung — 69 €, einmalig.
Server-Setup anfragen