Nexelya
beginner·3 min read

How to Make a Rust Server

Set up a dedicated Rust server on Linux with SteamCMD and Nexelya sizing guidance.

Overview

This guide walks through installing a Rust dedicated server on a Linux VPS using SteamCMD. It assumes you have root SSH access on a Nexelya (or similar) instance with at least 8 GB RAM for a small community server.

Rust is CPU- and disk-heavy during map generation and blueprint wipes. Size your host with our Rust RAM calculator before you open ports to the public.

Prerequisites

  • Ubuntu 22.04 or Debian 12 VPS (4+ vCPU recommended for 50+ players)
  • 40 GB+ free disk (maps and updates grow quickly)
  • Open ports: 28015 UDP/TCP (game), 28016 TCP (RCON, optional)
  • A non-root user with sudo, or root for lab installs

Step-by-step

1. Install SteamCMD and dependencies

sudo apt update && sudo apt install -y lib32gcc-s1 curl
sudo useradd -m steam || true
sudo -u steam bash -c 'cd ~ && curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -'

2. Download Rust server files

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

The first download is several GB. Run this during off-peak hours if bandwidth is limited.

3. Create a launch script

Save as /home/steam/rustserver/start.sh:

#!/bin/bash
./RustDedicated -batchmode \
  +server.hostname "My Rust Server" \
  +server.port 28015 \
  +server.maxplayers 50 \
  +server.worldsize 3500 \
  +server.seed 12345 \
  +rcon.port 28016 \
  +rcon.password "CHANGE_ME" \
  +rcon.web 1
chmod +x /home/steam/rustserver/start.sh

Use our server.cfg editor to tune additional convars before going live.

Create /etc/systemd/system/rust.service:

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

[Service]
User=steam
WorkingDirectory=/home/steam/rustserver
ExecStart=/home/steam/rustserver/start.sh
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now rust
sudo journalctl -u rust -f

5. Firewall

sudo ufw allow 28015/tcp
sudo ufw allow 28015/udp
sudo ufw allow 28016/tcp   # RCON — restrict to your admin IP if possible

Verification

  • ss -ulpn | grep 28015 shows Rust listening
  • Connect from Rust client via F1 console: client.connect YOUR_IP:28015
  • RCON: use our RCON cheat sheet or Rust God Tools for live admin

Troubleshooting

SymptomLikely causeWhat to try
SteamCMD "Missing configuration"Incomplete installRe-run app_update 258550 validate
Server exits immediatelyBad convar in start scriptCheck journalctl -u rust
Players cannot connectFirewall or wrong IPConfirm public IP binds; open UDP 28015
Low FPS / long bootUndersized CPU/RAMUpgrade plan; reduce world size

FAQ

Do I need Oxide/Carbon?

Vanilla Rust works out of the box. Install Oxide only after vanilla is stable — see how to install Oxide.

How much RAM do I need?

Rough guide: 8 GB for ≤30 players light modding; 16 GB+ for busy modded servers. Use the calculator — do not guess.

Next steps

Ready to deploy?

Nexelya provides operator-grade Proxmox KVM and bare-metal dedicated servers with self-serve power, KVM, and billing — sized for your workload.