Rust
| Platform | Support | Notes |
|---|---|---|
| Linux | ✅ Native | Recommended |
| Windows | ✅ Native |
Rust is one of the most resource-demanding survival games. A server with at least 8 GB of RAM and 4 CPU cores is the minimum for standard maps.
Requirements
| Component | Minimum | Recommended |
|---|---|---|
| RAM | 8 GB | 16+ GB |
| CPU | 4 core | 6-8 core |
| Disk | 20 GB SSD | 40+ GB NVMe |
| OS | Ubuntu 22.04 / Debian 12 | Ubuntu 22.04 |
| Port | 28015 UDP | : |
Preparation
Dependencies and dedicated user
# Install 32-bit dependencies for SteamCMD
dpkg --add-architecture i386
apt update
apt install -y lib32gcc-s1 curl wget screen
# Create dedicated user (never use root for gameserver)
useradd -m -s /bin/bash rustserver
su - rustserver
Install SteamCMD
mkdir ~/steamcmd && cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
Rust Server Installation
# Create server directory
mkdir ~/rust_server
# Download/update server (AppID 258550)
~/steamcmd/steamcmd.sh \
+force_install_dir ~/rust_server \
+login anonymous \
+app_update 258550 validate \
+quit
Installation takes 10-20 minutes depending on network speed (~10 GB).
Configuration and Startup
Startup script
nano ~/start_rust.sh
#!/bin/bash
cd ~/rust_server
./RustDedicated \
-batchmode \
-nographics \
+server.ip 0.0.0.0 \
+server.port 28015 \
+server.tickrate 30 \
+server.hostname "My Rust Server" \
+server.description "Server managed by DeluxHost" \
+server.url "https://deluxhost.net" \
+server.worldsize 3500 \
+server.seed 12345 \
+server.maxplayers 50 \
+server.saveinterval 600 \
+rcon.port 28016 \
+rcon.password "CHANGE_THIS_PASSWORD" \
+rcon.web 1 \
2>&1 | tee ~/rust_server/logs/server.log
chmod +x ~/start_rust.sh
mkdir ~/rust_server/logs
Background startup with screen
screen -S rust ./start_rust.sh
# Detach with Ctrl+A, D
# Reattach with:
screen -r rust
systemd service (recommended)
Return to root user:
exit # exit from rustserver
nano /etc/systemd/system/rust-server.service
[Unit]
Description=Rust Dedicated Server
After=network.target
[Service]
User=rustserver
Group=rustserver
WorkingDirectory=/home/rustserver/rust_server
ExecStart=/home/rustserver/start_rust.sh
ExecStop=/bin/kill -SIGINT $MAINPID
Restart=on-failure
RestartSec=30
KillSignal=SIGINT
TimeoutStopSec=60
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now rust-server
systemctl status rust-server
Firewall
ufw allow 28015/udp # main server
ufw allow 28016/tcp # RCON (only if necessary, limit to trusted IPs)
Don't expose the RCON port on the internet without protecting it. Use a firewall to limit it to your IP, or access it via SSH tunnel.
Update the Server
Rust updates every Thursday. Servers not updated are removed from official server list.
# Stop server
systemctl stop rust-server
# Update via SteamCMD (as rustserver user)
su - rustserver -c "~/steamcmd/steamcmd.sh +force_install_dir ~/rust_server +login anonymous +app_update 258550 +quit"
# Restart
systemctl start rust-server
Automatic weekly update
# Add to rustserver user's crontab
su - rustserver -c 'crontab -e'
# Every Thursday at 8:00 PM (after Facepunch update)
0 20 * * 4 systemctl stop rust-server && ~/steamcmd/steamcmd.sh +force_install_dir ~/rust_server +login anonymous +app_update 258550 +quit && systemctl start rust-server
Plugins with Oxide/uMod
Oxide is the most used plugin framework for Rust.
# Download Oxide installer
su - rustserver
cd ~/rust_server
curl -sqL https://umod.org/games/rust/download -o oxide.zip
unzip -o oxide.zip
rm oxide.zip
Plugins (.cs or .dll) go in ~/rust_server/oxide/plugins/. Reload without restart:
# Via RCON (use rcon-cli or web panel)
oxide.reload PluginName
oxide.reload * # reload all
Useful Admin Commands
Connect via RCON with a client like rcon.io or rcon-cli:
# Give admin to a player
ownerid STEAMID64 "PlayerName" "DeluxAdmin"
# Kick/ban
kick STEAMID64 "reason"
ban STEAMID64 "reason"
# Save server manually
server.save
# See connected players
players
# Wipe map (keeps blueprints)
wipe
Performance Optimization
# Add to your startup script:
+server.tickrate 30 # default 30, reduce to 20 for less CPU
+ai.think false # disable AI (reduced PVE)
+server.stability false # less structural calculations
+server.pve false # standard PVP
With worldsize 3500 you need about 8-10 GB of RAM. To save, use worldsize 2000 (6 GB). Largest map (worldsize 6000) requires 14+ GB.
Monitor Logs
# Live logs
journalctl -u rust-server -f
# Last 100 lines
journalctl -u rust-server --lines 100 --no-pager
Tips & Tweaks
Server Performance Flags
Add to your startup script for optimization:
# FPS and tickrate settings
+server.fps 200 # 200 = buttery smooth, 60 = low CPU
+server.tickrate 30 # Higher = more responsive, more CPU
+server.description "My Server on DeluxHost"
# Performance tweaks
+ai.think false # Disable AI thinking (save CPU)
+server.stability false # Reduce physics calculations
+server.pve false # Standard PVP
# Connection optimization
+net.packetlog false # Reduce logging overhead
+net.read 256 # Network bandwidth
Common configurations:
| Server Type | FPS | Tickrate | AI | Notes |
|---|---|---|---|---|
| Small PVP | 200 | 30 | off | ~4-8 players |
| Medium | 100 | 20 | off | 20-30 players |
| Large | 60 | 15 | off | 50+ players |
| No-wipe | 100 | 30 | on | PvE-focused |
Wipe Schedule
Example: Monthly wipes on first Thursday at 5 PM UTC
# In startup script, add server announcement:
+server.description "Monthly wipe: First Thursday @ 5PM UTC"
Automate wipe with backup:
# Add to root crontab for 1st Thursday at 4:55 PM (before wipe)
55 16 * * 4 [ $(date +\%d) -le 07 ] && systemctl stop rust-server && \
tar -czf /backups/rust-pre-wipe-$(date +\%Y\%m\%d).tar.gz /home/rustserver/rust_server/server/ && \
rm -rf /home/rustserver/rust_server/server/*.sav && \
systemctl start rust-server
RCON Web Panel
Access server console via web:
# In startup script:
+rcon.web 1
+rcon.port 28016
+rcon.password "your_secure_password"
Then browse: http://SERVER_IP:28016 (requires password)
Popular RCON clients:
Useful Admin Commands (RCON)
| Command | Purpose |
|---|---|
players | List connected players with IDs |
ownerid <STEAMID64> "Name" "Reason" | Add admin |
moderatorid <STEAMID64> | Add moderator |
removemoderator <STEAMID64> | Remove moderator |
removeowner <STEAMID64> | Remove admin |
kick <STEAMID64> "Reason" | Kick player |
ban <STEAMID64> "Reason" | Ban player (persistent) |
unban <STEAMID64> | Remove ban |
banid <STEAMID64> "Reason" | Ban by ID |
banlist | Show all bans |
server.save | Manual save |
quit | Graceful shutdown |
Oxide Plugin Commands
Manage plugins via RCON:
# Reload plugin
oxide.reload PluginName
# Reload all plugins
oxide.reload *
# Unload plugin
oxide.unload PluginName
# Load plugin
oxide.load PluginName
# Show version
oxide.version
Popular plugins:
Memory and Map Size Tuning
Relationship between worldsize and RAM:
| Worldsize | Recommended RAM | Player Capacity |
|---|---|---|
| 2000 | 6 GB | 20-30 |
| 3500 | 8-10 GB | 40-50 |
| 4500 | 12 GB | 60-80 |
| 6000 | 16+ GB | 100+ |
# In startup script
+server.worldsize 3500
+server.seed 12345 # For reproducibility
+server.salt 54321
Bandwidth and Network Optimization
# Server startup flags for network tuning
+net.packetlog 0
+net.read 256
+net.write 256
+server.tickrate 30 # Lower = less bandwidth
+server.fps 100 # Lower = less updates
Monitoring and Health Checks
# Server running status
systemctl status rust-server
# Memory and CPU usage
ps aux | grep RustDedicated
# Active connections
ss -tulnp | grep 28015
# Disk usage (server saves can grow)
du -h /home/rustserver/rust_server/server/
# Check for crashes in logs
journalctl -u rust-server -n 50 | grep -i "crash\|fatal"
# Last 10 messages (online players, etc.)
tail -10 ~/rust_server/logs/server.log
Troubleshooting Common Issues
Server not showing in list:
Players experiencing lag/stuttering:
High CPU usage:
- rcon.io - Web-based
- Rusty - Desktop
- rcon-cli - Command-line
- Kits: free items at spawn
- NoEscape: prevent building in caves
- VendingSetup: vending machines
- Duels: PvP arena plugin
- Backpacks: portable storage
- Update server (wipes every Thursday)
- Check sv_setsteamaccount is set (Oxide requirement)
- Verify firewall allows 28015 UDP
- Reduce tickrate: +server.tickrate 20
- Reduce FPS: +server.fps 100
- Check /worldsize (reduce map size if needed)
- Monitor RAM: free -h
- Disable AI: +ai.think false
- Lower FPS: +server.fps 60
- Reduce tickrate: +server.tickrate 15
- Check installed plugins (some are resource-heavy)
Gerelateerde artikelen
CS2
How to install and configure a Counter-Strike 2 dedicated server on Linux VPS with SteamCMD
Palworld
Create a dedicated Palworld server on Linux with SteamCMD. Configuration, ports and automatic startup.
Valheim
Install a Valheim dedicated server on Linux with SteamCMD. Configuration, password, cross-play and automatic update.
