Johannes Olzem Johannes Olzem

How to create a Rust server on Linux

Johannes Olzem
May 23, 2023

Table of Contents

Requirements

SteamCMD

Configuring the envoirenment

Create a user with the name 'steam' and give it a password.

sudo useradd -m steam

sudo passwd steam


When prompted, enter a new password for the 'steam' user.
Then switch to the 'steam' user and go to its home folder.

su steam

cd


Enable the contrib and non-free repositories by changing your /etc/apt/sources.list to resemble the following:

deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free

deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free

deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free

Installing SteamCMD

Finally, to install SteamCMD run:

sudo apt install steamcmd


Installing

Run SteamCMD

steamcmd


After a short update period, a prompt like Steam> should appear.
To login anonymously type:

login anonymous


Now install the Rust Dedicated Server application.

app_update 258550

This will install and verify the Rust server.
On my ~100 Mbit/s connection this took around 15-20 Minutes.

Afterwards you can quit the SteamCMD shell.

quit


Running

First navigate to the Rust server directory.

cd ~/Steam/steamapps/common/rust_dedicated


Finally, start up the Rust server by running:

./RustDedicated -batchmode


There are several arguments you can pass to the server to change its behaviour.


Parameter Default Description
+server.ip 0.0.0.0 Sets the Server IP. Leave it to 0.0.0.0 unless you have multiple IPs.
+server.port 28015 Sets the port the server will use. (default 28015 UDP)
+rcon.ip 0.0.0.0 Sets the RCON IP.
+rcon.port 28016 Port to listen to for RCON.
+rcon.web 0 If set to true, use websocket rcon. If set to false use legacy, source engine rcon.
+server.tickrate 10 Server refresh rate - Not recommended to go above 30.
+server.hostname 'Your Server Name' The displayed name of your server.
+server.identity 'my_server_identity' Changes path to your server data rust/server/my_server_identity. Useful for running multiple instances.
+server.maxplayers 50 Maximum amount of players allowed to connect to your server at a time.
+server.worldsize 3000 Defines the size of the map generated (min 1000, max 6000)
+server.seed 50000 Is the map generation seed.
+server.saveinterval 600 Time in seconds for server save.
+rcon.password 'YourPassword' Sets the RCON password
-logfile gamelog.txt If you're using a script, you'd better put the current date as a filename, otherwise, it'll be erased on every start.
-silent-crashes - Won't display a crash dialog and will restart automatically if server is installed as service.

Sources