Ö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.

Info
Zuletzt geprüft am 29.07.2026 gegen die offizielle Valve-Dokumentation zum CS2 Dedicated Server sowie die Metamod:Source- und CounterStrikeSharp-Dokumentation. Ports, App-ID und Startparameter entsprechen dem aktuellen Stand.

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
Tipp
Lege für den Server einen eigenen Benutzer an (z. B. 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.

ServertypRAMHinweis
Reiner Match-/Comp-Server2–4 GBstarke CPU-Single-Thread-Leistung
Mit Plugins + GOTV4–8 GBz. B. Practice, Retake
Community mit vielen Plugins8 GB+dedizierte Maschine empfohlen
Tipp
Alternative ohne eigene Einrichtung: Ein gemieteter CS2-Gameserver ist bereits installiert und lässt sich ohne Linux- oder SteamCMD-Kenntnisse verwalten. Wer nur spielen will, spart sich damit den ganzen Einrichtungsteil.

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:

Modusgame_typegame_mode
Competitive01
Casual00
Wingman02
Deathmatch12

-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
Achtung
Vergib ein eigenes, langes 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:

  1. Metamod:Source v2 herunterladen und den addons-Ordner nach game/csgo/ entpacken.
  2. In der gameinfo.gi unter der Zeile Game_LowViolence csgo_lv eine neue Zeile ergänzen: Game csgo/addons/metamod.
  3. CounterStrikeSharp entpacken und dessen addons-Ordner mit dem vorhandenen zusammenführen.
  4. 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.

Achtung
Ein CS2-Update kann die 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

ProblemUrsache & Lösung
Server nicht in der ServerlisteGSLT 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 nichtUpdate hat die gameinfo.gi zurückgesetzt oder die Plugin-Version passt nicht zur neuen CS2-Version
Ruckeln, hohe LatenzCPU 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