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.

Web RCON console
  • 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.