Rust (the survival game by Facepunch) has one of the most active community server scenes: vanilla, modded, PvE, small-group and huge 200+ player servers. Running your own gives you control over map size, rules, plugins and the wipe schedule. Rust servers are resource-heavy, so size the server first.
Requirements
| Server | CPU | RAM | Notes |
|---|---|---|---|
| Small (≤ 20 players, map 3000) | 4 vCPU, fast single-core | 8–12 GB | Friends or small community |
| Medium (50–100 players, map 3500–4000) | Fast 4+ cores | 16 GB+ | Plugins add load |
| Large (150+ players) | High-clock dedicated CPU | 32 GB+ | Usually a dedicated server |
- About 30 GB+ disk for the install, maps and saves.
- Memory grows over a wipe as players build. Size for the end of the wipe, not the start.
- For large public servers, a dedicated server with DDoS protection is the safer choice. VPS.DO offers DDoS protection as a paid add-on for dedicated servers. See dedicated servers and game server VPS.
Install with SteamCMD
sudo dpkg --add-architecture i386
sudo apt update && sudo apt install -y steamcmd lib32gcc-s1
sudo adduser --disabled-password --gecos "" rust
sudo -iu rust
/usr/games/steamcmd +force_install_dir ~/rustserver +login anonymous +app_update 258550 validate +quit
The Rust dedicated server’s app ID is 258550.
Launch script
#!/bin/bash
# ~/rustserver/start.sh
cd ~/rustserver
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/RustDedicated_Data/Plugins/x86_64
./RustDedicated -batchmode -nographics \
+server.ip 0.0.0.0 \
+server.port 28015 \
+server.queryport 28017 \
+rcon.port 28016 \
+rcon.password "long-random-rcon-password" \
+rcon.web 1 \
+app.port 28082 \
+server.identity "main" \
+server.hostname "My Rust Server | Vanilla | Monthly" \
+server.description "Fresh monthly wipes" \
+server.maxplayers 50 \
+server.worldsize 3500 \
+server.seed 12345 \
+server.saveinterval 300 \
-logfile "logs/$(date +%F).log"
Key options:
server.identity: the folder underserver/that holds this server’s map, saves and config. It lets you run several servers from one install.server.worldsize(1000–6000) andserver.seeddefine the procedural map. Bigger maps need more RAM. A custom map can be used with+server.levelurl.
Ports
| Port | Protocol | Purpose |
|---|---|---|
| 28015 | UDP | Game |
| 28017 | UDP | Server query (server browser) |
| 28016 | TCP | RCON (WebRCON) — restrict to your IP |
| 28082 | TCP | Rust+ companion app |
sudo ufw allow 28015/udp
sudo ufw allow 28017/udp
sudo ufw allow 28082/tcp
sudo ufw allow from 203.0.113.50 to any port 28016 proto tcp
See UFW.
Run it as a service
Use a systemd unit with ExecStartPre running the SteamCMD update, and Restart=on-failure. Rust saves on server.saveinterval and on a clean stop. Use RCON’s save and quit before restarts. See systemd unit files.
RCON and admin
- Connect with a WebRCON tool (RustAdmin, rcon.io, or a CLI) to
ip:28016with the RCON password. - Make yourself owner:
ownerid <SteamID64> "name", thenserver.writecfg. - Common commands:
say,kick,ban,save,status,server.writecfg.
Plugins: Oxide (uMod) or Carbon
Most modded Rust servers use Oxide/uMod, or the newer Carbon framework. Install the framework release matching the current Rust version over your server files, then drop plugins (.cs) into oxide/plugins (or Carbon’s folder). Popular plugins: kits, teleport, gather rate, clans, anti-cheat helpers. Rust updates monthly, and plugins and frameworks must be updated on update day, or the server won’t load them.
Wipes and forced updates
Facepunch releases a monthly update (usually the first Thursday of the month). This forces a map wipe, since old maps can’t be loaded. Blueprint wipes are your choice, unless the update requires one. On update day:
- Stop the server.
- Update via SteamCMD, and update Oxide or Carbon.
- Change the seed or delete the old map/save files in
server/<identity>/. - Start the server, and announce the wipe.
Many servers also wipe weekly or biweekly between forced wipes.
Backups
Back up server/<identity>/ (map, saves, player data and config) and oxide/ (plugin configs and data):
tar czf /backups/rust-$(date +%F-%H%M).tgz -C /home/rust/rustserver server/main oxide
See backup strategy.
Quick reference
| Item | Value |
|---|---|
| SteamCMD app ID | 258550 |
| Game / query port | 28015/udp, 28017/udp |
| RCON | 28016/tcp (restrict) |
| Rust+ | 28082/tcp |
| Server data | server/<identity>/ |
| Forced wipe | monthly update day |
Related: CS2 dedicated server and DDoS attack types.