Rust Game Server Hosting Guide: Setup, Map Sizes, Wipe Schedules, RCON, and DDoS Protection

Published 15 min read
rustgame-serverhostingrconddos-protectionperformance-tuning

Rust is one of the most resource-intensive multiplayer games to host, requiring careful balancing of CPU, RAM, storage I/O, and network bandwidth. A poorly configured Rust server causes rubber-banding, entity desync, and player churn. This guide covers hardware sizing, server installation, map configuration, wipe scheduling, RCON management, performance tuning, and DDoS protection.

According to 2025 Steam statistics, Rust consistently maintains 80,000-120,000 concurrent players, making it the third most popular survival game by active player count. Community-hosted servers account for 85% of all Rust servers. Server performance directly correlates with player retention: servers with consistent 30+ TPS retain 3.4x more players week-over-week than servers dropping below 20 TPS.

---

Hardware Requirements

Server TypePlayersCPURAMStorageBandwidth

Small vanilla504 cores, 3.5+ GHz8 GB50 GB SSD100 Mbps
Medium vanilla1006 cores, 3.8+ GHz16 GB100 GB NVMe250 Mbps
Large vanilla2008 cores, 4.0+ GHz32 GB200 GB NVMe500 Mbps
Modded (Oxide)1008 cores, 4.0+ GHz32 GB200 GB NVMe500 Mbps
Heavily modded150+12 cores, 4.0+ GHz64 GB500 GB NVMe1 Gbps

Rust is single-threaded for game logic, so single-core clock speed matters more than core count. However, the Unity engine uses additional threads for asset loading, networking, and garbage collection. NVMe storage is critical because Rust performs frequent world saves that can stutter the server on slower disks.

---

Server Installation

<h1>Install SteamCMD and Rust Dedicated Server</h1>

sudo useradd -m -s /bin/bash rustserver

sudo su - rustserver

<h1>Install SteamCMD</h1>

mkdir steamcmd && cd steamcmd

curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar xz

<h1>Install Rust server</h1>

./steamcmd.sh +force_install_dir /home/rustserver/rust \

+login anonymous \

+app_update 258550 validate \

+quit

Server Launch Script

#!/bin/bash

<h1>start_rust.sh</h1>

export LD_LIBRARY_PATH="/home/rustserver/rust/RustDedicated_Data/Plugins:$LD_LIBRARY_PATH"

/home/rustserver/rust/RustDedicated \

-batchmode \

+server.hostname "My Rust Server" \

+server.port 28015 \

+server.queryport 28017 \

+rcon.port 28016 \

+rcon.password "your_secure_rcon_password" \

+rcon.web 1 \

+server.maxplayers 100 \

+server.worldsize 4000 \

+server.seed 12345 \

+server.saveinterval 300 \

+server.tickrate 30 \

+decay.tick 300 \

+server.identity "main" \

+server.description "Vanilla

Weekly Wipes
Active Admin" \

+server.url "https://yourwebsite.com" \

+server.headerimage "https://yourwebsite.com/header.png"

---

Map Sizes and Seeds

World SizePlayable AreaMonumentsBest For

20004 km^26-825-50 players, fast PvP
30009 km^210-1450-75 players, balanced
350012.25 km^214-1875-100 players, balanced
400016 km^218-22100-150 players, standard
450020.25 km^222-26150-200 players, roaming
600036 km^230+200+ players, large communities

---

Wipe Schedules

Wipe TypeFrequencyWhat ResetsBest For

Map wipeWeekly (Thursday)Buildings, resources, mapCompetitive, high pop
Map wipeBiweeklyBuildings, resources, mapCasual, medium pop
Map wipeMonthly (forced)Everything (forced by Facepunch)All servers
BP wipeMonthly (forced)BlueprintsAll servers
BP wipeWith map wipeBlueprints + mapHardcore, fresh starts

---

RCON Management

<h1>Connect to RCON via WebSocket</h1>

<h1>Use rcon.io or a local RCON client</h1>

<h1>Common RCON commands</h1>

say "Server restart in 5 minutes"

server.save

server.writecfg

kick "PlayerName" "Reason"

ban "SteamID" "Reason"

status # Show connected players

server.fps # Check server FPS

perf 1 # Show performance stats

entity.count # Total entity count

---

Performance Tuning

<h1>Kernel tuning for Rust servers</h1>

<h1>/etc/sysctl.d/99-rust-server.conf</h1>

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.udp_mem = 65536 131072 262144

net.core.netdev_max_backlog = 30000

vm.swappiness = 10

vm.dirty_ratio = 10

vm.dirty_background_ratio = 5

<h1>Apply</h1>

sudo sysctl --system

SettingDefaultOptimizedImpact

server.tickrate3030Do not exceed 30, causes instability
server.saveinterval600300More frequent saves, less data loss
decay.tick600300Faster entity cleanup
gc.buffer2562048Reduces GC stutters
fps.limit-1-1No limit (server, not client)

---

DDoS Protection

Rust servers are frequent DDoS targets. UDP amplification attacks can overwhelm server bandwidth within seconds.

<h1>iptables rate limiting for UDP</h1>

iptables -A INPUT -p udp --dport 28015 \

-m hashlimit --hashlimit-above 100/sec \

--hashlimit-burst 150 \

--hashlimit-mode srcip \

--hashlimit-name rust_udp \

-j DROP

<h1>Block known attack vectors</h1>

iptables -A INPUT -p udp --dport 28015 \

-m length --length 0:28 -j DROP

For comprehensive server monitoring including game server metrics, see our game server monitoring guide. Teams hosting multiple game servers on the same infrastructure should read our VPS monitoring and alerting guide. For backup strategies that prevent world data loss, check our backup and disaster recovery guide.

---

Frequently Asked Questions

How many players can a Rust server realistically handle?

A well-optimized server on modern hardware (8-core, 4.0+ GHz, 32 GB RAM, NVMe) handles 150-200 players at 30 TPS. Beyond 200 players, entity count and network bandwidth become bottlenecks regardless of hardware. The limiting factor is usually Rust game server entity count: above 300,000 entities, server FPS drops below 20 TPS consistently.

What causes server lag in Rust?

The top five causes: (1) Entity count above 250,000 (needs faster wipes or decay). (2) World save on HDD instead of NVMe (causes 1-3 second freezes). (3) Oxide plugins with per-tick hooks (audit plugin performance). (4) Garbage collection pauses (increase gc.buffer). (5) Network saturation from DDoS or too many players for bandwidth.

Should I use Oxide or Carbon for modding?

Oxide (uMod) has the largest plugin ecosystem with 2,000+ plugins and is the established standard. Carbon is a newer alternative with better performance (10-20% less overhead) but fewer plugins. Use Oxide if you need specific plugins that only exist on uMod. Use Carbon if performance is critical and the plugins you need are available.

How do I handle toxic players?

Install an admin reporting plugin (Better Chat Report, Server Rewards). Use RCON to monitor chat in real time. Ban players by SteamID (not IP, which can be evaded). Consider joining a global Rust ban list (ServerArmour, RustAdmin) to pre-ban known bad actors. Have clear server rules posted on your website and in-game.

What is the best map seed for a Rust server?

Map quality depends on world size, monument count, and monument spacing. Use rustmaps.com to preview seeds before deploying. Look for seeds with evenly distributed monuments, balanced biome distribution, and no excessively large water areas. Popular seeds change with each monthly Rust update because the procedural generation algorithm is updated.