How to set up a Rust online game server
This article provides a step-by-step, highly technical guide to setting up a Rust online game server.

How to set up a Rust online game server

This article provides a complete guide to setting up a Rust online game server. It covers installation, configuration, security, and server optimization. Create a stable, low-ping server for your players by adopting best practices.
0 Shares
0
0
0
0

1. Prerequisites and location selection

This section lists the basic things you need to prepare before setting up a Rust server. Recommended operating system Ubuntu 20.04/22.04 LTS Or Debian is new (requires kernel ≥ 4.9 to enable BBR).

Recommended hardware resources based on number of players:

  • 10–30 players: 4 vCPUs (strong single core), 8–12 GB RAM, NVMe SSD, 1 Gbps
  • 30–80 players: 6–12 high-frequency vCPUs, 16–32 GB RAM, NVMe, 1–10 Gbps
  • 100+ players or RP/modded servers: High-clocked single-core CPU, 32–64 GB RAM, NVMe RAID, 10 Gbps

When choosing a location, always choose a data center that Close to the players' action Examples of locations: Frankfurt/Amsterdam for Europe, New Jersey/Virginia for the US East, Los Angeles for the US West, Singapore or Tokyo for Asia. Our company has more than 85 global locations You can choose based on the player population. If there is a possibility of DDoS attacks, use plans with Anti-DDoS.

2. Install SteamCMD and download Rust Dedicated

Basic steps to install SteamCMD and download the server (example for Ubuntu). First install the prerequisites:

sudo apt update && sudo apt install -y lib32gcc-s1 wget tar

Create a dedicated non-root user to run Steam:

sudo useradd -m -s /bin/bash steam

Install SteamCMD in the steam user folder:

sudo -u steam bash -c 'mkdir -p ~/steamcmd && cd ~/steamcmd && wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz && tar -xvzf steamcmd_linux.tar.gz'

Download and install Rust Dedicated (server files are located in /home/steam/rust_server):

sudo -u steam bash -c '~/steamcmd/steamcmd.sh +login anonymous +force_install_dir ~/rust_server +app_update 258550 validate +quit'

3. Basic server configuration (parameters and cfg files)

Examples of common parameters when running RustDedicated. You can put these parameters in systemd or in the startup script:

/home/steam/rust_server/RustDedicated -batchmode +server.identity "myserver" +server.hostname "My Rust Server" +server.description "Welcome to my server" +server.url "https://your-website.example" +server.headerimage "https://..." +server.maxplayers 50 +server.seed 123456 +server.worldsize 4000 +server.saveinterval 300 +server.port 28015 +rcon.port 28016 +rcon.password "StrongRconPassword"

Explanation of important parameters:

  • +server.identity: Storage folder ID (important for backup)
  • +server.hostname: Server name in the game list
  • +server.seed and +server.worldsize: Map determination
  • +server.saveinterval: Autosave time (seconds)
  • Ports: Game port usually 28015 (UDP), RCON usually 28016

You can add more settings in files like server.cfg Place it and load it at startup.

4. Create systemd service and update script

Example systemd file for running services and autostarting:

[Unit]
Description=Rust Dedicated Server
After=network.target

[Service]
User=steam
WorkingDirectory=/home/steam/rust_server
ExecStart=/home/steam/rust_server/RustDedicated -batchmode +server.identity "myserver" +server.hostname "My Rust Server" +server.port 28015 +rcon.port 28016 +rcon.password "ReplaceWithStrongPass" +server.maxplayers 50 +server.seed 123456 +server.worldsize 4000 +server.saveinterval 300
Restart=always
RestartSec=10
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Activation and launch of the service:

sudo systemctl daemon-reload
sudo systemctl enable --now rust.service
sudo journalctl -u rust.service -f

Simple update script (example):

#!/bin/bash
cd /home/steam/steamcmd
./steamcmd.sh +login anonymous +force_install_dir /home/steam/rust_server +app_update 258550 validate +quit
systemctl restart rust.service

You can run this script in cron daily to keep the server always up to date.

