Einen Legacy-CS:GO-Server zu hosten, dem deine Freunde tatsächlich über das Internet beitreten können, ist schwieriger als es aussieht. Valve hat CS:GO mit dem Start von CS2 eingefroren und dann das offizielle Matchmaking sowie den serverinternen Server-Browser abgeschaltet. Ein Server, den du auf die normale Weise aufsetzt, startet zwar problemlos, aber jeder Freund, der sich zu verbinden versucht, sieht nur "connect failed after 30 retries". Dieser Guide erklärt warum, und das genaue Setup, das funktioniert. Jeder Schritt hier wurde auf einem echten öffentlichen Server getestet.
Warum Direct Connect scheitert
Zwei Dinge blockieren einen Legacy-CS:GO-Server im Internet:
- Kein GSLT. Ein öffentlicher CS:GO-Server braucht ein Game Server Login Token. Ohne eines sagt die Konsole "No Steam account token was specified. Connections will be restricted to LAN only."
- Das Lobby-Reservierungs-Gate. Selbst mit einem Token schickt CS:GO Direct Connects durch sein Matchmaking-Reservierungssystem. Valve hat das für den eingefrorenen Build abgeschaltet, also erstellt der Server eine Reservierung, die nie abgeschlossen wird. Das sind die "30 retries", die du siehst.
Was du brauchst
- Eine Maschine mit einer echten öffentlichen IP (ein VPS, kein Heim-PC hinter einem Router).
- Die CS:GO-Dedicated-Server-Dateien (steamcmd app 740).
- Ein GSLT für app 730, von steamcommunity.com/dev/managegameservers.
- MetaMod:Source, SourceMod und das NoLobbyReservation-Plugin.
Das funktionierende Setup
- Installieren mit steamcmd:
+login anonymous +app_update 740 validate - Entferne die mitgelieferte bin/libgcc_s.so.1. Der eingefrorene Build liefert eine alte Kopie mit, die auf modernem Linux kaputtgeht (der Server läuft beim Laden von libtier0.so in eine Absturzschleife). Wenn du sie löschst, wird stattdessen die System-Bibliothek geladen.
- Installiere MetaMod:Source und SourceMod in den Mod-Ordner csgo/, dann füge NoLobbyReservation hinzu. NoLobbyReservation ist das, was das Reservierungs-Gate deaktiviert, ohne es können sich Clients überhaupt nicht verbinden. Es ist das mit Abstand wichtigste Teil.
- Trag dein GSLT in die server.cfg ein:
sv_setsteamaccount YOUR_TOKEN - Starte gebunden an alle Interfaces auf dem echten Port:
-ip 0.0.0.0 -port 27015 +sv_lan 0. Ohne -ip 0.0.0.0 kann sich der Server an localhost binden und niemand erreicht ihn. - Freunde verbinden sich über die Ingame-Konsole:
connect YOUR_IP:27015
Häufige Fallen
- "STEAM validation rejected" bedeutet, dass deine Client-Version und die Server-App-ID nicht übereinstimmen. Wenn du das eigenständige Re-Release von 2026 spielst, ist das eine separate App; halte den Server auf 730 und nutze den CS2-csgo_legacy-Beta-Branch-Client.
- Eine vorkompilierte NoLobbyReservation-.smx aus einem beliebigen Repo lädt oft nicht (sie ist für einen anderen SourceMod-Build kompiliert). Kompiliere sie frisch gegen dein SourceMod.
- Ein Test aus demselben Heimnetzwerk wie der Server scheitert selbst dann, wenn das Setup stimmt, weil die Verbindung an deinem Router zurückgeworfen wird (Hairpinning). Teste von einer echten externen Verbindung aus.
Oder spar dir das alles
Das sind viele bewegliche Teile, die man bei einem Spiel am Laufen halten muss, das Valve nicht mehr aktualisiert. Auf 2hours.gg kommt ein CS:GO-Server mit dem Token, den Plugins und der Konfiguration bereits fertig eingebaut. Du deployst, wählst eine Karte, und deine Freunde verbinden sich mit der IP. Keine Plugins zu kompilieren, kein Token zu verwalten. Einen CS:GO-Server starten.