Öffentliche Matchmaking-Server tun ihren Dienst – bis du eigene Practice-Routinen, ein Retake-Setup oder einfach Ruhe vor Fremden willst. Dann lohnt sich ein eigener CS2-Server. Diese Anleitung deckt beides ab: Windows und Linux, von der SteamCMD-Installation über GSLT, Ports und server.cfg bis zu Plugins, Auto-Updates und Fehlerbehebung.
Was du brauchst
- Windows oder Linux (Ubuntu/Debian) mit SteamCMD
- Mindestens 65 GB freien Speicher; für Updates, Logs, Plugins und Backups plane lieber 80 GB oder mehr ein
- 2 GB RAM reichen für einen reinen Match-Server; mit Plugins und GOTV solltest du mehr einplanen
- Ein GSLT (Game Server Login Token) von Steam, sonst bleibt der Server privat
- Port 27015/UDP (Spiel) und 27015/TCP (RCON) offen; 27020/UDP nur für GOTV/SourceTV
Das GSLT-Token zuerst
Ohne Login-Token taucht dein Server in keiner Serverliste auf – das ist die häufigste Stolperfalle, deshalb erledigen wir es gleich am Anfang. Geh auf steamcommunity.com/dev/managegameservers, erstelle ein Token mit der App-ID 730 und kopier dir den Code weg. Er wandert später als +sv_setsteamaccount ins Startskript.
Behandle das Token wie ein Passwort. Es hängt an deinem Steam-Account, und wenn es öffentlich kursiert und missbraucht wird, sperrt Valve es.
SteamCMD installieren
SteamCMD lädt und aktualisiert die Serverdateien. Die Installation unterscheidet sich je nach System.
Windows
Lade steamcmd.zip von Valve herunter, entpacke es in einen eigenen Ordner (z. B. C:\steamcmd) und starte steamcmd.exe einmal, damit es sich selbst aktualisiert.
Ubuntu / Debian
SteamCMD ist 32-Bit, deshalb brauchst du die passende Bibliothek. Danach lädst du es direkt von Valve:
sudo apt update
sudo apt install -y lib32gcc-s1 curl
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
./steamcmd.sh +quit
cs2) und arbeite nicht als root. Das erhöht die Sicherheit und macht den späteren systemd-Autostart sauberer.Serverdateien herunterladen (App 730)
CS2 läuft unter der App-ID 730. Der Download ist bei beiden Systemen fast identisch.
Windows:
steamcmd +force_install_dir C:\cs2-server +login anonymous +app_update 730 validate +quit
Linux:
./steamcmd.sh +force_install_dir ~/cs2-server +login anonymous +app_update 730 validate +quit
Rechne mit rund 40 GB Download (auf der Platte belegt CS2 danach mehr, daher die 65 GB) und 20 bis 60 Minuten, je nach Leitung.
Wie viel Hardware?
CS2 hängt vor allem an der Single-Thread-Leistung deiner CPU und an einer stabilen Anbindung – Kernanzahl ist zweitrangig, die Tickrate will gehalten werden.
| Servertyp | RAM | Hinweis |
|---|---|---|
| Reiner Match-/Comp-Server | 2–4 GB | starke CPU-Single-Thread-Leistung |
| Mit Plugins + GOTV | 4–8 GB | z. B. Practice, Retake |
| Community mit vielen Plugins | 8 GB+ | dedizierte Maschine empfohlen |
Server starten
Der Startbefehl ist auf beiden Systemen fast gleich – nur der Pfad zur ausführbaren Datei unterscheidet sich. Lege ihn als Startskript an, dann musst du ihn nicht jedes Mal tippen.
Windows – start.bat:
game\bin\win64\cs2.exe -dedicated -console -usercon +map de_dust2 +game_type 0 +game_mode 1 +sv_setsteamaccount DEIN_GSLT +rcon_password DEIN_RCON_PW
Linux – start.sh:
#!/bin/bash
cd ~/cs2-server
./game/bin/linuxsteamrt64/cs2 -dedicated -console -usercon +map de_dust2 +game_type 0 +game_mode 1 +sv_setsteamaccount DEIN_GSLT +rcon_password DEIN_RCON_PW
Danach unter Linux ausführbar machen: chmod +x start.sh.
Welcher Modus läuft, entscheidet die Kombination aus game_type und game_mode:
| Modus | game_type | game_mode |
|---|---|---|
| Competitive | 0 | 1 |
| Casual | 0 | 0 |
| Wingman | 0 | 2 |
| Deathmatch | 1 | 2 |
-usercon schaltet RCON frei, +rcon_password setzt das Passwort dazu. Damit verwaltest du den Server später aus der Ferne, ohne selbst davorzusitzen.
Ports freigeben
Für den Spielbetrieb muss 27015/UDP offen sein, für RCON zusätzlich 27015/TCP, und 27020/UDP nur bei GOTV.
Windows: Eingehende Regeln in der Windows-Firewall für die genannten Ports anlegen.
Linux (ufw):
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27020/udp
Beim Hosten daheim kommt die Portweiterleitung im Router dazu – ohne sie ist der Server von außen nicht erreichbar.
Verbinden und testen
Öffne in CS2 die Konsole und verbinde dich direkt:
connect DEINE_IP:27015
Klappt das und der Server erscheint zusätzlich im Community-Browser, sind Token und Ports richtig gesetzt. Wenn du dich aus demselben Netzwerk über die öffentliche IP verbindest und es nicht geht, liegt das meist an fehlendem NAT-Loopback im Router – teste dann mit der lokalen IP.
Die server.cfg – zum Kopieren
Die dauerhaften Einstellungen kommen in die game/csgo/cfg/server.cfg. Sie wird bei jedem Kartenstart automatisch geladen. Eine solide Grundkonfiguration:
hostname "Mein CS2 Server"
sv_password "" // leer = öffentlich, Wert setzen für privat
rcon_password "GEHEIM" // langes, eigenes Passwort verwenden
sv_lan 0
sv_cheats 0
mp_autoteambalance 1
mp_friendlyfire 1
mp_maxrounds 24
mp_roundtime 1.92
mp_freezetime 15
sv_hibernate_when_empty 1 // spart Ressourcen, wenn niemand spielt
rcon_password und teile es niemals. Ein schwaches RCON-Passwort ist eine offene Tür zur Serverkontrolle. Über RCON verbindest du dich in der Client-Konsole mit rcon_password DEIN_PW und sendest dann Befehle mit rcon <befehl>.Servername und Passwort ändern
Beides steckt in der server.cfg: hostname für den angezeigten Namen, sv_password für ein Beitrittspasswort (leer lassen für öffentlich). Änderungen greifen beim nächsten Kartenwechsel oder nach exec server.cfg in der Konsole.
Bots hinzufügen oder entfernen
Praktisch zum Testen oder für Übungsserver. Per Konsole oder in der server.cfg:
bot_quota 6 // Zielanzahl Bots
bot_difficulty 2 // 0 (leicht) bis 3 (schwer)
bot_add_ct // einen Bot ins CT-Team
bot_add_t // einen Bot ins T-Team
bot_kick // alle Bots entfernen
Startmap und Spielmodus ändern
Die Startmap legst du über +map im Startskript fest. Im laufenden Betrieb wechselst du mit changelevel de_mirage. Den Modus steuerst du über game_type/game_mode (siehe Tabelle oben) – am einfachsten direkt im Startskript.
Workshop-Maps installieren
CS2 lädt Community-Maps direkt aus dem Steam Workshop. Die Workshop-ID findest du in der URL der Map. Zum Starten mit einer Workshop-Map:
+host_workshop_map 1234567890
Im laufenden Betrieb funktioniert das ebenso über die Konsole. Für ganze Kartenrotationen aus einer Workshop-Collection nutzt du host_workshop_collection.
Plugins: Metamod und CounterStrikeSharp
Wer mehr will als Vanilla – Practice-Tools, Retake-Logik, Ranglisten – kommt an zwei Bausteinen nicht vorbei: Metamod:Source v2 als Unterbau und CounterStrikeSharp, das darauf eine C#-Ebene (.NET 8) legt. So läuft die Installation:
- Metamod:Source v2 herunterladen und den
addons-Ordner nachgame/csgo/entpacken. - In der
gameinfo.giunter der ZeileGame_LowViolence csgo_lveine neue Zeile ergänzen:Game csgo/addons/metamod. - CounterStrikeSharp entpacken und dessen
addons-Ordner mit dem vorhandenen zusammenführen. - Danach reicht es, kompatible Plugins als Ordner ins Plugin-Verzeichnis zu legen.
Server automatisch aktualisieren
Nach jedem CS2-Update solltest du die Serverdateien nachziehen. Am einfachsten über ein kleines Update-Skript, das denselben app_update-Befehl ausführt:
Windows – update.bat:
steamcmd +force_install_dir C:\cs2-server +login anonymous +app_update 730 +quit
Linux:
~/steamcmd/steamcmd.sh +force_install_dir ~/cs2-server +login anonymous +app_update 730 +quit
Lass das Skript vor jedem Start laufen oder per Cron/Aufgabenplanung nachts.
gameinfo.gi überschreiben – dann ist die Metamod-Zeile weg und deine Plugins laden nicht mehr. Nach größeren Updates die Zeile Game csgo/addons/metamod kurz prüfen und bei Bedarf neu einfügen.Server nach Neustart automatisch starten
Linux (systemd) ist der saubere Weg. Lege /etc/systemd/system/cs2.service an:
[Unit]
Description=CS2 Dedicated Server
After=network.target
[Service]
Type=simple
User=cs2
WorkingDirectory=/home/cs2/cs2-server
ExecStart=/home/cs2/cs2-server/game/bin/linuxsteamrt64/cs2 -dedicated -console -usercon +map de_dust2 +game_type 0 +game_mode 1 +sv_setsteamaccount DEIN_GSLT +rcon_password DEIN_RCON_PW
Restart=on-failure
[Install]
WantedBy=multi-user.target
Aktivieren und starten:
sudo systemctl daemon-reload
sudo systemctl enable --now cs2
Windows: Dieselbe Aufgabe übernimmt die Aufgabenplanung – lege eine Aufgabe an, die start.bat „Beim Start" ausführt.
Fehlerbehebung
| Problem | Ursache & Lösung |
|---|---|
| Server nicht in der Serverliste | GSLT fehlt/ungültig oder Port 27015 nicht als UDP offen bzw. nicht weitergeleitet |
| Fehler „No Steam logon" | GSLT abgelaufen oder gesperrt – neues Token mit App-ID 730 erstellen |
| Verbindung über öffentliche IP scheitert (gleiches Netz) | fehlendes NAT-Loopback im Router – mit lokaler IP verbinden oder Loopback aktivieren |
| Metamod/CounterStrikeSharp lädt nach Update nicht | Update hat die gameinfo.gi zurückgesetzt oder die Plugin-Version passt nicht zur neuen CS2-Version |
| Ruckeln, hohe Latenz | CPU zu schwach im Single-Thread oder die Anbindung ist überlastet |
FAQ
Brauche ich ein GSLT für einen CS2-Server? Für einen öffentlichen Server ja. Das Token ist kostenlos, wird unter steamcommunity.com/dev/managegameservers mit App-ID 730 erstellt und per +sv_setsteamaccount übergeben.
Läuft ein CS2-Server unter Windows und Linux? Ja, beide werden unterstützt. Die Serverdateien lädst du in beiden Fällen über SteamCMD (App 730); nur der Pfad zur ausführbaren Datei und die Firewall-Konfiguration unterscheiden sich.
Wie viel Speicherplatz braucht ein CS2-Server? Mindestens 65 GB laut Valve; mit Platz für Updates, Logs, Plugins und Backups sind 80 GB oder mehr sinnvoll.
Welchen Port nutzt CS2? 27015/UDP fürs Spiel, 27015/TCP für RCON, 27020/UDP nur bei GOTV.
Wie installiere ich Plugins? Erst Metamod:Source v2, dann CounterStrikeSharp – danach lädst du einzelne Plugins einfach in den Plugin-Ordner.
Wie viel RAM braucht ein CS2-Server? Ein reiner Match-Server läuft schon mit 2 bis 4 GB. Mit Plugins und GOTV plan lieber 4 bis 8 GB ein.
Nächste Schritte
- Lieber Survival mit eigenem Server? Rust Server erstellen
- Oder Sandbox statt Shooter: Minecraft Server erstellen
- Du möchtest SteamCMD, Portfreigaben und Updates nicht selbst verwalten? Dann kannst du bei DeinServerHost einen CS2-Server mieten, der direkt über das Gameserver-Panel eingerichtet und verwaltet wird.