Rust is in the catalogue, and it is the 15th game we run. Rust makes the case for pay-as-you-play better than most: a group plays hard for the first few days after a wipe, then drops off until the next one. A monthly plan bills the quiet weeks. Here, a stopped server costs nothing.
What you get
- 10 players by default, up to 50, and a map size of 2000, 3000 or 4000 chosen at creation. The size and the seed are part of the save file's name, so they can't change afterwards: the game would quietly generate a new map and your base would be gone.
- A console in your dashboard, over Rust's own admin protocol (WebRCON): send any command, and kick or ban a player by name.
- Oxide plugins (uMod), as a setting that starts off: switch it on, drop your
.csfiles intotickserv/oxide/plugins, and their settings and data travel with your world. - The Rust+ companion app: its port is open, and you pair the server from inside the game.
- Your world, saved at every stop. We tell Rust to save and wait for the game to confirm before the machine goes down. The map is archived too, so the next start doesn't regenerate it.
What we measured on a real machine
On a 16 GB machine, the first start took 8 min 39 s for a size-3000 map: about two minutes to download the game, and about six to generate the map. The second start, from the saved world, took about 4 minutes. An empty server used 4.35 GB of memory. We still only recommend 16 GB, because Rust's memory grows with every entity built over a wipe, and a short test session can't measure that.
The defect our first acceptance run missed
Our acceptance run went green, and it was wrong. The console connection died after two and a half minutes: Node's WebSocket client never actually releases its connection to Rust, and Rust turns away the sixth one. Our agent opens one connection per heartbeat, so at the sixth heartbeat the console was dead, and with it the "save, then stop" sequence. The server was being killed without saving.
The first run checked the date on the map file, which had indeed been written. The save file hadn't. We replaced the client with one that really closes its connections, checked it on a machine (40 commands out of 40, no connection left open), then ran the whole acceptance run again, 16 steps out of 16, on a brand-new machine: the world came back, in the game's own words ("Spawning N entities from save").
What this doesn't solve
- The monthly wipe applies here too. On the first Thursday of every month (next: 1 October), Facepunch ships a mandatory update that resets the map of every Rust server, at every host. Your server updates itself on its next start and generates a new map.
- Rust has no password and no whitelist. Your server shows up in the in-game browser and anyone can join. You can still kick and ban from the console, or add a whitelist with an Oxide plugin. A connected player, even a stranger, keeps the server from stopping on its own, and it's billed while they play.
- Some things are only proven once a real player shows up. Player joins and leaves, kick and ban, and Rust+ after a restart haven't been tested yet. The server's IP address can change between sessions, so you may have to pair Rust+ again.