Quick-Start für einen Rust Dedicated Server unter Linux

Bild des Benutzers comrad
Tags:

https://www.holarse-linuxgaming.de/sites/default/files/2018-02-16-1/rust_ded_teaser.jpg

Das Survival- und Crafting-Spiel Rust hat nun endlich den Early Access auf Steam verlassen. Zeit für uns mal einen Dedicated Server aufzusetzen und das Spiel unter Linux auszuprobieren.

Wir haben für euch natürlich auch wieder Troubleshooting im Gepäck. Wenn euch also EAC und VAC unter Linux mit Rust plagen, haben wir wohlmöglich eine Lösung für euch. Wenn ihr noch weitere Tipps habt, schreibt sie uns oder fügt sie gerne direkt in den Rust ein!

Den hier hinterlegten Dedicated Server findet ihr natürlich in der Server Browser-Liste von Rust selbst. Viel Spaß!

Troubleshooting

Can't Connect to Servers (EAC Disconnected)

Hierbei findet das Spiel die passenden Crypto-Bibliotheken nicht, da es sie an einer bestimmten Stelle erwartet.
Unter Ubuntu-basierten Systemen hilft folgender Symlink:

ln /etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-certificates.crt

Unter OpenSUSE ist es folgender Symlink:

ln -s /var/lib/ca-certificates/ca-bundle.pem /etc/ssl/certs/ca-certificates.crt

Dedicated Server

Erzeugt euch auf eurem Server einen eigenen Benutzer. Dort installiert ihr SteamCMD. Zur Installation des Rust Dedicated Servers benötigt ihr kein Steam-Konto. Startet SteamCMD mit

./steamcmd.sh

Dann loggt ihr euch ein mit

login anonymous

Jetzt empfiehlt es sich das Zielverzeichnis für den Rust-Server zu definieren. Wir haben uns für rust_server entschieden. Das liegt ihr in SteamCMD mit folgendem Kommando fest:

force_install_dir rust_server

Nun könnt ihr den Rust Dedicated Server installieren mit

app_update 258550 validate

Nach der Installation könnt ihr den Dedicated Server starten und die Optionen festlegen. Findet das Spiel die steamclient.so nicht, dann müsst ihr das "rust_server"-Verzeichnis in den LD_LIBRARY_PATH mit aufnehmen über

export LD_LIBRARY_PATH=/home/rust/rust_server

Um das ganze als Service laufen zu lassen könnt ihr folgende systemd-unit als Vorlage verwenden:

[Unit]
Description=Rust Dedicated Server
 
[Service]
Environment=LD_LIBRARY_PATH=/home/rust/rust_server
WorkingDirectory=/home/rust/rust_server
ExecStart=/home/rust/rust_server/RustDedicated -batchmode +server.ip 0.0.0.0 +server.port 28015 +server.tickrate 10 +server.hostname "Holarse - Spielen unter Linux" +server.description "Rust-Server for Linux Gamers" +server.url "https://www.holarse-linuxgaming.de" +server.identity "mein_server" +server.seed 123456 +server.maxplayers 10 +server.worldsize 3000 +server.saveinterval 120 -logfile "rust.log"
User=rust
Slice=gameserver.slice
 
[Install]
WantedBy=multi-user.target

Die Optionen schlüsseln sie wie folgt auf:

  • server.ip - Die IP-Adresse an der der Server lauschen soll
  • server.port - Der Port, Standard ist 28015
  • server.hostname - Der Name, wie er im Serverbrowser erscheinen soll
  • server.description - Die Beschreibung beim Verbinden
  • server.url - Die Betreiber-URL
  • server.identity - Die Identität der Serverinstanz, ändert diese wenn ihr mehrere Server betreibt und andere Speicherpfade braucht. Die "identity" findet ihr dann im Dedicated-Server-Verzeichnis "rust_server" unter server/mein_server.

Eine vollständige Auflistung der Server-Optionen findet ihr hier.

Wenn ihr zusätzliche Einstellungen hinterlegen wollt, dann könnt ihr das in der server.cfg tun. Diese muss im "rust_server"-Verzeichnis liegen. Hier folgende Einstellungen möglich: Server Commands.

Wir haben bei uns folgende Einstellungen hinterlegt:

server.eac 0
server.secure false
decay.tick 300
decay.scale 0

Wer Admin oder Moderator sein soll, könnt ihr in der "users.cfg" einstellen. Diese Datei muss im "rust_server"-Verzeichnis in dem Unterverzeichnis der Server-Identity im Unterverzeichnis "cfg" liegen. Ist eure "server.identity" also zum Beispiel "mein_server", dann muss diese Datei nach "rust_server/server/meinserver/cfg". Dort legt ihr an, wer Admin oder Moderator ist, indem ihr die Steam-ID (64bit) hinterlegt. Unsere Datei sieht beispielsweise so aus:

ownerid XXXXXXXXXXXXXXX "commel" "no reason"
moderatorid XXXXXXXXXXXXXX "NoXPhasma" "no reason"

Die 64bit-Steam-ID erhaltet ihr zum Beispiel über Steamid.io.

Konfigurieren und managen lässt sich der Server auch über RCON. Dazu müsst ihr beim Starten des Servers die RCON-Optionen mit angeben:

+rcon.web true +rcon.ip 0.0.0.0 +rcon.port 28016 +rcon.password “geheimesrconpasswort”

Multimedia