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.
- Key Takeaways
| 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.
| 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.
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
# 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
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 RAMserver.tickrate — updates per second (10–30); 30 is smooth but uses more CPUserver.saveinterval — auto-save every N secondssudo 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
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.
In Rust:
F1 to open the consoleclient.connect YOUR_SERVER_IP:28015Or find it via the community server browser by searching your server name.
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.
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 -
# 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 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 headroomserver.worldsize 4000 — will struggle, may OOMIf 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).
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
| 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 |
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.
Run your Rust server:
👉 Tencent Cloud Lighthouse — High-RAM VPS for Rust servers
👉 View current pricing and promotions
👉 Explore all active deals and offers