Technology Encyclopedia Home >How to Run a Rust Game Server on a VPS — Your Own Survival Island

How to Run a Rust Game Server on a VPS — Your Own Survival Island

Rust's PvP ecosystem on public servers can be relentless — offline raiding, freshspawn camps, no meaningful rules. Running your own server changes the dynamic entirely: you set the wipe schedule, configure group limits, decide whether blueprints carry over, and control who gets access.

I run a private Rust server for a group of friends where we set our own rules for a more balanced experience. The server configuration file gives you a surprising amount of control over gameplay mechanics.

Memory is the main hardware consideration — map size directly affects RAM usage. I'll give you the numbers upfront so you can pick the right server plan.

This guide sets up a Rust dedicated server on Ubuntu 22.04 using SteamCMD.

I run game servers on Tencent Cloud Lighthouse. Rust is resource-demanding — the 4 vCPU / 8 GB RAM plan is the practical minimum for a smooth experience, and map size directly affects memory usage. The global data center coverage matters particularly for Rust, where latency is a gameplay factor — pick the region that puts your core player group within 30–50ms. The spec upgrade option lets you start at a reasonable plan and scale up if player count grows, without re-provisioning the server.


Table of Contents

  1. Server Requirements
  2. Prerequisites
  3. Part 1 — Server Setup
  4. Part 2 — Install Rust Server
  5. Part 3 — Configure the Server
  6. Part 4 — Run as systemd Service
  7. Part 5 — Open Firewall Ports
  8. Part 6 — Connect from the Game
  9. Part 7 — Oxide/uMod Plugin Support
  10. Part 8 — Backups and Wipes
  11. The Gotcha: Map Size vs RAM Usage
  12. Admin Commands

  • Key Takeaways
  • Use the appropriate Lighthouse application image to skip manual installation steps where available
  • Lighthouse snapshots provide one-click full-server backup before major changes
  • OrcaTerm browser terminal lets you manage the server from any device
  • CBS cloud disk expansion handles growing storage needs without server migration
  • Console-level firewall + UFW = two independent protection layers

