Vai al contenuto
Team Fortress 2

Installare un server Team Fortress 2

Il server dedicato TF2 (app SteamCMD 232250) si installa con login anonimo, senza possedere il gioco sulla macchina, e si avvia con srcds_run -game tf. Prevedi circa 8 GB di disco, mezz'ora e un token GSLT per comparire nell'elenco server. Fonte principale: wiki.teamfortress.com (Linux dedicated server).

Ultimo aggiornamento: 09/10/2026

Il server dedicato TF2 (app SteamCMD 232250) si installa con login anonimo, senza possedere il gioco sulla macchina, e si avvia con srcds_run -game tf. Prevedi circa 8 GB di disco, mezz'ora e un token GSLT per comparire nell'elenco server. Fonte principale: wiki.teamfortress.com (Linux dedicated server).

Installazione passo dopo passo

  1. Prepara una macchina Linux (Ubuntu/Debian) con almeno 8 GB di disco libero, o un PC Windows.

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

  3. Scarica SteamCMD e installa il server con app_update 232250.

  4. Crea un token GSLT su steamcommunity.com/dev/managegameservers (necessario per essere elencati).

  5. Genera la riga di avvio con lo strumento «Comando di avvio di TF2» e avvia srcds_run.

  6. Modifica tf/cfg/server.cfg (strumento «Generatore di server.cfg per TF2») e tf/mapcycle.txt.

  7. Apri 27015 UDP/TCP e 27020 UDP (e 27005 UDP) in ufw, presso il provider e nel router.

  8. Prova con connect 127.0.0.1 in locale, poi da un'altra connessione con connect IP:27015.

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

Prerequisiti

  • Sistema: Linux con glibc 2.3.6 o successivo e circa 8 GB di disco libero (wiki TF); possibile anche Windows.
  • CPU/RAM: non specificati dalla wiki consultata; l'esempio ufficiale usa 24 slot. Controlla il carico prima di aumentare.
  • Account: l'installazione è anonima (non serve possedere TF2 sul server). Un account Steam serve per creare il token GSLT.

Installazione locale su Windows

Decomprimi SteamCMD in C:\steamcmd, installa il server e avvia srcds.exe con gli stessi parametri di Linux. Prova con connect 127.0.0.1 nella console di TF2.

cd C:\steamcmd
steamcmd +force_install_dir C:\tf2ds +login anonymous +app_update 232250 validate +quit

cd C:\tf2ds
srcds.exe -console -game tf +map ctf_2fort +sv_pure 1 +maxplayers 24 +sv_setsteamaccount YOUR_GSLT_TOKEN

VPS Linux: utente e dipendenze

Pacchetti citati dalla wiki TF per Debian/Ubuntu a 64 bit. Nelle versioni recenti libtinfo5 e libncurses5 potrebbero non essere più forniti: la wiki rimanda a download manuali.

sudo adduser steam
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32z1 libncurses5:i386 libbz2-1.0:i386 lib32gcc-s1 lib32stdc++6 libtinfo5:i386 libcurl3-gnutls:i386 libsdl2-2.0-0:i386
su - steam

VPS Linux: installazione e primo avvio

Comandi dalla wiki TF. Sostituisci YOUR_GSLT_TOKEN (serve un token valido per comparire nel browser server). Per il ramo prerelease aggiungi -beta prerelease prima di +app_update.

mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar zxf steamcmd_linux.tar.gz
./steamcmd.sh +force_install_dir ~/hlserver/tf2 +login anonymous +app_update 232250 +quit

cd ~/hlserver/tf2
./srcds_run -console -game tf +map ctf_2fort +sv_pure 1 +maxplayers 24 +sv_setsteamaccount YOUR_GSLT_TOKEN

File di configurazione da conoscere

  • tf/cfg/server.cfg: nome, password RCON, limiti di tempo e round (esempio wiki: hostname, sv_contact, rcon_password, mp_timelimit, mp_maxrounds).
  • tf/mapcycle.txt: elenco di rotazione mappe (la wiki non ne dettaglia il formato: una mappa per riga, come negli altri giochi Source).
  • motd.txt e pure_server_whitelist.txt: facoltativi (messaggio di benvenuto e whitelist sv_pure).

Porte da aprire e firewall Linux (ufw)

Per cambiare la porta di gioco, aggiungi -port N alla riga di avvio (una porta per istanza) e aprila al posto di 27015.

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

  • 27015/udp: traffico di gioco (wiki TF)
  • 27015/tcp: RCON (wiki TF)
  • 27020/udp: SourceTV (wiki TF)
  • 27005/udp: comunicazione client (valore standard Source, non citato dalla wiki TF consultata)
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="Team Fortress 2 27015 UDP" dir=in action=allow protocol=UDP localport=27015
netsh advfirewall firewall add rule name="Team Fortress 2 27015 TCP" dir=in action=allow protocol=TCP localport=27015
netsh advfirewall firewall add rule name="Team Fortress 2 27005 UDP" dir=in action=allow protocol=UDP localport=27005
netsh advfirewall firewall add rule name="Team Fortress 2 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 Team Fortress 2 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/tf2.service (come root) e abilitalo. Adatta utente e percorsi; leggi i log con journalctl -u tf2 -f.

[Unit]
Description=Team Fortress 2 dedicated server
After=network-online.target
Wants=network-online.target

[Service]
User=steam
WorkingDirectory=/home/steam/hlserver/tf2
ExecStart=/home/steam/hlserver/tf2/srcds_run -console -game tf -norestart +map ctf_2fort +sv_pure 1 +maxplayers 24 +sv_setsteamaccount YOUR_GSLT_TOKEN
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

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

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 "Team Fortress 2 server" /TR "C:\tf2ds\start-tf2.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 tf2
steamcmd +force_install_dir /home/steam/hlserver/tf2 +login anonymous +app_update 232250 validate +quit
sudo systemctl start tf2

# backup
tar czf ~/tf2-$(date +%F).tar.gz -C /home/steam/hlserver/tf2 tf/cfg tf/addons tf/mapcycle.txt

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

Registrare e trovare il tuo server

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

Risoluzione problemi: errori frequenti

  • Il server gira ma non è nell'elenco: token GSLT assente o non valido. Soluzione: la wiki TF richiede un token valido; passalo con +sv_setsteamaccount (o SRCDS_TOKEN con Docker) e riavvia.
  • Errore di libreria: libtinfo.so.5 / libncurses.so.5 non trovata su una distribuzione recente. Soluzione: installa i pacchetti i386 corrispondenti se esistono, altrimenti segui i download manuali indicati dalla wiki TF.
  • 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

Quanti giocatori ospita un server TF2?
L'esempio ufficiale usa +maxplayers 24; la wiki consultata non indica un tetto. Imposta +maxplayers in base a CPU e plugin.
Come aggiorno il server?
Secondo la wiki TF basta rieseguire il comando di installazione SteamCMD (+app_update 232250). L'aggiornamento automatico con -autoupdate richiede parametri aggiuntivi (-steam_dir, -steamcmd_script) non dettagliati: preferisci un aggiornamento pianificato come nella sezione dedicata.
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 Team Fortress 2 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 Team Fortress 2

Team Fortress 2
Team Fortress 2Accesso libero
Crea il server.cfg del tuo server Team Fortress 2: limiti di tempo e round, bilanciamento, critici, dispersione e FastDL.
ConfigurazioneSourceApri
Documentazione
Team Fortress 2
Team Fortress 2Accesso libero
Genera la riga srcds_run di Team Fortress 2: mappa, slot, sv_pure, porta, mapcycle e token GSLT.
AvvioConfigurazioneApri
Documentazione