Vai al contenuto
Garry's Mod

Installare un server Garry's Mod

Il server dedicato di Garry's Mod si installa con SteamCMD (app 4020, login anonimo) e si avvia con srcds_run (Linux) o srcds.exe (Windows). Prevedi circa 30 minuti, una VPS o un PC e un token server GSLT, obbligatorio secondo la wiki Facepunch. Fonte principale: wiki.facepunch.com/gmod.

Ultimo aggiornamento: 09/10/2026

Il server dedicato di Garry's Mod si installa con SteamCMD (app 4020, login anonimo) e si avvia con srcds_run (Linux) o srcds.exe (Windows). Prevedi circa 30 minuti, una VPS o un PC e un token server GSLT, obbligatorio secondo la wiki Facepunch. Fonte principale: wiki.facepunch.com/gmod.

Installazione passo dopo passo

  1. Scegli la macchina: VPS Linux (Ubuntu/Debian) o PC Windows; il carico dipende soprattutto da addon e modalità.

  2. Crea un utente non root (steam) e installa SteamCMD con le librerie a 32 bit.

  3. Scarica il server: app_update 4020 validate con login anonimo.

  4. Crea un token GSLT (AppID 4000) su steamcommunity.com/dev/managegameservers.

  5. Genera la riga di avvio con lo strumento «Comando di avvio di Garry's Mod» e avvia srcds_run.

  6. Configura garrysmod/cfg/server.cfg con lo strumento «Generatore di server.cfg per Garry's Mod».

  7. Aggiungi gli addon con una collezione Workshop (+host_workshop_collection).

  8. Apri le porte (almeno 27015 UDP/TCP) in ufw, presso il provider e nel router.

  9. Prova in locale (connect 127.0.0.1 nella console di gioco) e poi da un'altra connessione.

  10. Crea un servizio systemd e pianifica aggiornamenti e backup.

Prerequisiti

  • Sistema: Linux (Ubuntu/Debian) o Windows. La wiki Facepunch fornisce i comandi Windows e Linux.
  • Risorse: la wiki non fissa minimi. Parti da 2 vCPU, 4 GB di RAM e diversi GB di disco, poi adatta ad addon e giocatori (non documentato ufficialmente).
  • Account: un account Steam per il token GSLT (AppID 4000); il server si installa con login anonimo.

Installazione locale su Windows

Dopo aver decompresso SteamCMD in C:\steamcmd, installa il server e avvia srcds.exe (esempio della wiki Facepunch). Poi prova con connect 127.0.0.1 nella console di gioco.

cd C:\steamcmd
steamcmd +force_install_dir C:\gmodds +login anonymous +app_update 4020 validate +quit

cd C:\gmodds
srcds.exe -console -game garrysmod +maxplayers 20 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN

VPS Linux: utente e dipendenze

Il server Source è un programma a 32 bit: abilita l'architettura i386 e installa le librerie a 32 bit. I pacchetti vengono dalla wiki di Team Fortress (stesso motore); i nomi possono variare secondo la distribuzione.

sudo adduser steam
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 lib32z1 steamcmd
su - steam

VPS Linux: installazione e primo avvio

Comando di installazione Linux dalla wiki Facepunch, poi avvio con srcds_run. La pagina non dettaglia porte né la posizione esatta di server.cfg; valgono i valori standard Source (vedi sotto).

steamcmd +login anonymous +force_install_dir /home/steam/gmodds +app_update 4020 validate +quit

cd /home/steam/gmodds
./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN

Workshop e token GSLT

Secondo la wiki Facepunch, +sv_setsteamaccount è obbligatorio (senza penalizza il ranking del server) e +host_workshop_collection aggiunge gli addon di una collezione pubblica o non in elenco, sotto-collezioni incluse. host_workshop_autoupdate 0 ferma gli aggiornamenti automatici ma può impedire l'accesso ai giocatori se la versione della mappa è obsoleta. La wiki cita anche un nuovo formato cfg/srcds_workshop_ids.txt (versione 2026.09.22 o successiva): vedi la pagina «Workshop for Dedicated Servers». Per i download lato giocatori, vedi lo strumento «Gestore collezione Workshop».

./srcds_run -game garrysmod -console +maxplayers 32 +gamemode sandbox +map gm_construct \
  +host_workshop_collection 123456789 \
  +sv_setsteamaccount YOUR_GSLT_TOKEN

Porte da aprire e firewall Linux (ufw)

Queste porte sono i valori standard dei server Source (la pagina consultata della wiki Facepunch non le elenca). Per cambiare la porta di gioco usa -port N nella riga di avvio. Gli addon Workshop si scaricano via Steam: nessuna porta extra lato giocatore è documentata.

Apri solo ciò che serve e prova da un'altra connessione (non dal server stesso).

  • 27015/udp: gioco (porta Source predefinita)
  • 27015/tcp: RCON
  • 27005/udp: comunicazione client
  • 27020/udp: SourceTV (opzionale)
sudo ufw allow OpenSSH
sudo ufw allow 27015/udp
sudo ufw allow 27015/tcp
sudo ufw allow 27005/udp
sudo ufw allow 27020/udp
sudo ufw enable
sudo ufw status

Firewall di Windows (netsh)

In un prompt dei comandi amministratore crea una regola in entrata per porta (oppure apri «Windows Defender Firewall con sicurezza avanzata»).

netsh advfirewall firewall add rule name="Garry's Mod 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Garry's Mod 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Garry's Mod 27020 UDP" dir=in action=allow protocol=UDP localport=27020

Firewall del provider e port forwarding (router)

Presso un provider (OVH, Hetzner, Scaleway…) apri le stesse porte anche nel firewall o «security group» del provider: ufw non basta se esiste un firewall a monte. In casa crea nel router un port forwarding (NAT) di ogni porta verso l'IP locale della macchina (fisso o riservato via DHCP).

