Server di gioco a ore. Paghi solo quando giochi.

Come ospitare un server CS:GO a cui i tuoi amici possono collegarsi via internet

Ospitare un server CS:GO legacy a cui i tuoi amici possano davvero collegarsi via internet è più difficile di quanto sembri. Valve ha congelato CS:GO quando è uscito CS2, poi ha disattivato il matchmaking ufficiale e il browser dei server in gioco. Un server che avvii nel modo normale parte senza problemi, ma ogni amico che prova a connettersi vede solo "connect failed after 30 retries". Questa guida spiega perché, e la configurazione esatta che funziona. Ogni passaggio qui è stato testato su un vero server pubblico.

Perché il collegamento diretto fallisce

Due cose bloccano un server CS:GO legacy su internet:

  • Nessun GSLT. Un server CS:GO pubblico richiede un Game Server Login Token. Senza, la console dice "No Steam account token was specified. Connections will be restricted to LAN only."
  • Il blocco della prenotazione della lobby. Anche con un token, CS:GO fa passare i collegamenti diretti attraverso il suo sistema di prenotazione del matchmaking. Valve lo ha disattivato per la build congelata, quindi il server crea una prenotazione che non si completa mai. Ecco i "30 retries" che vedi.

Cosa ti serve

  • Una macchina con un vero IP pubblico (un VPS, non un PC di casa dietro un router).
  • I file del server dedicato di CS:GO (steamcmd app 740).
  • Un GSLT per l'app che usano i tuoi giocatori: 4465480 per l'app separata gratuita di CS:GO, 730 per il ramo csgo_legacy di CS2. Crealo su steamcommunity.com/dev/managegameservers.
  • MetaMod:Source, SourceMod e il plugin NoLobbyReservation.

La configurazione che funziona

  1. Installa con steamcmd: +login anonymous +app_update 740 validate
  2. Rimuovi il bin/libgcc_s.so.1 incluso. La build congelata include una vecchia copia che si rompe su Linux moderno (il server va in crash-loop caricando libtier0.so). Eliminarlo permette di caricare invece la libreria di sistema.
  3. Installa MetaMod:Source e SourceMod nella cartella mod csgo/, poi aggiungi NoLobbyReservation. NoLobbyReservation è ciò che rimuove il blocco della prenotazione: senza, i client non possono connettersi affatto. È il pezzo più importante in assoluto.
  4. Imposta l'app id sul client dei tuoi giocatori, in due file: csgo/steam.inf (la riga appID=, mantieni i fine riga di Windows) e steam_appid.txt accanto a srcds_run. Usa 4465480 per l'app separata o 730 per il ramo csgo_legacy di CS2. steamcmd validate riporta steam.inf a 730, quindi reimpostalo prima di ogni avvio.
  5. Metti il tuo GSLT in server.cfg: sv_setsteamaccount YOUR_TOKEN
  6. Avvia sulla porta reale: -port 27015 +sv_lan 0. Se la macchina ha più di un'interfaccia di rete, aggiungi anche -ip con il tuo indirizzo pubblico, così il server ascolta su quella giusta.
  7. Gli amici si connettono dalla console in gioco: connect YOUR_IP:27015

Trappole comuni

  • "STEAM validation rejected" significa che il client e l'app id del server non corrispondono. Un server accetta un solo client: 4465480 per l'app separata, 730 per il ramo csgo_legacy di CS2. Controlla entrambi i file dell'app id e che il GSLT sia stato creato per la stessa app.
  • Un .smx precompilato di NoLobbyReservation preso da un repository qualsiasi spesso non si carica (è compilato per una build di SourceMod diversa). Compilalo da zero contro il tuo SourceMod.
  • Testare dalla stessa rete di casa del server fallirà anche quando la configurazione è corretta, perché la connessione fa hairpin sul tuo router. Testa da una vera connessione esterna.

Oppure salta tutto questo

Sono tante parti in movimento da mantenere funzionanti su un gioco che Valve non aggiorna più. Su 2hours.gg un server CS:GO arriva con il token, i plugin e la configurazione già pronti. Fai il deploy, scegli una mappa, e i tuoi amici si connettono all'IP. Nessun plugin da compilare, nessun token da gestire. Fai il deploy di un server CS:GO.

← Torna a tutte le guide