Overview
This guide walks through installing a Rust dedicated server on a Linux VPS using SteamCMD. It assumes you have root SSH access on a Nexelya (or similar) instance with at least 8 GB RAM for a small community server.
Rust is CPU- and disk-heavy during map generation and blueprint wipes. Size your host with our Rust RAM calculator before you open ports to the public.
Prerequisites
- Ubuntu 22.04 or Debian 12 VPS (4+ vCPU recommended for 50+ players)
- 40 GB+ free disk (maps and updates grow quickly)
- Open ports: 28015 UDP/TCP (game), 28016 TCP (RCON, optional)
- A non-root user with sudo, or root for lab installs
Step-by-step
1. Install SteamCMD and dependencies
sudo apt update && sudo apt install -y lib32gcc-s1 curl
sudo useradd -m steam || true
sudo -u steam bash -c 'cd ~ && curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -'
2. Download Rust server files
sudo -u steam bash -c '~/steamcmd/steamcmd.sh +force_install_dir ~/rustserver +login anonymous +app_update 258550 validate +quit'
The first download is several GB. Run this during off-peak hours if bandwidth is limited.
3. Create a launch script
Save as /home/steam/rustserver/start.sh:
#!/bin/bash
./RustDedicated -batchmode \
+server.hostname "My Rust Server" \
+server.port 28015 \
+server.maxplayers 50 \
+server.worldsize 3500 \
+server.seed 12345 \
+rcon.port 28016 \
+rcon.password "CHANGE_ME" \
+rcon.web 1
chmod +x /home/steam/rustserver/start.sh
Use our server.cfg editor to tune additional convars before going live.
4. Run under systemd (recommended)
Create /etc/systemd/system/rust.service:
[Unit]
Description=Rust Dedicated Server
After=network.target
[Service]
User=steam
WorkingDirectory=/home/steam/rustserver
ExecStart=/home/steam/rustserver/start.sh
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now rust
sudo journalctl -u rust -f
5. Firewall
sudo ufw allow 28015/tcp
sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp # RCON — restrict to your admin IP if possible
Verification
ss -ulpn | grep 28015shows Rust listening- Connect from Rust client via F1 console:
client.connect YOUR_IP:28015 - RCON: use our RCON cheat sheet or Rust God Tools for live admin
Troubleshooting
| Symptom | Likely cause | What to try |
|---|---|---|
| SteamCMD "Missing configuration" | Incomplete install | Re-run app_update 258550 validate |
| Server exits immediately | Bad convar in start script | Check journalctl -u rust |
| Players cannot connect | Firewall or wrong IP | Confirm public IP binds; open UDP 28015 |
| Low FPS / long boot | Undersized CPU/RAM | Upgrade plan; reduce world size |
FAQ
Do I need Oxide/Carbon?
Vanilla Rust works out of the box. Install Oxide only after vanilla is stable — see how to install Oxide.
How much RAM do I need?
Rough guide: 8 GB for ≤30 players light modding; 16 GB+ for busy modded servers. Use the calculator — do not guess.
Next steps
- Rust server RAM sizing
- Free Nexelya tools including God Tools live map
- Configure hosting when you outgrow your VPS