Herní servery na hodiny. Plať jen za to, co odehraješ.

Jak hostovat CS:GO server, na který se kamarádi připojí přes internet

Hostovat starší CS:GO server, na který se kamarádi opravdu připojí přes internet, je těžší, než to vypadá. Valve CS:GO při vydání CS2 zmrazilo, pak vyplo oficiální matchmaking a prohlížeč serverů ve hře. Server, který spustíš běžným způsobem, naběhne v pořádku, ale každý kamarád, který se zkusí připojit, uvidí jen "connect failed after 30 retries". Tento návod vysvětluje proč a ukazuje přesné nastavení, které funguje. Každý krok tady byl otestován na skutečném veřejném serveru.

Proč přímé připojení selhává

Starší CS:GO server na internetu blokují dvě věci:

  • Žádný GSLT. Veřejný CS:GO server potřebuje Game Server Login Token. Bez něj konzole hlásí "No Steam account token was specified. Connections will be restricted to LAN only."
  • Rezervační brána lobby. I s tokenem CS:GO posílá přímá připojení přes svůj rezervační systém matchmakingu. Valve to pro zmrazenou verzi vyplo, takže server vytvoří rezervaci, která se nikdy nedokončí. To je oněch "30 retries", které vidíš.

Co potřebuješ

  • Stroj se skutečnou veřejnou IP (VPS, ne domácí PC za routerem).
  • Soubory dedikovaného serveru CS:GO (steamcmd app 740).
  • GSLT pro aplikaci, kterou hráči používají: 4465480 pro bezplatnou samostatnou aplikaci CS:GO, 730 pro větev csgo_legacy v CS2. Vytvoř ho na steamcommunity.com/dev/managegameservers.
  • MetaMod:Source, SourceMod a plugin NoLobbyReservation.

Funkční nastavení

  1. Nainstaluj přes steamcmd: +login anonymous +app_update 740 validate
  2. Odeber přibalený bin/libgcc_s.so.1. Zmrazená verze přináší starou kopii, která se na moderním Linuxu rozbíjí (server se zacyklí při pádu během načítání libtier0.so). Jeho smazání umožní načíst místo něj systémovou knihovnu.
  3. Nainstaluj MetaMod:Source a SourceMod do složky módu csgo/, pak přidej NoLobbyReservation. NoLobbyReservation je to, co ruší rezervační bránu, bez něj se klienti vůbec nepřipojí. Je to ten úplně nejdůležitější kus.
  4. Nastav app id podle klienta hráčů ve dvou souborech: csgo/steam.inf (řádek appID=, zachovej windowsové konce řádků) a steam_appid.txt vedle srcds_run. Použij 4465480 pro samostatnou aplikaci nebo 730 pro větev csgo_legacy v CS2. steamcmd validate vrací steam.inf na 730, takže ho nastav znovu před každým spuštěním.
  5. Vlož svůj GSLT do server.cfg: sv_setsteamaccount YOUR_TOKEN
  6. Spusť na skutečném portu: -port 27015 +sv_lan 0. Pokud má stroj víc síťových rozhraní, přidej i -ip se svou veřejnou adresou, aby server poslouchal na tom správném.
  7. Kamarádi se připojí z konzole ve hře: connect YOUR_IP:27015

Časté pasti

  • "STEAM validation rejected" znamená, že klient a app id serveru nesedí. Server přijímá jeden klient: 4465480 pro samostatnou aplikaci, 730 pro větev csgo_legacy v CS2. Zkontroluj oba soubory s app id a že GSLT byl vytvořen pro stejnou aplikaci.
  • Předkompilovaný NoLobbyReservation .smx z náhodného repozitáře se často nenačte (je zkompilovaný pro jiný build SourceMod). Zkompiluj ho čerstvě proti svému SourceMod.
  • Testování ze stejné domácí sítě jako server selže, i když je nastavení správné, protože se připojení odrazí (hairpin) od tvého routeru. Testuj ze skutečného vnějšího připojení.

Nebo to celé přeskoč

Je to spousta pohyblivých částí, které musíš udržovat funkční u hry, kterou Valve už neaktualizuje. Na 2hours.gg přichází CS:GO server s tokenem, pluginy a konfigurací už zabudovanými. Nasadíš, vybereš mapu a kamarádi se připojí na IP. Žádné pluginy ke kompilaci, žádný token ke správě. Nasaď server CS:GO.

← Zpět na všechny návody