5. Ports, Firewall, and Network (Better Ping and BBR Settings)

Common Rust ports:

  • Game port: 28015 (UDP)
  • RCON: 28016 (usually TCP)
  • Query/server list: Usually related to game port or game port+1

Example ufw configuration to open ports:

sudo ufw allow 22/tcp
sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp
sudo ufw enable

Network recommendations for low ping and stability:

  • Choosing a data center close to target users
  • 1 Gbps or higher network interface
  • Minimal packet loss and low jitter
  • BBR activation If supported by the kernel:
sudo sysctl -w net.core.default_qdisc=fq
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr

To make it permanent, paste these lines in /etc/sysctl.conf Add.

6. Hardware optimization and kernel settings

Recommended kernel and OS settings for heavy load:

sudo sysctl -w fs.file-max=2097152
sudo sysctl -w net.core.somaxconn=1024
sudo sysctl -w net.core.netdev_max_backlog=5000
sudo sysctl -w net.ipv4.tcp_max_syn_backlog=4096
sudo sysctl -w net.ipv4.tcp_fin_timeout=15
sudo sysctl -w net.ipv4.tcp_tw_reuse=1

Increase the limit of open files for the steam user (example for /etc/security/limits.conf):

steam soft nofile 100000
steam hard nofile 200000

Turn off swap It can reduce lag, but make sure you have enough RAM:

sudo swapoff -a

7. Install uMod (Oxide) and useful plugins

uMod (formerly Oxide) is a popular modding framework for Rust. To install:

  • Download the latest version of uMod from uMod Download.
  • Extract the uMod files to the main server folder where RustDedicated is located; folders like Managed and Plugins It is created.
  • Restart the server and install the plugins in the folder oxide/plugins Put it.

Useful plugins:

  • Rust:IO (Online Map)
  • Clans or Friends
  • Kits, SpawnProtection, BetterChat
  • Trusted Anti-cheat plugins from official sources

8. Security, monitoring and backup

Security:

  • Running the server as a non-root user (e.g. steam).
  • Strong RCON password and if possible change the default port.
  • Firewall (ufw/iptables) and use of Anti-DDoS at the network level.
  • Install fail2ban to protect against unauthorized login attempts.

Monitoring:

  • Simple tools: htop, nload, iftop, iotop, glances
  • Advanced tools: Prometheus + Grafana for resource and response time monitoring
  • Check logs with journalctl and logs in the identity/map folder

Backup:

Periodic backup of the folder /home/steam/rust_server/identity/myserver It is necessary. Use rsync or scp to transfer to a backup server or cloud storage. Example backup script:

#!/bin/bash
dst="/backups/rust/$(date +%F)"
mkdir -p "$dst"
tar -czf "$dst/rust_identity_$(date +%F).tar.gz" -C /home/steam/rust_server/identity myserver
# rclone copy "$dst" remote:rust-backups

9. Practical tips for server management and choosing a hosting plan

Key points:

  • A high-frequency single-core CPU is very important; Rust relies on single-core for parts of its processing.
  • NVMe SSD greatly improves IO speed; important for reducing load and map loading speed.
  • High bandwidth (1–10 Gbps) is essential for large servers.
  • For modded or RP servers, get more memory and a better CPU; a GPU is usually not necessary.

If you have DDoS traffic or risks, use Anti-DDoS servers. Our company has more than 85 global locations And it offers gaming-specific VPS and dedicated server plans with 24/7 support.

Conclusion

This guide included installing SteamCMD, downloading RustDedicated, configuring server parameters, managing ports and security, optimizing the system and network, and installing uMod plugins. By following the tips mentioned, you can provide a stable, secure, and low-ping server for your players.

Choosing the right location, hardware resources, and using Anti-DDoS features and a quality network have a direct impact on the player experience.

Plan and Support Selection Guide

To get technical advice and choose the best configuration based on your population and game model (normal, modded, or RP), you can check out the game's specific hosting plans or contact the technical team for expert guidance.

You May Also Like