Ports, firewall et NAT pour un serveur S&Box

Ports, firewall et NAT pour un serveur S&Box

Quels ports S&Box utilise (UDP 27015 + query 27016), comment gérer le pare-feu (Linux iptables / Windows Firewall / pfSense), et pourquoi le NAT ne devrait jamais te concerner chez VeryCloud.

Introduction

S&Box écoute par défaut sur deux ports UDP :

  • 27015 : trafic de jeu (paquets temps réel des joueurs)
  • 27016 : query port (Steam Master Server, apparition dans la liste)

Chez VeryCloud, le panel Wisp gère automatiquement l'allocation et l'ouverture de ces ports. Ce guide couvre quand même les cas où tu auto-héberges, où tu mets S&Box derrière un proxy, ou où tu veux tunneler via GRE.

Prérequis

  • Un serveur S&Box (chez VeryCloud ou ailleurs)
  • Accès root/admin si tu auto-héberges
  • Connaissance basique d'iptables ou de Windows Firewall

Étape 1 : Comprendre les ports S&Box

PortProtocoleRôleIndispensable ?
27015UDPTrafic de jeu principalOUI
27016UDPQuery SteamOUI (pour apparaître dans la liste)

Pas de TCP. Pas de port web admin par défaut. C'est plus simple que GMod / FiveM.

Étape 2 : Chez VeryCloud — rien à faire

Sur un serveur Wisp VeryCloud, l'allocation t'est attribuée à la commande. Va dans Network dans le panel pour voir tes ports. Ils sont déjà ouverts au niveau du node et de notre filtrage anti-DDoS Netrix.

💡 Si tu veux changer de port (cas rare), ajoute une secondary allocation depuis Network ou ouvre un ticket support.

Étape 3 : Auto-hébergement Linux — iptables / nftables

Si tu fais tourner sbox-server sur une VM perso (sans panel), il faut ouvrir les ports manuellement.

Avec UFW (Debian/Ubuntu) :

ufw allow 27015/udp comment 'S&Box game'
ufw allow 27016/udp comment 'S&Box query'
ufw reload

Avec iptables direct :

iptables -A INPUT -p udp --dport 27015 -j ACCEPT
iptables -A INPUT -p udp --dport 27016 -j ACCEPT
# Persister
netfilter-persistent save

Avec firewalld (RHEL/Rocky) :

firewall-cmd --permanent --add-port=27015/udp
firewall-cmd --permanent --add-port=27016/udp
firewall-cmd --reload

Étape 4 : Auto-hébergement Windows — Windows Firewall

New-NetFirewallRule -DisplayName "S&Box Game UDP" `
  -Direction Inbound -Protocol UDP -LocalPort 27015 -Action Allow

New-NetFirewallRule -DisplayName "S&Box Query UDP" `
  -Direction Inbound -Protocol UDP -LocalPort 27016 -Action Allow

Ou en mode GUI : wf.msc → Inbound Rules → New Rule → Port → UDP → 27015,27016.

Étape 5 : Cas du NAT (auto-hébergement domestique)

Si tu fais tourner S&Box derrière une box Internet :

  1. Réserve une IP statique LAN pour la machine S&Box
  2. Configure le port forwarding sur ta box : UDP 27015 et 27016 → IP LAN
  3. Si tu as plusieurs serveurs sur le même réseau, change +port et +net_query_port

⚠️ Attention aux Bbox Bouygues et certaines Livebox : elles filtrent agressivement, et la stabilité du query port peut être aléatoire. Pour du sérieux, héberge en datacenter (VPS ou serveur dédié) plutôt que chez toi.

Étape 6 : Tester l'ouverture des ports

Depuis une machine externe au réseau :

# Avec nmap
nmap -sU -p 27015,27016 IP.DU.SERVEUR

# Avec netcat (TCP-equivalent ne marche pas pour UDP standard, mais on peut tester)
nc -u -v -z IP.DU.SERVEUR 27015

Le meilleur test reste : lancer S&Box, ouvrir la liste des serveurs, et chercher ton hostname. S'il apparaît, le query port (27016) est ouvert.

Étape 7 : Filtrage et anti-DDoS

Chez VeryCloud, l'Anti-DDoS Netrix filtre les attaques L3/L4/L7 spécifiques aux protocoles gaming UDP. Aucune action de ta part nécessaire.

Si tu auto-héberges, tu es exposé. Quelques mesures basiques :

# Rate-limit grossier sur 27015 (iptables hashlimit)
iptables -A INPUT -p udp --dport 27015 \
  -m hashlimit --hashlimit-name sbox \
  --hashlimit-above 200/sec --hashlimit-burst 400 \
  --hashlimit-mode srcip -j DROP

C'est un palliatif. Une vraie protection demande une appliance dédiée ou un transit IP filtré.

Dépannage

Le serveur tourne mais n'apparaît pas dans la liste

  • Query port 27016 fermé ou bloqué — vérifie iptables/firewall
  • +net_game_server_token non configuré ? (pas obligatoire mais aide à la persistance)
  • Attends 1-2 minutes pour la propagation Steam

Les joueurs voient le serveur mais ne se connectent pas

  • Port 27015 bloqué côté serveur ou côté FAI joueur
  • Test depuis un autre réseau (mobile 4G par exemple)

Latence anormale alors que les ports sont ouverts

  • Conflit avec un autre service sur le même port
  • Surcharge CPU ou réseau du node — voir les graphes Wisp dans Console

Commandes utiles

# Lister ce qui ecoute sur les ports UDP
ss -ulnp | grep 27015

# Tester depuis l'exterieur (nmap)
nmap -sU -p 27015,27016 SERVEUR_IP

# Voir les regles iptables actives
iptables -L INPUT -n -v --line-numbers

Conclusion

Côté VeryCloud, l'allocation est gérée pour toi : pas d'action requise sauf cas particulier. En auto-hébergement, 2 ports UDP à ouvrir, basta. Le NAT résidentiel est le principal vecteur de galère — préfère un VPS ou un serveur dédié pour un serveur public stable.

Pour aller plus loin : permissions admin, performance tuning, anti-DDoS managé.

Ressources

Rejoignez notre serveur communautaire Discord

Pour toute question, suggestion ou simplement pour discuter avec la communauté, rejoignez-nous sur Discord !

900+Membres