Navigation

Quick Info Installation Configuration Parameters Plugins & Mods Troubleshooting Performance

Rust Server Hosting Guide

Overview

Rust is a popular multiplayer survival game where players gather resources, build bases, and compete for survival. This comprehensive guide covers hosting a dedicated Rust server on Linux or Windows.

Quick Info

Installation & Setup

System Requirements

Installing via SteamCMD

Download: SteamCMD Guide

Linux Installation

# Install SteamCMD
mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

# Run SteamCMD and install Rust
./steamcmd.sh
login anonymous
force_install_dir /home/rust/server
app_update 258550 validate
quit

Windows Installation

1. Download SteamCMD for Windows
2. Extract to C:\steamcmd
3. Run steamcmd.exe
4. login anonymous
5. force_install_dir C:\RustServer
6. app_update 258550 validate
7. quit

Server Configuration

Basic Startup Script (Linux)

#!/bin/bash
# start.sh

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/rust/server/RustDedicated_Data/Plugins/x86_64

cd /home/rust/server

./RustDedicated -batchmode \
    +server.ip 0.0.0.0 \
    +server.port 28015 \
    +server.tickrate 30 \
    +server.hostname "My Rust Server" \
    +server.identity "myserver" \
    +server.maxplayers 100 \
    +server.worldsize 4000 \
    +server.seed 12345 \
    +server.saveinterval 300 \
    +server.globalchat true \
    +server.description "Welcome to my server" \
    +server.headerimage "https://i.imgur.com/yourimage.png" \
    +server.url "https://yourwebsite.com" \
    +rcon.ip 0.0.0.0 \
    +rcon.port 28016 \
    +rcon.password "YourSecurePassword" \
    +rcon.web true \
    -logfile "logs/$(date +%Y%m%d_%H%M%S).txt"

Windows Startup (start.bat)

@echo off
cls
:start
echo Starting Rust server...

RustDedicated.exe -batchmode ^
    +server.ip 0.0.0.0 ^
    +server.port 28015 ^
    +server.hostname "My Rust Server" ^
    +server.identity "myserver" ^
    +server.maxplayers 100 ^
    +server.worldsize 4000 ^
    +server.saveinterval 300 ^
    +rcon.port 28016 ^
    +rcon.password "YourSecurePassword"

goto start

Server Identity

Server data is stored in: server/[identity]/

server.cfg

Create server/myserver/cfg/server.cfg:

server.hostname "My Rust Server"
server.description "Welcome to my Rust server!"
server.url "https://yourwebsite.com"
server.headerimage "https://i.imgur.com/yourimage.png"
server.identity "myserver"
server.seed 12345
server.worldsize 4000
server.maxplayers 100
server.saveinterval 300
server.tickrate 30

# Gameplay
server.pve false
server.radiation true
server.stability true
decay.scale 1.0

# Performance
server.entityrate 16
server.planttick 60
server.planttickscale 1

# Global chat
server.globalchat true
server.chathistory 500

# Voice chat
voice.decay true

# RCON
rcon.password "YourSecurePassword"
rcon.web true

Startup Parameters Reference

Essential Parameters

+server.ip "0.0.0.0"              # Server IP (0.0.0.0 = all interfaces)
+server.port 28015                 # Game port (UDP)
+server.hostname "Name"            # Server name (appears in browser)
+server.identity "folder_name"     # Server data folder name
+server.maxplayers 100             # Maximum players
+server.worldsize 4000             # Map size (1000-6000)
+server.seed 12345                 # World seed (random if not set)
+server.saveinterval 300           # Autosave interval (seconds)
+server.tickrate 30                # Server tick rate (10-30)
+server.description "Text"         # Server description
+server.url "https://url"          # Server website
+server.headerimage "URL"          # Server banner image
+rcon.ip "0.0.0.0"                 # RCON bind IP
+rcon.port 28016                   # RCON port (TCP)
+rcon.password "password"          # RCON password
+rcon.web true                     # Enable web/Rust+ RCON

Gameplay Parameters

+server.pve false                  # PvE mode (true/false)
+server.radiation true             # Radiation enabled
+server.stability true             # Building stability
+server.secure true                # Require VAC
decay.scale 1.0                    # Decay rate multiplier
server.itemdespawn 180             # Item despawn time (minutes)

Performance Parameters

+server.entityrate 16              # Entity network update rate
+fps.limit 60                      # Server FPS limit
+gc.buffer 4096                    # Garbage collection buffer
server.planttick 60                # Plant growth tick rate
server.planttickscale 1            # Plant growth speed

