Serwery gier na godziny. Płać tylko, gdy grasz.

Jak postawić serwer CS:GO, do którego znajomi dołączą przez internet

Postawienie serwera legacy CS:GO, do którego znajomi faktycznie dołączą przez internet, jest trudniejsze, niż się wydaje. Valve zamroziło CS:GO wraz z premierą CS2, a potem wyłączyło oficjalny matchmaking i przeglądarkę serwerów w grze. Serwer uruchomiony w zwykły sposób startuje bez problemu, ale każdy znajomy, który próbuje się połączyć, widzi tylko "connect failed after 30 retries". Ten przewodnik wyjaśnia dlaczego oraz pokazuje dokładną konfigurację, która działa. Każdy krok tutaj przetestowano na prawdziwym publicznym serwerze.

Dlaczego bezpośrednie połączenie zawodzi

Dwie rzeczy blokują serwer legacy CS:GO w internecie:

  • Brak GSLT. Publiczny serwer CS:GO potrzebuje Game Server Login Token. Bez niego konsola pisze "No Steam account token was specified. Connections will be restricted to LAN only."
  • Bramka rezerwacji lobby. Nawet z tokenem CS:GO przepuszcza bezpośrednie połączenia przez swój system rezerwacji matchmakingu. Valve wyłączyło go dla zamrożonej wersji, więc serwer tworzy rezerwację, która nigdy się nie kończy. To właśnie te "30 retries", które widzisz.

Czego potrzebujesz

  • Maszyny z prawdziwym publicznym IP (VPS, nie domowy PC za routerem).
  • Plików serwera dedykowanego CS:GO (steamcmd app 740).
  • GSLT dla aplikacji twoich graczy: 4465480 dla darmowej samodzielnej aplikacji CS:GO, 730 dla gałęzi csgo_legacy w CS2. Utwórz go na steamcommunity.com/dev/managegameservers.
  • MetaMod:Source, SourceMod oraz wtyczki NoLobbyReservation.

Działająca konfiguracja

  1. Zainstaluj przez steamcmd: +login anonymous +app_update 740 validate
  2. Usuń dołączony plik bin/libgcc_s.so.1. Zamrożona wersja dostarcza starą kopię, która nie działa na nowoczesnym Linux (serwer wpada w pętlę awarii przy ładowaniu libtier0.so). Usunięcie go pozwala załadować bibliotekę systemową.
  3. Zainstaluj MetaMod:Source i SourceMod do folderu moda csgo/, a potem dodaj NoLobbyReservation. To NoLobbyReservation zdejmuje bramkę rezerwacji, bez niego klienci w ogóle się nie połączą. To najważniejszy element.
  4. Ustaw app id zgodnie z klientem graczy w dwóch plikach: csgo/steam.inf (linia appID=, zachowaj windowsowe końce linii) i steam_appid.txt obok srcds_run. Wpisz 4465480 dla samodzielnej aplikacji albo 730 dla gałęzi csgo_legacy w CS2. steamcmd validate przywraca steam.inf do 730, więc ustawiaj go przed każdym startem.
  5. Wpisz swój GSLT w server.cfg: sv_setsteamaccount YOUR_TOKEN
  6. Uruchom na właściwym porcie: -port 27015 +sv_lan 0. Jeśli maszyna ma więcej niż jeden interfejs sieciowy, dodaj też -ip z publicznym adresem, żeby serwer nasłuchiwał na właściwym.
  7. Znajomi łączą się z konsoli w grze: connect YOUR_IP:27015

Częste pułapki

  • "STEAM validation rejected" oznacza, że klient i app id serwera się nie zgadzają. Serwer przyjmuje jeden klient: 4465480 dla samodzielnej aplikacji, 730 dla gałęzi csgo_legacy w CS2. Sprawdź oba pliki z app id i czy GSLT utworzono dla tej samej aplikacji.
  • Gotowy plik NoLobbyReservation .smx z losowego repozytorium często się nie załaduje (jest skompilowany dla innej wersji SourceMod). Skompiluj go od nowa pod swój SourceMod.
  • Testowanie z tej samej sieci domowej co serwer zawiedzie nawet przy poprawnej konfiguracji, bo połączenie zawraca na twoim routerze. Testuj z prawdziwego połączenia z zewnątrz.

Albo pomiń to wszystko

To mnóstwo ruchomych części do utrzymania w grze, której Valve już nie aktualizuje. Na 2hours.gg serwer CS:GO ma token, wtyczki i konfigurację już wbudowane. Uruchamiasz, wybierasz mapę, a znajomi łączą się przez IP. Żadnych wtyczek do kompilowania, żadnego tokenu do zarządzania. Uruchom serwer CS:GO.

← Wróć do wszystkich przewodników