ForgeWorld Gaming

Hosting guide

Rust+ shows your server offline: the fixes

Continue to secure billing, Rust · Oxide ready, CA$31.49 / month (Standard, 50 slots) Compare Rust · Oxide ready plans

Rust+ is Facepunch's companion app. When it shows your server as offline, or a pairing never finishes, the game itself is usually fine: the app talks to a separate companion server inside your Rust server, and that companion server has its own port and its own rules. This guide follows Facepunch's Rust+ Server documentation from the most common cause to the rarest.

Updated 19 October 2026

What the app is actually talking to

Facepunch describe the companion server as "what Rust+ uses to communicate with Rust servers", and they describe the failure exactly as players see it: "If something is wrong with it then nobody will be able to view your server in Rust+, even if they pair with it. They will see it loading for a while before it says the server is offline." So a server that is up, listed and full of players can still be "offline" in the app. The checks below are about the companion server, not the game port.

1. Open the companion port, and make sure it is TCP

"For most people," Facepunch write, "the only requirement for the companion server to work is to make the TCP port the companion server listens on accessible over the internet. Port forward, open it, add firewall rules for it, done." Two details decide which port that is:

  • The default is derived from your other ports. "The default port is the game port + 67, or the RCon port + 67, whichever is the larger number. If you haven't changed any ports that means it will be 28082."
  • It is TCP, not UDP. Facepunch's Creating a server page puts it in one line: "RCON and Rust+ are TCP." A rule that opens the game and query ports on UDP does nothing for Rust+.

To see which port your server is really using, run app.info in the server console. Facepunch say it shows "what port the companion server is using" and "the connection settings the server is currently using". For a home router, the port forwarding guide covers the forwarding itself.

2. The port has to be 10000 or higher

This is the rule that catches people who pick a tidy low port. If you set the port yourself with the app.port convar, Facepunch state that it "must be 10000 or higher for it to be successfully reached by our Rust+ backend", and that "you will need to restart your Rust server for the port change to take effect". The same limit applies to the connectivity test described below: "The connectivity check will not work on ports lower than that and neither will Rust+."

3. Read the log for the connectivity test

The Rust server tests its own Rust+ reachability at startup. Facepunch describe a connectivity test that "was added into the Rust server to disable Rust+ on servers that are not configured properly to allow connections to the Rust+ companion server", and what happens next: "If a server fails this test, it will [...] disable Rust+ on the server and players will see that in the in-game Rust+ menu." The line to search for in the server log is:

Rust+ companion server connectivity test failed! Disabling Rust+ features.

Facepunch add that "Details will be provided in the error message", so read the rest of that line. The fix is one of two things: "configure your server so that the test passes or disable Rust+ properly". Two limits on the test itself:

  • Ten tries per five minutes per IP. "If you're running multiple Rust+ instances behind a single IPv4, make sure to not boot more than 10 servers during a time delta of 5 minutes." Past that, "you'll have to wait for 5 minutes until you can register new Rust+ instances".
  • Outbound access matters too. "If you get errors about companion server registration or push notifications aren't working then make sure your server can access companion-rust.facepunch.com over the internet."

4. When the server has more than one address

Facepunch give two convars for machines with several network interfaces or an address that is not the one the world sees:

  • app.listenip: "If you have a more complicated networking setup where you need to specify which NIC to listen on then you'll need to set the app.listenip convar to your Rust server's public IP address."
  • app.publicip: "If the IP address that the app connects to is incorrect, you can set it app.publicip to the value you need."

Check both with app.info before changing them, and leave them alone on a plain single-address server.

5. Test it without the app

Pairing with the app is the direct test, but Facepunch describe a quicker one for operators with several servers: "You can use a tool like Postman to test connections to the companion server. Simply create a new WebSocket request and type in the Rust server's IP address and companion server port into the 'Server URL' field. For example: ws://203.0.113.111:11111. Press the 'Connect' button and you'll see if it connected successfully in the messages log below." A connection that fails here fails for the app too, and it fails for the same reason: the TCP port is not reachable.

6. The companion.id file

