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 under server/ that holds this server’s map, saves and config. It lets you run several servers from one install.
  • server.worldsize (1000–6000) and server.seed define 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:28016 with the RCON password.
  • Make yourself owner: ownerid <SteamID64> "name", then server.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:

  1. Stop the server.
  2. Update via SteamCMD, and update Oxide or Carbon.
  3. Change the seed or delete the old map/save files in server/<identity>/.
  4. 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.

  • Game Server
  • SteamCMD
  • Linux