Plugins & Mods (Oxide/uMod)

Installing Oxide/uMod

  1. Download uMod: uMod.org
  2. Extract to server root directory
  3. Files go directly into /server/ directory
  4. Restart server
  5. Plugins folder created at oxide/plugins/

Essential Plugins

Admin Tools

Gameplay Enhancements

Protection

Performance

Installing Plugins

# 1. Download .cs plugin file
# 2. Place in oxide/plugins/
cd /home/rust/server/oxide/plugins/
wget https://umod.org/plugins/Plugin.cs

# 3. Plugin auto-loads (or use oxide.reload PluginName)
# 4. Configure in oxide/config/PluginName.json

Plugin Configuration

Configs auto-generate in oxide/config/ on first load.

# Edit config
nano oxide/config/Kits.json

# In-game or RCON
oxide.reload Kits

Troubleshooting

Server Won't Start

Missing Libraries (Linux)

# Install required libraries
sudo apt update
sudo apt install lib32gcc-s1 libcurl4-gnutls-dev:i386

# If still issues
sudo apt install lib32stdc++6 libc6-i386

Port Already in Use

# Check ports
sudo netstat -tulpn | grep 28015
sudo lsof -i :28015

# Kill process or change port
+server.port 28016 +rcon.port 28017

Permission Denied (Linux)

chmod +x RustDedicated
chmod +x start.sh

Server Not in Browser

  1. Check firewall:
    sudo ufw allow 28015/udp
    sudo ufw allow 28016/tcp
    sudo ufw allow 28017/tcp
    
  2. Verify ports open: netstat -tulpn | grep Rust
  3. Wait 5-10 minutes: Can take time to appear
  4. Direct connect: Press F1, type client.connect your.ip:28015

High RAM Usage

  1. Reduce worldsize: +server.worldsize 3000
  2. Lower max players: +server.maxplayers 50
  3. Increase saveinterval: +server.saveinterval 600
  4. Use Auto Purge plugin
  5. Regular wipes: Restart with fresh map weekly/monthly

Lag/Low FPS

  1. Reduce entity count: Use Entity Cleanup plugin
  2. Lower tickrate: +server.tickrate 20 (default 30)
  3. Increase planttick: server.planttick 120
  4. Monitor with: perf 1 in console
  5. Upgrade hardware: Rust is resource-intensive

Map Wipe

# Stop server
# Delete map file
rm server/myserver/proceduralmap.*

# Change seed (optional)
+server.seed 54321

# Start server (generates new map)
./start.sh

Blueprint Wipe

# Stop server
# Delete blueprint data
rm -rf server/myserver/UserPersistence/

# Start server
./start.sh

Performance Optimization

Server Configuration

server.tickrate 25                 # Lower = better performance
server.entityrate 12               # Lower = less bandwidth
server.planttick 90                # Higher = less CPU usage
fps.limit 60                       # Limit server FPS
gc.buffer 4096                     # Garbage collection

Map Size vs Performance

Scheduled Tasks

#!/bin/bash
# Auto-restart script with backup

# Backup
tar -czf backup_$(date +%Y%m%d).tar.gz server/myserver/

# Stop server
killall RustDedicated
sleep 10

# Update server
cd ~/steamcmd
./steamcmd.sh +login anonymous +force_install_dir /home/rust/server +app_update 258550 +quit

# Start server
cd /home/rust/server
./start.sh

Crontab Auto-Restart

# Edit crontab
crontab -e

# Restart daily at 6 AM
0 6 * * * /home/rust/restart.sh

# Save weekly at Sunday 5 AM
0 5 * * 0 tar -czf /backups/rust_$(date +\%Y\%m\%d).tar.gz /home/rust/server/myserver/

RCON Management

RCON Tools

Common RCON Commands

# Player management
kick "PlayerName" "Reason"
ban "PlayerName" "Reason"
banid "SteamID64"
unban "SteamID64"
listid                           # List banned IDs
status                           # Show connected players

# Server management
save                             # Manual save
server.writecfg                  # Save config
server.stop                      # Stop server
server.restart                   # Restart server
oxide.reload PluginName          # Reload plugin

# Game settings
env.time 12                      # Set time (0-24)
weather.rain 0                   # Stop rain
airdrop.min_players 0            # Always allow airdrops

Additional Resources

⚠️ Important Notes

Last updated: November 2024