How to create a Rust server on Linux
Table of Contents
Requirements
- Debian Linux
- >5GB of RAM
- >4.5GB of free disc space
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. |