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.
28015 (UDP)28016 (TCP)28017 (UDP/TCP - Rust+ app)RustDedicated_Data/output_log.txtDownload: SteamCMD Guide
# 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
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
#!/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"
@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 data is stored in: server/[identity]/
server/myserver/cfg/ - Config filesserver/myserver/UserPersistence/ - Player dataserver/myserver/proceduralmap.[seed].[size].map - World fileCreate 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
+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
+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)
+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
/server/ directoryoxide/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
Configs auto-generate in oxide/config/ on first load.
# Edit config
nano oxide/config/Kits.json
# In-game or RCON
oxide.reload Kits
# 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
# Check ports
sudo netstat -tulpn | grep 28015
sudo lsof -i :28015
# Kill process or change port
+server.port 28016 +rcon.port 28017
chmod +x RustDedicated
chmod +x start.sh
sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp
sudo ufw allow 28017/tcp
netstat -tulpn | grep Rustclient.connect your.ip:28015+server.worldsize 3000+server.maxplayers 50+server.saveinterval 600+server.tickrate 20 (default 30)server.planttick 120perf 1 in console# Stop server
# Delete map file
rm server/myserver/proceduralmap.*
# Change seed (optional)
+server.seed 54321
# Start server (generates new map)
./start.sh
# Stop server
# Delete blueprint data
rm -rf server/myserver/UserPersistence/
# Start server
./start.sh
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
#!/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
# 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/
# 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
Last updated: November 2024