Last updated: April 15, 2026
This guide shows you how to set up a Rust server on a Linux VPS, step by step. A VPS (Virtual Private Server) is a rented cloud computer that you have full control over — if you're self-hosting instead of using the NolimitHost Game Panel, this is the way to do it. Just copy and paste each command in order to get your server running.
First, update the software already installed on your VPS. This makes sure you have the latest security fixes and package lists before you install anything new.
sudo apt update && sudo apt upgrade -y
This installs the helper programs Rust needs to run. In particular, lib32gcc-s1 and lib32stdc++6 are 32-bit system libraries that the Rust dedicated server requires, and screen lets the server keep running after you log out.
sudo apt install wget tar unzip screen lib32gcc-s1 lib32stdc++6 -y
It's good practice to run the server under its own user account (rust) instead of the main admin account. This keeps the server separate from the rest of the system.
sudo adduser rust
Create a password when prompted, then press Enter for remaining fields.
su - rust
This switches your terminal to the new rust user. Run the rest of the guide as this user.
Create a folder to hold all your server files, then move into it:
mkdir -p ~/rust-server && cd ~/rust-server
SteamCMD is Valve's command-line tool for downloading game servers from Steam. First, create a folder for it:
mkdir steamcmd && cd steamcmd
Then download and extract the SteamCMD installer:
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
Run SteamCMD and use it to download the Rust dedicated server files (this is a one-time download of 4-5 GB):
./steamcmd.sh
login anonymous
This logs in without a Steam account — no login details are needed to download a game server.
force_install_dir /home/rust/rust-server
This tells SteamCMD where to put the server files.
app_update 258550 validate
258550 is the Steam App ID for the Rust dedicated server. The validate part checks that the downloaded files are complete and not corrupted.
Wait for download to complete (4-5 GB, 15-30 minutes).
quit
Next, create a start script — a simple text file that runs your server with all the settings you choose. Open it with the nano text editor:
cd ~/rust-server && nano start.sh
Copy and paste:
#!/bin/bash
cd "$(dirname "$0")"
./RustDedicated \
-batchmode \
-nographics \
-logfile "logs.txt" \
+server.port 28015 \
+server.queryport 28016 \
+server.hostname "My Rust Server" \
+server.identity "my_server" \
+server.maxplayers 100 \
+rcon.port 28017 \
+rcon.password "YourPassword123" \
+server.worldsize 3500 \
+server.seed 12345
Save: Press Ctrl+X, then Y, then Enter
chmod +x start.sh
This makes the script executable (allowed to run).
Edit these values in start.sh:
server.hostname - Your server nameserver.maxplayers - Max players (50-100)rcon.password - Admin passwordscreen -r rust and press Ctrl+C), make your edits, then start it again. Otherwise the running server may overwrite your changes.
The firewall (UFW, Ubuntu's built-in firewall) needs to allow players and admin tools to reach your server. These ports are: 28015 for the game, 28016 for server queries (the server browser), and 28017 for RCON admin connections.
sudo ufw allow 28015/udp
sudo ufw allow 28016/udp
sudo ufw allow 28017/tcp
sudo ufw allow ssh
sudo ufw enable
Start the server inside a screen session. Screen keeps the server running even after you close your SSH connection — without it, the server would shut down the moment you log out.
cd ~/rust-server && screen -S rust ./start.sh
Wait for startup messages. Press Ctrl+A, then D to exit screen (server keeps running).
To check server later:
screen -r rust
Players connect using the F1 console in Rust:
client.connect YOUR_IP:28015
Replace YOUR_IP with your actual IP address. To find your VPS's public IP, look in your VPS provider's control panel, or run hostname -I on the server.