GamingAugust 4, 20264 min read

How to Set Up a Rust Dedicated Server on a VPS

Go from a fresh Ubuntu VPS to your own Rust dedicated server: SteamCMD install, the correct start flags, firewall ports, and a clean systemd service.

NBy Nxeon

Running your own Rust server means you control the wipe schedule, the map size, the player cap, and every rule on it. This guide takes you from a fresh Ubuntu VPS to a public, self-hosted Rust dedicated server using SteamCMD and a proper systemd service.

What you need

  • A Linux VPS: Ubuntu 22.04/24.04 or Debian 12. Rust is heavy โ€” plan on 4 vCPU and 8 GB RAM for a small procedural map, more if you go bigger (see how much RAM a Rust server needs).
  • NVMe storage: Rust loads and generates a lot of world data. Fast disk noticeably shortens startup and reduces stutter.
  • Open ports: UDP 28015 (game), TCP 28016 (RCON), and UDP 28017 (Steam query). You will open these below.

Step 1: Create a non-root user and install dependencies

Never run a game server as root. Rust's Linux build needs 32-bit libraries for SteamCMD:

sudo adduser --disabled-password --gecos "" rust
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 lib32stdc++6 steamcmd curl

Step 2: Install the Rust server with SteamCMD

Switch to the rust user and download the server. The Rust dedicated server is App ID 258550 and installs anonymously:

sudo su - rust
steamcmd +force_install_dir /home/rust/server +login anonymous +app_update 258550 validate +quit

The first download is several gigabytes. If you would rather understand this pattern once and reuse it for every Steam game, read how to run any SteamCMD game server on a Linux VPS.

{{SCREENSHOT}}

Step 3: Open the firewall

With UFW:

sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp
sudo ufw allow 28017/udp
sudo ufw reload

If your host has a separate network firewall (many do), open the same ports there too, or players will time out even though the process is running.

Step 4: Write a start script

Create /home/rust/start.sh. The key flags set the identity (save folder), map, world size, seed, player cap, and RCON:

#!/bin/bash
cd /home/rust/server
./RustDedicated -batchmode -nographics \
  +server.identity "myserver" \
  +server.hostname "My Nxeon Rust Server" \
  +server.port 28015 \
  +server.maxplayers 100 \
  +server.worldsize 3500 \
  +server.seed 12345 \
  +server.saveinterval 300 \
  +rcon.port 28016 \
  +rcon.password "CHANGE_ME_STRONG" \
  +rcon.web 1

Make it executable:

chmod +x /home/rust/start.sh

A few flags worth knowing:

  • server.worldsize: 1000โ€“6000. Bigger maps mean more RAM and CPU; 3000โ€“4000 is a sensible default.
  • server.seed: the map generator seed. Keep it fixed between wipes if you want the same layout, or change it to force a fresh map.
  • server.maxplayers: set to what your hardware and community can actually support.

Step 5: Run it as a systemd service

A service restarts the server on crash or reboot instead of dying when you close SSH:

# /etc/systemd/system/rust.service
[Unit]
Description=Rust Dedicated Server
After=network-online.target

[Service]
Type=simple
User=rust
ExecStart=/home/rust/start.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Enable and start it:

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

For scheduled wipes and nightly restarts, pair this with a timer as described in automating game server restarts with systemd.

Step 6: Connect and administer

In Rust, press F1 and type client.connect YOUR_IP:28015. To run admin commands remotely, connect any RCON tool (like RustAdmin) to YOUR_IP:28016 with the password you set. Once you are comfortable, the next step most owners take is adding plugins โ€” see how to install Oxide/uMod plugins on a Rust server.

FAQ

What are the default Rust server ports?

UDP 28015 for game traffic, TCP 28016 for RCON, and UDP 28017 for the Steam server query. Open all three on both the OS firewall and any provider firewall.

How many players can a Rust server hold?

The engine supports 100+ with server.maxplayers, but the real limit is your CPU and RAM. A 100-slot server on a large map wants 8โ€“16 GB RAM and strong single-thread performance.

Do I need SteamCMD to update Rust?

Yes. Rust updates roughly weekly and monthly (forced wipes). Re-run the same +app_update 258550 validate command, or automate it โ€” see keeping a SteamCMD server updated automatically.

Can I run Rust on a small VPS?

A 2 GB box will struggle badly. Rust genuinely needs 8 GB+ to run a real map without swapping. Undersized servers stutter and rubber-band.

Ready to build your community? Spin up an NVMe box on our Rust server hosting or browse VPS pricing โ€” full root access, so every command above works exactly as written.

#rust#dedicated server#steamcmd#vps#game servers#seobatch

Deploy your first server in under a minute

Creating an account is free and takes no card details. You pay when you deploy โ€” choose a billing term and pay from your wallet or by card at checkout.