Your server's identity to Rust+ is a file called companion.id in the save folder. Facepunch's rules for it are short and absolute:

  • "Do not give it to anyone else."
  • "Do not use someone else's file."
  • "Do not use the same file on multiple servers."
  • "Do not randomly delete it."
  • "Do not change the 'app.id' convar."

Breaking them "will make your server behave weirdly in Rust+, disable notification permission for all your players, and probably require all players to re-pair with your server". If the file is deleted, "a brand new identity will be generated for your server", and "There's no getting it back once it's gone!" Two practical consequences: keep the file with your backups, as Facepunch ask, and when you copy a server to make a second one, delete the copy's companion.id so the two do not share an identity.

7. Turning Rust+ off on purpose

Closing the port is not the right way to disable Rust+, because the connectivity test then fails on every boot. Facepunch's documented method is to set app.port to -1 on the command line, with one quirk: "due to command line parser conflicts you will need to specify it as +app.port 1-". That, they say, "is the only way to turn it off entirely", and "Players will be able to see that Rust+ is disabled if they open the Rust+ menu on their clients while connected to your server."

Where ForgeWorld Gaming fits

On a ForgeWorld Gaming Rust server the companion port is already taken care of. Every Rust order comes with four ports of its own: the game port, the RCON port, the query port and the Rust+ port, which the Startup tab shows as App Port and passes to the server as app.port. It is above 10000 and it is opened on TCP in the same way as the game port, so the connectivity test has what it needs. On a test server we started on 2026-10-19, app.info in the Console tab answered Listening on: 0.0.0.0:28018 and App connects to: 35.223.7.18:28018, the log carried no connectivity-test failure, and a WebSocket connection to that address and port from outside the box was answered with HTTP/1.1 101 Switching Protocols, which is the test Facepunch describe. Your server's own numbers are on the Startup tab, and companion.id sits in server/rust on the Files tab, where a panel backup of the server would include it. The Server Logo variable on the same tab is the image Rust+ shows for the server. Last checked 2026-10-19.

Prefer renting to keeping your own server machine online? ForgeWorld Gaming currently offers Rust Standard: 50 player slots at CA$31.49/month. Hosted in Iowa, United States. Prices are in Canadian dollars, with no setup fee and cancel any time. Your server is set up automatically after payment. Continue to secure billing, Rust · Oxide ready, CA$31.49 / month (Standard, 50 slots), or compare Rust plans.

Common questions

Why does Rust+ show my server as offline when the server is running?

Because the app talks to the companion server inside your Rust server, not to the game port. Facepunch say that when something is wrong with it, nobody can view the server in Rust+ even after pairing: it loads for a while and then shows as offline. The usual cause is that the companion server's TCP port is not reachable from the internet.

Which port does Rust+ use?

By default the game port + 67 or the RCon port + 67, whichever is larger, which is 28082 with default ports. It is TCP. Run app.info in the server console to see the port your server is actually using, and set app.port to change it, then restart the server.

Why does Rust+ not work on a port below 10000?

Facepunch state that the companion port must be 10000 or higher to be reached by the Rust+ backend, and that the connectivity check does not work on lower ports either. Pick a port of 10000 or more, open it on TCP, and restart.

What does 'Rust+ companion server connectivity test failed! Disabling Rust+ features.' mean?

The server tested its own Rust+ reachability at startup and could not be reached, so it turned Rust+ off and players see it as disabled in the in-game Rust+ menu. The rest of the log line gives the detail. Fix the port or address so the test passes, or disable Rust+ properly with +app.port 1- on the command line.

Can I delete companion.id to fix Rust+?

Facepunch say not to delete it at random. The file is your server's identity to Rust+; deleting it generates a new identity, which cannot be recovered, and will probably need every player to pair again. Keep it with the server and its backups, never share it, and never use one file on two servers.

How do I turn Rust+ off on my server?

Set app.port to -1 on the command line. Because of a parser quirk Facepunch say to write it as +app.port 1-. That is the only way to turn it off entirely, and players then see Rust+ marked as disabled when they open its menu while connected.

Sources

Continue to secure billing, Rust · Oxide ready, CA$31.49 / month (Standard, 50 slots)

Questions this guide did not answer? Email support@fwg.world for pre-sales help. No account or payment is required.