Rust è uno di quelli che creano più confusione perché usa tre porte diverse per tre cose diverse, e una di queste è TCP mentre le altre sono UDP. Se apri solo quella di gioco, la gente può entrare scrivendo l'IP a mano, ma il server non compare nella lista.
Le porte
| Porta | Protocollo | A cosa serve | Aprirla? |
|---|---|---|---|
| 28015 | UDP | Il gioco: da qui entrano i giocatori | Sì |
| 28017 | UDP | Query di Steam: ti fa comparire nella lista dei server della community | Sì |
| 28016 | TCP | RCON / console web | Solo se lo usi dall'esterno |
| 28083 | TCP | App Rust+ | Solo se vuoi Rust+ |
Due avvertenze su questa tabella:
- La porta di query non è fissa. Se non imposti
+server.queryport, Rust ne sceglie una sopra la più alta tra quella di gioco e quella di RCON, che in un'installazione normale dà la 28017. Se ne hai cambiata qualcuna, fai il calcolo o fissala a mano. - Rust+ è in ascolto sulla porta che indichi con
+app.port. Se non indichi nulla, usa la più alta tra gioco e RCON più 67, cioè la 28083 in un'installazione standard.
Windows (PowerShell come amministratore)
# Gioco e query: l'indispensabile
New-NetFirewallRule -DisplayName "Rust gioco UDP 28015 (entrata)" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust query UDP 28017 (entrata)" -Direction Inbound -Protocol UDP -LocalPort 28017 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust gioco UDP 28015 (uscita)" -Direction Outbound -Protocol UDP -LocalPort 28015 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust query UDP 28017 (uscita)" -Direction Outbound -Protocol UDP -LocalPort 28017 -Action Allow -Profile Any
E se userai RCON o Rust+ dall'esterno (solo in quel caso):
New-NetFirewallRule -DisplayName "Rust RCON TCP 28016 (entrata)" -Direction Inbound -Protocol TCP -LocalPort 28016 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust+ TCP 28083 (entrata)" -Direction Inbound -Protocol TCP -LocalPort 28083 -Action Allow -Profile Any
Linux
# Ubuntu / Debian
ufw allow 28015/udp
ufw allow 28017/udp
ufw allow 28016/tcp # solo se usi RCON dall'esterno
# AlmaLinux / Rocky
firewall-cmd --permanent --add-port=28015/udp
firewall-cmd --permanent --add-port=28017/udp
firewall-cmd --permanent --add-port=28016/tcp
firewall-cmd --reload
# È in ascolto?
ss -lntup | grep -E '28015|28016|28017'
L'RCON, con cautela
L'RCON ti dà il controllo totale della console del server. Se lo apri a Internet con una password corta, è questione di giorni prima che qualcuno la indovini e ti cancelli la mappa. Imposta una password lunga e unica in +rcon.password e, se lo usi solo tu, meglio passare per un tunnel SSH:
ssh -L 28016:localhost:28016 root@IL_TUO_IP
Così ti connetti a localhost:28016 con il tuo strumento RCON senza aprire nulla al mondo.
Non compaio nella lista dei server della community
- Manca la porta di query (UDP 28017). È la causa più frequente: con quella di gioco aperta si può entrare tramite IP, ma Steam non ti elenca.
- Protocollo sbagliato. Quella di gioco e quella di query sono UDP. Una regola TCP 28015 non apre nulla di utile.
- Il server ci mette un po' a comparire. Dopo l'avvio, Steam può impiegare qualche minuto a indicizzarlo. Dagli tempo prima di toccare qualcosa.
- Hai appena fatto un wipe. Il server si riavvia e si registra di nuovo; è normale che sparisca per un po'.
- Filtraggio AntiDDoS: scheda Sicurezza del tuo servizio. Se hai filtri creati a mano, la 28015 e la 28017 devono esserci in UDP.
Per dimensionare la macchina prima del wipe, attenzione a una cosa: il consumo di Rust cresce nel corso del ciclo, perché tutto ciò che costruiscono i giocatori resta. Il nostro calcolatore per Rust ne tiene conto.