455 lines
16 KiB
PHP
455 lines
16 KiB
PHP
<?php
|
|
/**
|
|
* Rust Server Documentation - Comprehensive Hosting Guide
|
|
*/
|
|
?>
|
|
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
|
<h3 style="color: #ffffff; margin-top: 0;">Navigation</h3>
|
|
<div style="display: flex; flex-wrap: wrap; gap: 10px;">
|
|
<a href="#quick-info" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Quick Info</a>
|
|
<a href="#installation" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Installation</a>
|
|
<a href="#configuration" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Configuration</a>
|
|
<a href="#parameters" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Parameters</a>
|
|
<a href="#plugins-mods" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Plugins & Mods</a>
|
|
<a href="#troubleshooting" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Troubleshooting</a>
|
|
<a href="#performance" style="background: #0f172a; padding: 8px 16px; border-radius: 4px; color: #a5b4fc; text-decoration: none;">Performance</a>
|
|
</div>
|
|
</div>
|
|
|
|
<h1>Rust Server Hosting Guide</h1>
|
|
|
|
<h2>Overview</h2>
|
|
<p>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.</p>
|
|
|
|
<h2 id="quick-info">Quick Info</h2>
|
|
<div style="background: #1e3a5f; padding: 20px; border-left: 4px solid #3b82f6; margin: 20px 0; border-radius: 4px;">
|
|
<ul style="color: #e5e7eb; line-height: 1.8; margin: 0;">
|
|
<li><strong style="color: #ffffff;">Default Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">28015</code> (UDP)</li>
|
|
<li><strong style="color: #ffffff;">RCON Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">28016</code> (TCP)</li>
|
|
<li><strong style="color: #ffffff;">Query Port:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">28017</code> (UDP/TCP - Rust+ app)</li>
|
|
<li><strong style="color: #ffffff;">Minimum RAM:</strong> 8GB (small server)</li>
|
|
<li><strong style="color: #ffffff;">Recommended RAM:</strong> 16GB+ (medium/large servers)</li>
|
|
<li><strong style="color: #ffffff;">Storage:</strong> 20GB+ (can grow to 50GB+)</li>
|
|
<li><strong style="color: #ffffff;">App ID:</strong> 258550 (dedicated server)</li>
|
|
<li><strong style="color: #ffffff;">Max Players:</strong> Configurable (50-500+)</li>
|
|
<li><strong style="color: #ffffff;">Map Size:</strong> 3000-6000 (default 4000)</li>
|
|
<li><strong style="color: #ffffff;">Log Files:</strong> <code style="background: #0f172a; padding: 2px 6px; border-radius: 3px; color: #a5b4fc;">RustDedicated_Data/output_log.txt</code></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h2 id="installation">Installation & Setup</h2>
|
|
|
|
<h3>System Requirements</h3>
|
|
<ul>
|
|
<li><strong>OS:</strong> Linux (Ubuntu 20.04+, Debian 10+) or Windows Server 2016+</li>
|
|
<li><strong>CPU:</strong> Quad-core 3.2GHz+ (high single-thread performance)</li>
|
|
<li><strong>RAM:</strong> 8GB minimum, 16GB+ recommended</li>
|
|
<li><strong>Storage:</strong> 20GB+ SSD (HDD not recommended)</li>
|
|
<li><strong>Bandwidth:</strong> 1Gbps+ recommended for 100+ players</li>
|
|
</ul>
|
|
|
|
<h3>Installing via SteamCMD</h3>
|
|
<p>Download: <a href="https://developer.valvesoftware.com/wiki/SteamCMD" target="_blank">SteamCMD Guide</a></p>
|
|
|
|
<h4>Linux Installation</h4>
|
|
<pre><code># 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
|
|
</code></pre>
|
|
|
|
<h4>Windows Installation</h4>
|
|
<pre><code>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
|
|
</code></pre>
|
|
|
|
<h2 id="configuration">Server Configuration</h2>
|
|
|
|
<h3>Basic Startup Script (Linux)</h3>
|
|
<pre><code>#!/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"
|
|
</code></pre>
|
|
|
|
<h3>Windows Startup (start.bat)</h3>
|
|
<pre><code>@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
|
|
</code></pre>
|
|
|
|
<h3>Server Identity</h3>
|
|
<p>Server data is stored in: <code>server/[identity]/</code></p>
|
|
<ul>
|
|
<li><code>server/myserver/cfg/</code> - Config files</li>
|
|
<li><code>server/myserver/UserPersistence/</code> - Player data</li>
|
|
<li><code>server/myserver/proceduralmap.[seed].[size].map</code> - World file</li>
|
|
</ul>
|
|
|
|
<h3>server.cfg</h3>
|
|
<p>Create <code>server/myserver/cfg/server.cfg</code>:</p>
|
|
<pre><code>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
|
|
</code></pre>
|
|
|
|
<h2 id="parameters">Startup Parameters Reference</h2>
|
|
|
|
<h3>Essential Parameters</h3>
|
|
<pre><code>+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
|
|
</code></pre>
|
|
|
|
<h3>Gameplay Parameters</h3>
|
|
<pre><code>+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)
|
|
</code></pre>
|
|
|
|
<h3>Performance Parameters</h3>
|
|
<pre><code>+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
|
|
</code></pre>
|
|
|
|
<h2 id="plugins-mods">Plugins & Mods (Oxide/uMod)</h2>
|
|
|
|
<h3>Installing Oxide/uMod</h3>
|
|
<ol>
|
|
<li>Download uMod: <a href="https://umod.org/games/rust" target="_blank">uMod.org</a></li>
|
|
<li>Extract to server root directory</li>
|
|
<li>Files go directly into <code>/server/</code> directory</li>
|
|
<li>Restart server</li>
|
|
<li>Plugins folder created at <code>oxide/plugins/</code></li>
|
|
</ol>
|
|
|
|
<h3>Essential Plugins</h3>
|
|
|
|
<h4>Admin Tools</h4>
|
|
<ul>
|
|
<li><strong>Admin Radar:</strong> ESP-style admin radar</li>
|
|
<li><strong>Vanish:</strong> Invisible admin mode</li>
|
|
<li><strong>Better Chat:</strong> Chat formatting and moderation</li>
|
|
<li><strong>Admin Hammer:</strong> Building modification tool</li>
|
|
</ul>
|
|
|
|
<h4>Gameplay Enhancements</h4>
|
|
<ul>
|
|
<li><strong>Kits:</strong> Item kit system</li>
|
|
<li><strong>Teleportation:</strong> /home, /tp commands</li>
|
|
<li><strong>Clans:</strong> Clan/team system</li>
|
|
<li><strong>Economics:</strong> Server currency system</li>
|
|
<li><strong>Skip Night Vote:</strong> Vote to skip night</li>
|
|
</ul>
|
|
|
|
<h4>Protection</h4>
|
|
<ul>
|
|
<li><strong>Anti Cheat Enhanced:</strong> Cheat detection</li>
|
|
<li><strong>Raid Block:</strong> Prevent offline raiding</li>
|
|
<li><strong>No Give:</strong> Prevent admin abuse</li>
|
|
</ul>
|
|
|
|
<h4>Performance</h4>
|
|
<ul>
|
|
<li><strong>Auto Purge:</strong> Remove abandoned buildings</li>
|
|
<li><strong>Entity Cleanup:</strong> Remove excess entities</li>
|
|
</ul>
|
|
|
|
<h3>Installing Plugins</h3>
|
|
<pre><code># 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
|
|
</code></pre>
|
|
|
|
<h3>Plugin Configuration</h3>
|
|
<p>Configs auto-generate in <code>oxide/config/</code> on first load.</p>
|
|
<pre><code># Edit config
|
|
nano oxide/config/Kits.json
|
|
|
|
# In-game or RCON
|
|
oxide.reload Kits
|
|
</code></pre>
|
|
|
|
<h2 id="troubleshooting">Troubleshooting</h2>
|
|
|
|
<h3>Server Won't Start</h3>
|
|
|
|
<h4>Missing Libraries (Linux)</h4>
|
|
<pre><code># 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
|
|
</code></pre>
|
|
|
|
<h4>Port Already in Use</h4>
|
|
<pre><code># Check ports
|
|
sudo netstat -tulpn | grep 28015
|
|
sudo lsof -i :28015
|
|
|
|
# Kill process or change port
|
|
+server.port 28016 +rcon.port 28017
|
|
</code></pre>
|
|
|
|
<h4>Permission Denied (Linux)</h4>
|
|
<pre><code>chmod +x RustDedicated
|
|
chmod +x start.sh
|
|
</code></pre>
|
|
|
|
<h3>Server Not in Browser</h3>
|
|
<ol>
|
|
<li><strong>Check firewall:</strong>
|
|
<pre><code>sudo ufw allow 28015/udp
|
|
sudo ufw allow 28016/tcp
|
|
sudo ufw allow 28017/tcp
|
|
</code></pre>
|
|
</li>
|
|
<li><strong>Verify ports open:</strong> <code>netstat -tulpn | grep Rust</code></li>
|
|
<li><strong>Wait 5-10 minutes:</strong> Can take time to appear</li>
|
|
<li><strong>Direct connect:</strong> Press F1, type <code>client.connect your.ip:28015</code></li>
|
|
</ol>
|
|
|
|
<h3>High RAM Usage</h3>
|
|
<ol>
|
|
<li><strong>Reduce worldsize:</strong> <code>+server.worldsize 3000</code></li>
|
|
<li><strong>Lower max players:</strong> <code>+server.maxplayers 50</code></li>
|
|
<li><strong>Increase saveinterval:</strong> <code>+server.saveinterval 600</code></li>
|
|
<li><strong>Use Auto Purge plugin</strong></li>
|
|
<li><strong>Regular wipes:</strong> Restart with fresh map weekly/monthly</li>
|
|
</ol>
|
|
|
|
<h3>Lag/Low FPS</h3>
|
|
<ol>
|
|
<li><strong>Reduce entity count:</strong> Use Entity Cleanup plugin</li>
|
|
<li><strong>Lower tickrate:</strong> <code>+server.tickrate 20</code> (default 30)</li>
|
|
<li><strong>Increase planttick:</strong> <code>server.planttick 120</code></li>
|
|
<li><strong>Monitor with:</strong> <code>perf 1</code> in console</li>
|
|
<li><strong>Upgrade hardware:</strong> Rust is resource-intensive</li>
|
|
</ol>
|
|
|
|
<h3>Map Wipe</h3>
|
|
<pre><code># Stop server
|
|
# Delete map file
|
|
rm server/myserver/proceduralmap.*
|
|
|
|
# Change seed (optional)
|
|
+server.seed 54321
|
|
|
|
# Start server (generates new map)
|
|
./start.sh
|
|
</code></pre>
|
|
|
|
<h3>Blueprint Wipe</h3>
|
|
<pre><code># Stop server
|
|
# Delete blueprint data
|
|
rm -rf server/myserver/UserPersistence/
|
|
|
|
# Start server
|
|
./start.sh
|
|
</code></pre>
|
|
|
|
<h2 id="performance">Performance Optimization</h2>
|
|
|
|
<h3>Server Configuration</h3>
|
|
<pre><code>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
|
|
</code></pre>
|
|
|
|
<h3>Map Size vs Performance</h3>
|
|
<ul>
|
|
<li><strong>3000:</strong> Small, 50-75 players, 8GB RAM</li>
|
|
<li><strong>4000:</strong> Medium, 100-150 players, 12GB RAM</li>
|
|
<li><strong>5000:</strong> Large, 200+ players, 16GB+ RAM</li>
|
|
<li><strong>6000:</strong> Huge, 300+ players, 24GB+ RAM</li>
|
|
</ul>
|
|
|
|
<h3>Scheduled Tasks</h3>
|
|
<pre><code>#!/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
|
|
</code></pre>
|
|
|
|
<h3>Crontab Auto-Restart</h3>
|
|
<pre><code># 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/
|
|
</code></pre>
|
|
|
|
<h2>RCON Management</h2>
|
|
|
|
<h3>RCON Tools</h3>
|
|
<ul>
|
|
<li><strong>RustAdmin:</strong> <a href="https://www.rustadmin.com/" target="_blank">RustAdmin.com</a></li>
|
|
<li><strong>RCONc:</strong> Web-based RCON</li>
|
|
<li><strong>Rust+:</strong> Official mobile app (requires +rcon.web true)</li>
|
|
</ul>
|
|
|
|
<h3>Common RCON Commands</h3>
|
|
<pre><code># 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
|
|
</code></pre>
|
|
|
|
<h2>Additional Resources</h2>
|
|
<ul>
|
|
<li><a href="https://wiki.facepunch.com/rust/" target="_blank">Official Rust Wiki</a></li>
|
|
<li><a href="https://umod.org/documentation" target="_blank">uMod Documentation</a></li>
|
|
<li><a href="https://www.corrosionhour.com/" target="_blank">Corrosion Hour (Community & Guides)</a></li>
|
|
<li><a href="https://www.rustafied.com/" target="_blank">Rustafied (News & Updates)</a></li>
|
|
<li><a href="https://discord.gg/rust-server-admins" target="_blank">Rust Server Admin Discord</a></li>
|
|
</ul>
|
|
|
|
<div style="background: #78350f; padding: 20px; border-left: 4px solid #f59e0b; margin: 20px 0; border-radius: 4px;">
|
|
<h3 style="color: #ffffff; margin-top: 0;">⚠️ Important Notes</h3>
|
|
<ul style="color: #fef3c7; line-height: 1.8; margin: 0;">
|
|
<li>Rust servers require significant resources (8GB+ RAM minimum)</li>
|
|
<li>Regular map wipes recommended (weekly/monthly)</li>
|
|
<li>Keep server updated via SteamCMD</li>
|
|
<li>Use strong RCON password</li>
|
|
<li>Monitor server performance regularly</li>
|
|
<li>Backup server data before updates</li>
|
|
</ul>
|
|
</div>
|
|
|
|
<p style="text-align: center; margin-top: 30px; color: #666;">
|
|
<em>Last updated: November 2024</em>
|
|
</p>
|