Att driva en äldre CS:GO-server som dina kompisar faktiskt kan ansluta till över internet är svårare än det ser ut. Valve frös CS:GO när CS2 lanserades, och stängde sedan av den officiella matchmakingen och serverwebbläsaren i spelet. En server du startar på vanligt sätt bootar fint, men varje kompis som försöker ansluta ser bara "connect failed after 30 retries". Den här guiden förklarar varför, och den exakta installationen som fungerar. Varje steg här testades på en riktig publik server.
Varför direktanslutning misslyckas
Två saker blockerar en äldre CS:GO-server på internet:
- Ingen GSLT. En publik CS:GO-server behöver en Game Server Login Token. Utan en säger konsolen "No Steam account token was specified. Connections will be restricted to LAN only."
- Reservationsspärren för lobbyn. Även med en token skickar CS:GO direktanslutningar genom sitt reservationssystem för matchmaking. Valve stängde av det för den frysta versionen, så servern skapar en reservation som aldrig slutförs. Det är de "30 retries" du ser.
Vad du behöver
- En maskin med en riktig publik IP (en VPS, inte en hem-PC bakom en router).
- CS:GO-serverfilerna för dedikerad server (steamcmd app 740).
- En GSLT för appen dina spelare använder: 4465480 för den fristående gratisappen CS:GO, 730 för CS2-grenen csgo_legacy. Skapa den på steamcommunity.com/dev/managegameservers.
- MetaMod:Source, SourceMod och NoLobbyReservation-pluginet.
Den fungerande installationen
- Installera med steamcmd:
+login anonymous +app_update 740 validate - Ta bort den medföljande bin/libgcc_s.so.1. Den frysta versionen levereras med en gammal kopia som går sönder på moderna Linux (servern hamnar i en kraschloop när libtier0.so laddas). Att radera den låter systembiblioteket laddas istället.
- Installera MetaMod:Source och SourceMod i modmappen csgo/, lägg sedan till NoLobbyReservation. NoLobbyReservation är det som tar bort reservationsspärren, utan det kan klienterna inte ansluta alls. Det är den enskilt viktigaste delen.
- Ställ in app-id:t efter spelarnas klient i två filer: csgo/steam.inf (raden appID=, behåll Windows-radbrytningarna) och steam_appid.txt bredvid srcds_run. Använd 4465480 för den fristående appen eller 730 för CS2-grenen csgo_legacy. steamcmd validate sätter tillbaka steam.inf till 730, så ställ in det igen före varje start.
- Lägg din GSLT i server.cfg:
sv_setsteamaccount YOUR_TOKEN - Starta på den riktiga porten:
-port 27015 +sv_lan 0. Om maskinen har mer än ett nätverksgränssnitt, lägg också till -ip med din publika adress så att servern lyssnar på rätt gränssnitt. - Kompisar ansluter från konsolen i spelet:
connect YOUR_IP:27015
Vanliga fällor
- "STEAM validation rejected" betyder att klienten och serverns app-id inte matchar. En server tar emot en klient: 4465480 för den fristående appen, 730 för CS2-grenen csgo_legacy. Kontrollera båda app-id-filerna och att GSLT:n skapades för samma app.
- En förbyggd NoLobbyReservation .smx från ett slumpmässigt repo laddas ofta inte (den är kompilerad för en annan SourceMod-version). Kompilera den på nytt mot din SourceMod.
- Att testa från samma hemnätverk som servern misslyckas även när installationen är rätt, eftersom anslutningen hårnålar av från din router. Testa från en riktig extern anslutning.
Eller hoppa över allt
Det är många rörliga delar att hålla igång på ett spel som Valve inte längre uppdaterar. På 2hours.gg kommer en CS:GO-server med token, plugins och konfiguration redan inbakat. Du driftsätter, väljer en karta, och dina kompisar ansluter till IP-adressen. Inga plugins att kompilera, ingen token att hantera. Driftsätt en CS:GO-server.
