How to Set Up a Rust Game Server
Run your own Rust server with SteamCMD โ set map size, seed and slots, open the ports, and understand what wipe day demands from your hardware.
Rust is one of the most demanding survival games to host โ a procedural world plus dozens of players makes it hungry for RAM and CPU. Run your own server and you control the map, wipe schedule, rules and mods. Here's how.
Hardware you'll actually need
Rust is heavier than most survival games:
- Map size drives RAM more than player count. A 3000-size map with 50 players wants 8โ16 GB RAM.
- A small 10-player server on a 3000 map can run on 6 GB.
- Fast single-core performance is critical, and NVMe storage cuts the long map-generation and save times.
Step 1: Install SteamCMD
sudo add-apt-repository multiverse -y
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd screen -y
Step 2: Download the server
sudo adduser --disabled-password rust
sudo su - rust
steamcmd +force_install_dir ./rust-server +login anonymous +app_update 258550 validate +quit
App ID 258550 is the Rust dedicated server. It's a large download (several GB).
Step 3: Write a start script
Create start.sh in rust-server:
#!/bin/bash
./RustDedicated -batchmode -nographics \
+server.identity "myserver" \
+server.hostname "My Rust Server" \
+server.maxplayers 50 \
+server.worldsize 3000 \
+server.seed 12345 \
+server.port 28015 \
+rcon.port 28016 \
+rcon.password "STRONG_RCON_PASSWORD"
Make it executable: chmod +x start.sh. Change the seed or worldsize on wipe day to generate a fresh map.
Step 4: Start it
screen -S rust
./start.sh
First boot compiles and generates the map โ this can take several minutes on a big world. Detach with Ctrl+A then D.
Step 5: Open the ports
Rust needs UDP 28015 for the game and TCP 28016 for RCON if you administer remotely:
sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp
Never expose RCON without a strong password โ it grants full server control.
Step 6: Administer with RCON
Connect an RCON tool (like RustAdmin or a web RCON client) to your-ip:28016 with your password. From there you can run commands like say, kick, ban and live config tweaks without touching SSH.
Wipe day realities
Rust servers traditionally wipe weekly or biweekly. A wipe deletes the map and often blueprints, which resets the economy and draws players back. Automate it by clearing the save and bumping the seed before the scheduled restart. Wipe day is also your peak load moment โ everyone joins at once โ so size your VPS for the crowd, not the quiet Tuesday.
Mods with Oxide/uMod
Most modded Rust servers run Oxide (uMod), which adds a plugin API for kits, economy, events and admin tools. Install it over your server files after each Rust update, since a new game build can break plugins until they're updated.
Performance convars worth knowing
Rust exposes server-side settings that affect smoothness under load. A couple worth setting in your startup config:
+server.tickrate 30
+fps.limit 60
A tickrate of 30 is the common balance between responsiveness and CPU cost. Watch server FPS with the perf 2 console command โ if it drops well below your tickrate during peak play, you're CPU-bound and should either reduce map size or move to faster cores.
Common issues
- Map takes forever to generate: normal on first boot for large worlds, but slow disks make it worse โ NVMe cuts it dramatically.
- Players see "server not responding": usually a network/DDoS issue rather than the process itself; check inbound traffic.
- Plugins broken after an update: Rust's monthly forced update breaks Oxide plugins until they're refreshed โ update Oxide and each plugin.
Hosting it well
Between map generation, frequent saves and 50 players moving at once, Rust rewards fast CPU cores and NVMe disks โ exactly what Nxeon's VPS provides, with full root for Oxide and RCON and a Singapore location that keeps Asia-Pacific ping low. A one-click Rust deploy handles SteamCMD and the base config so you can jump straight to tuning your map.