Rust zorgt voor meer verwarring dan de meeste games, omdat het drie verschillende poorten voor drie verschillende dingen gebruikt, en een daarvan via TCP gaat terwijl de andere via UDP gaan. Open je alleen de gamepoort, dan kunnen mensen wel binnenkomen door het IP-adres met de hand in te typen, maar verschijnt de server niet in de serverbrowser.
De poorten
| Poort | Protocol | Waarvoor | Openen? |
|---|---|---|---|
| 28015 | UDP | Het spel: hierlangs komen de spelers binnen | Ja |
| 28017 | UDP | Steam-query: zet je in de Community-lijst | Ja |
| 28016 | TCP | RCON / webconsole | Alleen als je het van buitenaf gebruikt |
| 28083 | TCP | App Rust+ | Alleen als je Rust+ wilt |
Twee opmerkingen bij deze tabel:
- De querypoort ligt niet vanzelf vast. Zet je geen
+server.queryport, dan kiest Rust een poort boven de hoogste van de gamepoort en de RCON-poort; bij een normale installatie is dat 28017. Heb je een van beide gewijzigd, reken het dan na of stel de poort zelf in. - Rust+ luistert op de poort die je opgeeft met
+app.port. Geef je niets op, dan gebruikt het de hoogste van de gamepoort en de RCON-poort plus 67, dus 28083 bij een standaardinstallatie.
Windows (PowerShell als administrator)
# Spel en query: het onmisbare
New-NetFirewallRule -DisplayName "Rust spel UDP 28015 (inkomend)" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust query UDP 28017 (inkomend)" -Direction Inbound -Protocol UDP -LocalPort 28017 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust spel UDP 28015 (uitgaand)" -Direction Outbound -Protocol UDP -LocalPort 28015 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust query UDP 28017 (uitgaand)" -Direction Outbound -Protocol UDP -LocalPort 28017 -Action Allow -Profile Any
En als je RCON of Rust+ van buitenaf gaat gebruiken (alleen dan):
New-NetFirewallRule -DisplayName "Rust RCON TCP 28016 (inkomend)" -Direction Inbound -Protocol TCP -LocalPort 28016 -Action Allow -Profile Any
New-NetFirewallRule -DisplayName "Rust+ TCP 28083 (inkomend)" -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 # alleen als je RCON van buitenaf gebruikt
# 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
# Luistert hij?
ss -lntup | grep -E '28015|28016|28017'
RCON, met voorzichtigheid
RCON geeft je volledige controle over de console van de server. Zet je het open naar internet met een kort wachtwoord, dan is het een kwestie van dagen voordat iemand het raadt en je map wist. Stel een lang en uniek wachtwoord in met +rcon.password en gebruik, als alleen jij het gebruikt, liever een SSH-tunnel:
ssh -L 28016:localhost:28016 root@JOUW_IP
Zo maak je met je RCON-tool verbinding met localhost:28016 zonder iets open te zetten voor de wereld.
Mijn server staat niet in de Community-lijst
- De querypoort (UDP 28017) ontbreekt. Dat is de meest voorkomende oorzaak: met alleen de gamepoort open kun je via het IP-adres binnenkomen, maar Steam zet je niet in de lijst.
- Verkeerd protocol. De gamepoort en de querypoort zijn UDP. Een regel voor TCP 28015 opent niets nuttigs.
- Het duurt even voordat de server verschijnt. Na het starten kan het een paar minuten duren voordat Steam hem indexeert. Geef het de tijd voordat je iets aanpast.
- Net een wipe gedaan. De server herstart en registreert zich opnieuw; het is normaal dat hij een tijdje verdwijnt.
- AntiDDoS-filtering: tabblad Beveiliging van je dienst. Heb je zelf filters aangemaakt, dan moeten 28015 en 28017 er in UDP in staan.
Let bij het kiezen van je machine vóór de wipe op één ding: het verbruik van Rust loopt op in de loop van de cyclus, omdat alles wat spelers bouwen blijft staan. Onze Rust-calculator houdt daar rekening mee.