Server Requirements {#requirements}

Players RAM CPU Map Size
1–20 8 GB 4 vCPU 2000–3000
20–50 16 GB 4–6 vCPU 3000–4000
50–100 32 GB 8 vCPU 4000+

Rust server RAM usage scales with map size. A 3000-size map uses roughly 4-6 GB of RAM at startup.


Prerequisites {#prerequisites}

Requirement Notes
Cloud server Tencent Cloud Lighthouse Ubuntu 22.04
8 GB+ RAM Minimum for a functional server
20+ GB disk Server files + map data

Cost: The Standard plan (4 vCPU / 8 GB RAM) starts at ~$12/month. Check current promotions.


Part 1 — Server Setup {#part-1}

ssh ubuntu@YOUR_SERVER_IP
sudo apt update && sudo apt upgrade -y

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 steamcmd

# Add 4 GB swap for memory headroom
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

sudo adduser --disabled-password --gecos "" rust
sudo su - rust

Part 2 — Install Rust Server {#part-2}

# App ID 258550 = Rust Dedicated Server
/usr/games/steamcmd \
  +login anonymous \
  +force_install_dir ~/rust-server \
  +app_update 258550 validate \
  +quit

ls ~/rust-server/
# RustDedicated, RustDedicated_Data/, etc.

exit   # Back to ubuntu user

Part 3 — Configure the Server {#part-3}

Rust is configured via command-line arguments rather than a config file. Create a startup script:

sudo -u rust nano /home/rust/start-rust.sh
#!/bin/bash

# Rust server startup script
# Adjust settings as needed

./RustDedicated \
  -batchmode \
  -nographics \
  +server.port 28015 \
  +server.queryport 28016 \
  +rcon.port 28016 \
  +rcon.password "your_rcon_password" \
  +rcon.web 1 \
  +server.hostname "My Rust Server" \
  +server.description "Private survival server" \
  +server.url "" \
  +server.headerimage "" \
  +server.identity "myserver" \
  +server.seed 1234 \
  +server.worldsize 3000 \
  +server.maxplayers 20 \
  +server.saveinterval 300 \
  +server.tickrate 30 \
  +decay.tick 5 \
  -logFile /home/rust/rust-server.log
chmod +x /home/rust/start-rust.sh

Key parameters:

  • server.seed — controls the map layout (same seed = same map on wipe)
  • server.worldsize — map size in meters (2000–6000); larger = more RAM
  • server.tickrate — updates per second (10–30); 30 is smooth but uses more CPU
  • server.saveinterval — auto-save every N seconds

Part 4 — Run as systemd Service {#part-4}

sudo nano /etc/systemd/system/rust.service
[Unit]
Description=Rust Dedicated Server
After=network.target

[Service]
Type=simple
User=rust
WorkingDirectory=/home/rust/rust-server
ExecStart=/bin/bash /home/rust/start-rust.sh
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable rust
sudo systemctl start rust

# First startup takes 5-15 minutes (map generation)
sudo journalctl -u rust -f
# Look for: Server startup complete

Part 5 — Open Firewall Ports {#part-5}

sudo ufw allow 28015/tcp    # Game port
sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp    # RCON / query port
sudo ufw allow 28016/udp
sudo ufw allow ssh
sudo ufw enable

Open the same in the Lighthouse console firewall.


Part 6 — Connect from the Game {#part-6}

In Rust:

  1. Press F1 to open the console
  2. Type: client.connect YOUR_SERVER_IP:28015
  3. Press Enter

Or find it via the community server browser by searching your server name.


Part 7 — Oxide/uMod Plugin Support {#part-7}

Oxide (now uMod) enables plugins for Rust servers — custom gameplay, chat commands, permissions, and more.

# Download and install Oxide
cd ~/rust-server
wget https://umod.org/games/rust/download/develop -O Oxide.Rust.zip
unzip -o Oxide.Rust.zip
rm Oxide.Rust.zip

# Restart the server - Oxide loads automatically
sudo systemctl restart rust

Install plugins by placing .cs files in ~/rust-server/oxide/plugins/:

ls ~/rust-server/oxide/plugins/
# Popular plugins: Kits, Clans, NoEscape, VanishNoPacket, etc.

Part 8 — Backups and Wipes {#part-8}

Automated backup

sudo nano ~/backup_rust.sh
#!/bin/bash
BACKUP_DIR=/home/ubuntu/backups/rust
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR

# Save the world first
# (Rust auto-saves every server.saveinterval seconds)
sudo tar czf $BACKUP_DIR/rust_save_$DATE.tar.gz \
  /home/rust/rust-server/server/myserver/

find $BACKUP_DIR -mtime +7 -delete
echo "Rust backup: $DATE"
chmod +x ~/backup_rust.sh
(crontab -l; echo "0 * * * * ~/backup_rust.sh") | crontab -

Monthly wipe

# Stop server, delete world files, restart
sudo systemctl stop rust
rm -rf /home/rust/rust-server/server/myserver/
sudo systemctl start rust
# Server generates a fresh map on startup

The Gotcha: Map Size vs RAM Usage {#gotcha}

The most common reason a Rust server crashes or becomes unresponsive: the map size is too large for available RAM.

With 8 GB RAM:

  • server.worldsize 2000 — comfortable (uses ~3-4 GB)
  • server.worldsize 3000 — fine with headroom
  • server.worldsize 4000 — will struggle, may OOM

If you're experiencing random crashes or the server not starting properly:

free -h
# Check if available RAM is > 2 GB during server startup

# Reduce map size in start-rust.sh
+server.worldsize 2000

The add swap space as a buffer (already covered in Part 1).


Admin Commands {#commands}

Connect via RCON for admin access:

# Install rcon client
sudo apt install -y rustup
# Or use web RCON at: http://facepunch.github.io/webrcon/

# Connect
rcon -a YOUR_SERVER_IP:28016 -p your_rcon_password

Common admin commands:

status                         - Show server status and players
players                        - List online players
kick "PlayerName" "Reason"     - Kick player
ban "PlayerName" "Reason"      - Ban player
unban "SteamID"                - Unban
server.hostname "New Name"     - Change server name
server.maxplayers 30           - Change max players
teleport "PlayerName" 0 100 0  - Teleport player to coordinates
weather.rain 1                 - Force weather
addtime 6                      - Add 6 hours to in-game time

Troubleshooting {#troubleshooting}

Issue Likely Cause Fix
Connection refused Service not running or wrong port Check systemctl status SERVICE and verify firewall rules
Permission denied Wrong file ownership or permissions Check file ownership with ls -la and use chown/chmod to fix
502 Bad Gateway Backend service not running Restart the backend service; check logs with journalctl -u SERVICE
SSL certificate error Certificate expired or domain mismatch Run sudo certbot renew and verify domain DNS points to server IP
Service not starting Config error or missing dependency Check logs with journalctl -u SERVICE -n 50 for specific error
Out of disk space Logs or data accumulation Run df -h to identify usage; clean logs or attach CBS storage
High memory usage Too many processes or memory leak Check with htop; consider upgrading instance plan if consistently high
Firewall blocking traffic Port not open in UFW or Lighthouse console Open port in Lighthouse console firewall AND sudo ufw allow PORT

Frequently Asked Questions {#faq}

What server size do I need for a Rust game server server?
Check the requirements section in this guide. Generally: more RAM = more players. Start with the recommended specs and monitor actual usage with htop before scaling up.

How do I keep the Rust game server server running when I close my SSH session?
Use screen, tmux, or systemd to run the server as a background process. The guide covers setting up a systemd service for automatic startup and crash recovery.

How do I update the Rust game server server software?
Stop the server, download the new version, replace the old binary or files, and restart. Always back up your world/save data first. Check the game's official documentation for version-specific migration notes.

How do I protect my server from unwanted players?
Use password protection and/or whitelist mode (if supported). Restrict the server port in UFW to known IP addresses if it's a private server for a small group.

What region should I choose for the server?
Choose the Lighthouse data center closest to where most of your players are located. Latency is directly tied to geographic distance from the server.

Run your Rust server:
👉 Tencent Cloud Lighthouse — High-RAM VPS for Rust servers
👉 View current pricing and promotions
👉 Explore all active deals and offers