app.port (Rust server ConVar)
app.port sets the TCP port of the Rust+ companion server. Its default, the 10000 minimum, how to disable Rust+, and why its help text is wrong.
Last updated Verified on Rust build 25582902, 2026-09-28
- Kind
- Variable
- Value on build 25582902
28082- Server help text
- (Generated) UDP port number the server listens on; default is 28015; must be open in firewall for players to connect
- Applies
- After a restart
- Persists in
- Startup argument
- Vanilla Rust
- Yes, native
- Example
+app.port 28082
Gotchas
- The server's own help text is wrong: it says UDP, a default of 28015 and that players need it. Rust+ uses TCP, and players connect on server.port.
- Facepunch: the default is 67 above the higher of server.port and rcon.port, and it must be 10000 or higher to be reachable by the Rust+ backend. Set it explicitly.
- To disable Rust+, Facepunch says to pass +app.port 1- on the command line (a parser quirk stands in for -1).
app.port is the port of the Rust+ companion server, the part of the game server that the Rust+ mobile app connects to after a player pairs it.
The help text is wrong
On build 25582902 the server prints this for app.port:
(Generated) UDP port number the server listens on; default is 28015; must be open in firewall for players to connect
None of that matches Facepunch's own Rust+ documentation. Rust+ listens on TCP, players do not use this port to join (they connect on server.port), and the default is not 28015. Ignore the help text and use the rules below.
Default and limits
Facepunch's Rust+ page gives the default as 67 above the higher of server.port and rcon.port, and says that with no ports changed it is 28082. That works out because the RCON port also defaults to server.port, so both are 28015. Once you set the common pair of 28015 and 28016, the same rule gives 28083, so the port you get depends on your RCON port. The port must be 10000 or higher, or the Rust+ backend cannot reach it, and it must be reachable over TCP from the internet. The server also needs outbound access to companion-rust.facepunch.com.
Set it explicitly so it does not move when another port does:
+server.port 28015 +rcon.port 28016 +app.port 28082
Treat it as a startup argument. Facepunch documents it on the command line, our test server prints app.port: "28082" once at every start, and there is an app.retry_initialize command for when setting up the companion server failed. server.writecfg does not save app.port.
Turning Rust+ off
Facepunch says to set it to -1 on the command line, but because of how the command line is parsed you write it as:
+app.port 1-
Behind NAT or with several interfaces
app.listenip picks the address the companion server binds to, and app.publicip overrides the address the app is told to connect to. Both were empty on our test server.
In Panelra
Every server gets +app.port in its systemd unit. The default is the game port plus 67, and you can change it under Settings > Network ports, which needs a restart. The panel accepts ports from 1024 up, so keep Facepunch's 10000 minimum in mind if you pick your own.
Set it in Panelra
Change app.port from the dashboard instead of editing files over SSH.
Related ConVars
- app.listenip(Generated) IP address the server listens on for incoming connections; leave empty to bind to all available network interfaces
- app.publicip(Generated) Public IP address advertised to the Steam server browser; leave empty to auto-detect; set explicitly if behind NAT
- app.retry_initializeRetry initializing the Rust+ companion server if it previously failed
- rcon.portPort to listen for RCON connections
Skip the manual work: install the Panelra agent
Wipes, updates, restarts, plugins and crash alerts for your Rust servers, from one dashboard. One install command on your Linux host, no inbound ports for the agent.
Free during the open beta. Pricing will be announced before the beta ends.