Test: da un'altra connessione, aggiungi il server come «IP:porta» nel browser server di Garry's Mod o in console. Se fallisce, controlla in ordine: servizio avviato, firewall locale, firewall del provider, port forwarding NAT.

Avvio automatico: servizio systemd

Crea /etc/systemd/system/gmod.service (come root) e abilitalo. Adatta utente e percorsi; leggi i log con journalctl -u gmod -f.

[Unit]
Description=Garry's Mod dedicated server
After=network-online.target
Wants=network-online.target

[Service]
User=steam
WorkingDirectory=/home/steam/gmodds
ExecStart=/home/steam/gmodds/srcds_run -game garrysmod -console -norestart +maxplayers 32 +gamemode sandbox +map gm_construct +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

# then:
# sudo systemctl daemon-reload
# sudo systemctl enable --now gmod

Windows: attività pianificata all'avvio

Su Windows un'attività pianificata avvia lo script .bat all'avvio del sistema (esegui il comando in un prompt amministratore).

schtasks /Create /TN "Garry's Mod server" /TR "C:\gmodds\start-gmod.bat" /SC ONSTART /RU SYSTEM /RL HIGHEST

Aggiornamenti, backup e riavvii pianificati

Ferma il servizio prima di aggiornare (stesso comando SteamCMD dell'installazione), esegui backup regolari di configurazione e dati e pianifica un riavvio giornaliero se il server peggiora nel tempo.

sudo systemctl stop gmod
steamcmd +force_install_dir /home/steam/gmodds +login anonymous +app_update 4020 validate +quit
sudo systemctl start gmod

# backup
tar czf ~/gmod-$(date +%F).tar.gz -C /home/steam/gmodds garrysmod/cfg garrysmod/data garrysmod/addons

# daily restart at 05:00 (root crontab: sudo crontab -e)
0 5 * * * systemctl restart gmod

Registrare e trovare il tuo server

Aggiungi il server su https://game-rank.com/jeux/garrys-mod per renderlo visibile alla community. In gioco usa il browser server o connettiti direttamente con IP:porta.

Risoluzione problemi: errori frequenti

  • Client bloccati in caricamento o «missing content»: addon non forniti ai giocatori. Soluzione: aggiungi gli ID in workshop.lua (resource.AddWorkshop) o imposta sv_downloadurl (FastDL) e verifica che la collezione sia pubblica.
  • Server non raggiungibile dall'esterno: il servizio gira ma nessuno si connette. Causa: porta chiusa (ufw, firewall del provider o NAT mancante). Soluzione: apri le porte elencate sui tre livelli e prova da un'altra connessione.
  • Porta già in uso all'avvio: un'altra istanza occupa la porta. Soluzione: elenca i processi con ss -lunp | grep 27015, ferma la vecchia istanza o assegna una porta diversa con -port a ogni server.
  • SteamCMD «Failed to install app» o download bloccato: causa frequente, disco pieno o permessi insufficienti sulla cartella. Soluzione: controlla df -h e il proprietario della cartella, poi ripeti il comando con validate (anche più volte).
  • srcds_run: «No such file or directory» o libreria a 32 bit mancante: il server Source è a 32 bit. Soluzione: abilita l'architettura i386 (dpkg --add-architecture i386) e installa lib32gcc-s1 e lib32stdc++6.

Domande frequenti

Il token GSLT è obbligatorio?
La wiki Facepunch indica che +sv_setsteamaccount è obbligatorio e che ometterlo penalizza il ranking. Usa l'AppID 4000 per creare il token.
Come cambio modalità (DarkRP, TTT…)?
Con +gamemode <cartella> nella riga di avvio, dove la cartella è in garrysmod/gamemodes/ o nella cartella gamemodes/ di un addon. Puoi anche cambiare la variabile gamemode e poi cambiare mappa.
Posso avviare il server come root?
Sconsigliato: crea un utente dedicato (ad es. steam) senza diritti di amministratore e installa e avvia il server con quello. Una falla nel server o in un plugin non compromette così l'intera macchina.
Il mio server Garry's Mod non compare nell'elenco: cosa controllare?
Controlla prima che le porte siano aperte a ogni livello, che il server non sia in modalità LAN (sv_lan 0) e, se il gioco lo richiede, che sia fornito un token server (GSLT) valido. L'elenco Steam può impiegare qualche minuto ad aggiornarsi; nel frattempo connettiti con IP:porta.

Strumenti per il tuo server Garry's Mod

Garry's Mod
Garry's ModAccesso libero
Crea il server.cfg del tuo server Garry's Mod: nome, password, regione, download FastDL, limiti sandbox e sicurezza.
ConfigurazioneSandboxApri
Documentazione
Garry's Mod
Garry's ModAccesso libero
Genera la riga di avvio srcds di Garry's Mod: mappa, modalità, slot, porta, collezione Workshop e token GSLT.
AvvioConfigurazioneApri
Documentazione
Garry's Mod
Garry's ModRichiede accesso
Incolla i link Workshop: ID puliti e senza duplicati, parametro +host_workshop_collection e file workshop.lua pronti.
WorkshopAddonApri
Documentazione
Garry's Mod
Garry's ModRichiede accesso
Genera il settings.lua di DarkRP: economia, stipendi, velocità, leggi, distanze chat e limiti, con i valori predefiniti ufficiali.
DarkRPConfigurazioneRoleplayApri
Documentazione
Garry's Mod
Garry's ModRichiede accesso
Incolla uno script Lua di Garry's Mod: rileva end, parentesi e stringhe non chiusi prima di riavviare il server.
LuaSviluppoApri
Documentazione