Dein Rust-Server läuft und deine Freunde können sich über die F1-Konsole verbinden. Im Serverbrowser bleibt er trotzdem unsichtbar. Häufig liegt das am Query-Port: Der Spielport 28015/UDP nimmt Verbindungen an, während der für die Serverliste benötigte Port 28017/UDP in der Firewall oder im Router blockiert ist.

Rust Server – Basis aus Wellblech und Holz auf einer Küstenklippe in der Abenddämmerung, mit Funkturm, Lagerfeuer und Rauchsäule über dem Meer

Voraussetzungen: Hardware und Hosting

Rust benötigt vor allem Arbeitsspeicher. Wie viel davon dein Server tatsächlich belegt, hängt von der Kartengröße, der Spielerzahl, den platzierten Objekten und den installierten Plugins ab. Die folgenden Angaben dienen als Orientierung und sind keine garantierten Mindestwerte:

EinsatzWeltgrößeSpielerRAM zur Orientierung
Lokaler Server oder kleine Freundesgruppe2000–3000Bis etwa 108 GB
Kleiner Community-Server3000–4000Etwa 10–5012–16 GB
Größerer oder modifizierter Server4000–5000 und mehr50 und mehr16–32 GB oder mehr

Große Basen, viele Entities, Plugins und lange Wipe-Zyklen erhöhen den Speicherverbrauch. Bei der CPU zählt hohe Single-Core-Leistung mehr als die Kernzahl. Verwende eine SSD mit Platz für Serverdateien, Karten, Logs und Backups.

Zu Hause eignet sich Rust für Tests und kleine private Runden. Für öffentliche Verbindungen brauchst du stabilen Upload, eine öffentliche IPv4 und Portfreigaben. Bei DS-Lite oder CGNAT ist eine normale IPv4-Portweiterleitung häufig nicht möglich.

Für öffentliche Server sprechen Stromkosten, Upload und DDoS-Risiko häufig für einen VPS, Rootserver oder fertigen Gameserver. Alternativ kannst du einen Rust-Server mieten.

Rust-Server unter Windows installieren

Lege zwei getrennte Ordner an: C:\steamcmd für SteamCMD und C:\rust-server für die eigentlichen Serverdateien. Lade SteamCMD von Valve herunter, entpacke die Datei steamcmd.zip nach C:\steamcmd und starte steamcmd.exe einmal, damit sich das Programm aktualisiert. Installiere anschließend den Rust Dedicated Server mit folgendem Aufruf:

steamcmd.exe +login anonymous +force_install_dir C:\rust-server +app_update 258550 validate +quit

258550 ist die App-ID des Dedicated Servers; 252490 gehört zum Client. validate prüft Dateien und ersetzt veränderte Dateien, gegebenenfalls auch solche eines Modding-Frameworks.

Erstelle im Ordner C:\rust-server eine Datei namens start.bat mit folgendem Inhalt:

@echo off
cd /d C:\rust-server

RustDedicated.exe -batchmode ^
+server.identity "meinserver" ^
+server.hostname "Mein Rust Server" ^
+server.description "Vanilla Rust Server für Freunde" ^
+server.port 28015 ^
+server.queryport 28017 ^
+server.level "Procedural Map" ^
+server.seed 12345 ^
+server.worldsize 3500 ^
+server.maxplayers 20 ^
+rcon.port 28016 ^
+rcon.password "HIER_EIN_LANGES_SICHERES_PASSWORT_EINTRAGEN" ^
+rcon.web 1 ^
-logfile "rustserver.log"

pause

Passe Servername, Beschreibung, Karte und Spielerzahl an. Ersetze HIER_EIN_LANGES_SICHERES_PASSWORT_EINTRAGEN zwingend durch ein eigenes, langes RCON-Passwort. RCON ermöglicht die Fernverwaltung. Starte die Batchdatei; das Log liegt unter C:\rust-server\rustserver.log.

Öffne PowerShell als Administrator und richte die Windows-Firewall ein:

New-NetFirewallRule -DisplayName "Rust Game UDP 28015" -Direction Inbound -Protocol UDP -LocalPort 28015 -Action Allow
New-NetFirewallRule -DisplayName "Rust Query UDP 28017" -Direction Inbound -Protocol UDP -LocalPort 28017 -Action Allow
New-NetFirewallRule -DisplayName "Rust RCON TCP 28016" -Direction Inbound -Protocol TCP -LocalPort 28016 -Action Allow
New-NetFirewallRule -DisplayName "Rust Plus TCP 28082" -Direction Inbound -Protocol TCP -LocalPort 28082 -Action Allow

28016/TCP für RCON und 28082/TCP für Rust+ brauchst du nur bei Nutzung dieser Funktionen. Hinter einem Router leite die benötigten Ports an eine feste lokale IP des Server-PCs weiter.

Rust-Server unter Linux installieren und mit systemd betreiben

Unter Debian oder Ubuntu sollte der Gameserver nicht als root laufen. Erstelle dafür den Benutzer rust, wechsle in seine Umgebung und richte zwei getrennte Verzeichnisse für SteamCMD und den Server ein:

sudo adduser --disabled-password --gecos "" rust
sudo -iu rust
mkdir -p ~/steamcmd ~/server
cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz

SteamCMD kann je nach System zusätzliche 32-Bit-Bibliotheken verlangen, beispielsweise lib32gcc-s1. Falls beim Start eine entsprechende Fehlermeldung erscheint, installiere die fehlende Bibliothek mit einem Benutzer, der über sudo-Rechte verfügt. Lade dann die Serverdateien als Benutzer rust herunter:

./steamcmd.sh \
  +force_install_dir /home/rust/server \
  +login anonymous \
  +app_update 258550 validate \
  +quit

Lege unter /home/rust/server/start.sh das Startskript an. Die Werte entsprechen der Windows-Konfiguration, damit sich die Beispiele direkt vergleichen lassen:

#!/usr/bin/env bash
set -e

cd /home/rust/server

exec ./RustDedicated -batchmode \
  +server.identity "meinserver" \
  +server.hostname "Mein Rust Server" \
  +server.description "Vanilla Rust Server für Freunde" \
  +server.port 28015 \
  +server.queryport 28017 \
  +server.level "Procedural Map" \
  +server.seed 12345 \
  +server.worldsize 3500 \
  +server.maxplayers 20 \
  +rcon.port 28016 \
  +rcon.password "HIER_EIN_LANGES_SICHERES_PASSWORT_EINTRAGEN" \
  +rcon.web 1 \
  -logfile "/home/rust/server/rustserver.log"

Setze auch hier ein eigenes, langes RCON-Passwort ein. Mache das Skript ausführbar:

chmod +x /home/rust/server/start.sh

Für den Dauerbetrieb sorgt systemd für den automatischen Start und einen Neustart nach Fehlern – nach demselben Muster wie beim Valheim-Server und beim Palworld-Server. Wechsle für die Systemdatei und die sudo-Befehle zu deinem administrativen Benutzer. Erstelle /etc/systemd/system/rust-server.service mit diesem Inhalt:

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

[Service]
Type=simple
User=rust
Group=rust
WorkingDirectory=/home/rust/server
ExecStart=/home/rust/server/start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target

Lade die Dienstkonfiguration, aktiviere den Dienst und prüfe seinen Zustand. Der letzte Befehl verfolgt die laufenden Meldungen:

sudo systemctl daemon-reload
sudo systemctl enable --now rust-server
sudo systemctl status rust-server
sudo journalctl -u rust-server -f

Wenn du UFW verwendest, gib die benötigten Ports frei:

sudo ufw allow 28015/udp
sudo ufw allow 28017/udp
sudo ufw allow 28016/tcp
sudo ufw allow 28082/tcp

RCON und Rust+ sind optional. Begrenze RCON möglichst auf eine vertrauenswürdige Quell-IP. Bei Hostern kann zusätzlich eine externe Firewall greifen.

Startparameter und server.cfg einstellen

Die Startskripte enthalten bereits die wichtigsten Grundwerte. Was die einzelnen Parameter bewirken:

ParameterBedeutung
server.identityName des Datenordners für Welt, Konfiguration und Spielerdaten
server.hostnameSichtbarer Name des Servers
server.descriptionBeschreibung im Serverbrowser
server.urlOptionale Website des Servers
server.headerimageGroßes Headerbild in den Serverdetails
server.logoimageServerlogo, unter anderem für Rust+
server.portUDP-Port für die Spielverbindung
server.queryportUDP-Port für Serverbrowser und Abfragen
server.seedSeed der prozeduralen Karte
server.worldsizeGröße der Welt
server.maxplayersMaximale Zahl gleichzeitiger Spieler
server.tagsTags wie weekly, monthly, vanilla oder pve
rcon.portTCP-Port für RCON
rcon.passwordPasswort für die RCON-Verbindung
rcon.webAktiviert WebRCON
app.portTCP-Port für Rust+
server.saveintervalAbstand zwischen automatischen Speicherungen in Sekunden

Ports, Identität und Grundwerte passen ins Startskript. Weitere Einstellungen gehören in die server.cfg im Identitätsordner:

  • Windows: C:\rust-server\server\meinserver\cfg\server.cfg
  • Linux: /home/rust/server/server/meinserver/cfg/server.cfg

Eine mögliche Konfiguration lautet:

server.hostname "Mein Rust Server"
server.description "Vanilla Rust mit monatlichem Wipe"
server.maxplayers 20
server.tags "monthly,vanilla,EU"
server.saveinterval 300

In dieser Datei stehen die Befehle ohne führendes +. Der Identitätsordner entsteht meist erst beim ersten Start. Bei widersprüchlichen Werten hat die server.cfg Vorrang vor dem Startskript.

Welche Ports braucht ein Rust-Server?

Rust verwendet in der Beispielkonfiguration vier Ports mit verschiedenen Aufgaben. Achte auch auf das Protokoll: Eine TCP-Freigabe ersetzt keine UDP-Freigabe.

PortProtokollAufgabeWann freigeben?
28015UDPSpielverbindungenFür Spieler erforderlich
28017UDPServerbrowser und AbfragenFür die Anzeige im Browser erforderlich
28016TCPRCON-FernverwaltungNur bei RCON-Nutzung
28082TCPRust+-Begleit-AppNur bei Rust+-Nutzung

Eine Besonderheit ist die Berechnung des Query-Ports. Wenn du server.queryport nicht ausdrücklich setzt, wählt Rust standardmäßig einen Port oberhalb des höheren Werts aus Spiel- und RCON-Port. In diesem Beispiel sind das 28015 und 28016, weshalb Rust für Abfragen 28017 verwendet. Ändert sich einer der beiden Ausgangsports, kann sich der automatisch bestimmte Query-Port ebenfalls ändern. Mit +server.queryport 28017 im Startskript legst du ihn eindeutig fest.

Für eine direkte Verbindung muss der Spielport erreichbar sein. Der Query-Port erfüllt eine andere Aufgabe: Ist 28017/UDP blockiert, können sich Spieler weiterhin mit dem direkten Verbindungsbefehl anmelden, während dein Server im Browser fehlt. Genau deshalb reicht es bei einem öffentlichen Server nicht, ausschließlich 28015/UDP zu öffnen. Kontrolliere sowohl die Firewall des Betriebssystems als auch eine eventuell vorgeschaltete Firewall.

Zu Hause kommt eine zweite Ebene hinzu. Die Router-Weiterleitung muss auf die feste lokale IP des Server-PCs zeigen; eine Firewall-Regel auf dem Rechner allein öffnet den Router nicht. Liegt dein Anschluss hinter DS-Lite oder CGNAT, kann eine normale Weiterleitung über IPv4 trotz korrekt gesetzter Regeln scheitern. Prüfe Ports erst, wenn der Server tatsächlich läuft. Ohne einen laufenden Dienst lässt sich aus einem fehlgeschlagenen Test nicht zuverlässig auf eine falsch eingerichtete Freigabe schließen.

Wichtig
Gib RCON nicht vorsorglich für das gesamte Internet frei. Verwende ein eigenes, langes Passwort und beschränke den Zugriff möglichst auf eine vertrauenswürdige Quell-IP.

Mit dem Rust-Server verbinden

Starte Rust und öffne mit F1 die Konsole. Je nachdem, wo der Server läuft, verwendest du einen dieser Befehle:

connect localhost:28015
connect 192.168.1.50:28015
connect SERVER-IP:28015

localhost bezeichnet den gleichen PC, 192.168.1.50 steht beispielhaft für einen Rechner im Heimnetz und SERVER-IP für die öffentliche Serveradresse. Der ältere Aufruf client.connect IP:28015 funktioniert weiterhin; für diese Anleitung genügt connect IP:Port. Falls du statt einer IP-Adresse einen Hostnamen verwenden möchtest, kannst du einen A-Record auf die IPv4-Adresse und einen SRV-Record mit dem Dienst _rust sowie dem Protokoll _udp einrichten.

Admin- und Moderatorrechte vergeben

Für die Rechtevergabe brauchst du die SteamID64 des jeweiligen Spielers. Gib in der Serverkonsole oder über RCON den passenden Befehl ein:

ownerid STEAMID64 "Name" "Inhaber"
moderatorid STEAMID64 "Name" "Moderator"

Ersetze STEAMID64 und Name durch die Angaben des Spielers. Die betroffene Person muss sich danach einmal neu verbinden, damit ihre neuen Rechte greifen. Aktuelle Serverversionen speichern diese Änderungen automatisch; das früher oft zusätzlich geforderte server.writecfg ist dafür nicht mehr verpflichtend. Unter Linux erledigst du die Verwaltung üblicherweise über RCON. Mit users siehst du, welche Spieler gerade online sind.

Namen, Bilder und Tags im Serverbrowser festlegen

Dein Eintrag im Serverbrowser setzt sich aus mehreren Einstellungen zusammen. Name und Beschreibung sollten den tatsächlichen Serverinhalt wiedergeben; Tags erleichtern die Einordnung. In der server.cfg kann das so aussehen:

server.hostname "DE/EU Mein Rust Server"
server.description "Vanilla | Monthly Wipe | aktive Admins"
server.url "https://example.com"
server.headerimage "https://example.com/rust-header.jpg"
server.logoimage "https://example.com/rust-logo.png"
server.tags "monthly,vanilla,EU"

Die URLs für Headerbild und Logo müssen direkt erreichbar sein. Das Logo erscheint kreisförmig: Platziere daher keine wichtigen Bildbestandteile in den Ecken. Bis zu vier Tags werden im Serverbrowser angezeigt. Wähle passende Angaben und kombiniere keine widersprüchlichen Tags derselben Gruppe, beispielsweise weekly und monthly. Ein schöner Eintrag behebt keinen blockierten Query-Port; dessen Freigabe bleibt Voraussetzung für die Auffindbarkeit.

Plugins mit Oxide/uMod oder Carbon verwenden

Kits, Shops, Teleport, Clans, zusätzliche Benutzeroberflächen und Admin-Werkzeuge setzen ein Modding-Framework voraus. Oxide/uMod bietet eine große, etablierte Auswahl an Plugins. Carbon ist eine Alternative mit hoher Oxide-Kompatibilität und zusätzlichen Funktionen. Entscheidend ist, welche Plugins du auf deinem Server einsetzen möchtest und welches Framework diese unterstützt.

Für Oxide stoppst du zunächst den Rust-Server. Öffne auf umod.org die Rust-Seite und lade das Archiv für Windows oder Linux herunter. Entpacke es in das Hauptverzeichnis deines Rust-Servers und überschreibe die vorhandenen Dateien. Starte den Server anschließend und kontrolliere, ob der Ordner oxide angelegt wurde. Deine Plugins legst du unter oxide/plugins ab. Bei Carbon liegen Plugins typischerweise unter carbon/plugins.

Achtung
Nach einem Rust-Update können installierte Plugins plötzlich nicht mehr laden. SteamCMD kann veränderte Dateien durch die Vanilla-Version ersetzen; auch die Framework-Version und einzelne Plugins können nach einem Pflicht-Update veraltet sein.

Halte deshalb eine feste Update-Reihenfolge ein: Erst Backup erstellen, dann Rust aktualisieren, anschließend die aktuelle Oxide- oder Carbon-Version installieren und zuletzt die Plugins prüfen. Das Backup sichert deine Welt und Einstellungen, während die erneute Framework-Installation die durch SteamCMD überschriebenen Dateien wiederherstellt. Wer nur Rust aktualisiert und direkt neu startet, übersieht leicht, dass das Framework nicht mehr vollständig vorhanden ist.

Map Wipe, Blueprint Wipe und Force Wipe unterscheiden

Ein Wipe setzt Teile des Spielfortschritts zurück. Welche Daten verschwinden, hängt von der Art des Wipes ab:

  • Map Wipe: Die Welt mit Gebäuden und platzierten Objekten wird zurückgesetzt.
  • Blueprint Wipe: Erlernte Baupläne werden gelöscht.
  • Full Wipe: Map und Blueprints werden zurückgesetzt.
  • Force Wipe: Am ersten Donnerstag des Monats erhält Rust ein Pflicht-Update, bei dem üblicherweise ein Map Wipe erzwungen wird. Nicht jeder Force Wipe löscht automatisch alle Blueprints.

Ein neuer server.seed oder eine andere server.worldsize erzeugt eine neue Karte. Ändere diese Werte nicht nebenbei während eines laufenden Wipes, um eine bestehende Welt zu ersetzen. Stoppe und sichere den Server vor einem manuellen Wipe. So kannst du die vorherigen Daten wiederherstellen, wenn du die falsche Welt oder den falschen Spielstand zurückgesetzt hast.

Rust-Server sichern und wiederherstellen

Sichere den vollständigen Ordner deiner Serveridentität, im Beispiel also server/meinserver/. Er enthält unter anderem Welt- und Save-Dateien, die Map-Datei, Blueprint-Daten, Admin- und Bannlisten, Konfiguration sowie die Rust+-Identität. Ein Backup einzelner Konfigurationsdateien genügt nicht, wenn du später auch die Welt und den Fortschritt wiederherstellen willst.

Speichere den Spielstand vor der Sicherung sauber beziehungsweise stoppe den Server. Bewahre das Backup nicht ausschließlich auf derselben Festplatte auf, auf der Rust läuft. Fällt sie aus, wären ansonsten Server und Sicherung zugleich betroffen. Erstelle vor jedem Update von Rust, Oxide, Carbon oder Plugins eine neue Sicherung.

Zur Rust+-Identität gehört companion.id. Lösche diese Datei nicht wahllos und verwende sie nicht parallel auf mehreren Servern. Beim Wiederherstellen ist der vollständige Identitätsordner deshalb der sinnvolle Ausgangspunkt. Wenn du mehrere Spielstände aufbewahren möchtest, sichere die jeweiligen Zustände getrennt, statt das einzige vorhandene Backup bei jedem Update zu überschreiben.

Fehlerbehebung: Häufige Probleme

ProblemMögliche UrsacheLösung
Verbindung schlägt fehlSpielport nicht erreichbar28015/UDP in Firewall und Router prüfen
Server fehlt in der ListeQuery-Port blockiert28017/UDP oder den eigens konfigurierten Query-Port öffnen
Lokal erreichbar, aber nicht über das InternetWeiterleitung fehlt, DS-Lite oder CGNATRouter und öffentliche IPv4 prüfen
RCON verbindet nichtTCP-Port, Passwort oder Firewall falschrcon.port, Passwort und TCP-Regel kontrollieren
Rust+ bleibt offlineCompanion-Port blockiertapp.port und Freigabe für 28082/TCP prüfen
Server startet nach Update nichtDateien unvollständig oder Mods inkompatibelLogs prüfen, Backup bereithalten, SteamCMD mit validate ausführen und Framework aktualisieren
Oxide-Plugins laden nichtOxide fehlt oder wurde überschriebenAktuelle Oxide-Version erneut installieren
RAM-Verbrauch zu hochGroße Karte, viele Entities oder PluginsWeltgröße reduzieren, Plugins prüfen oder RAM erhöhen
Einstellungen werden ignoriertFalscher Identitätsordner oder widersprüchliche KonfigurationRichtigen Ordner und doppelte Werte in der server.cfg prüfen

Beginne bei Startproblemen mit dem Log. Unter Windows liegt es im Beispiel unter C:\rust-server\rustserver.log; unter Linux kannst du die Meldungen des systemd-Dienstes fortlaufend ansehen:

sudo journalctl -u rust-server -f

Unterscheide bei Netzwerkfehlern zwischen dem Spielport für den direkten Beitritt und dem Query-Port für die Liste. Wenn nur die Serverliste betroffen ist, musst du nicht sofort Rust neu installieren. Nach einem Update mit ausgefallenen Plugins prüfst du stattdessen zuerst, ob Oxide noch vorhanden und mit der aktualisierten Rust-Version verwendbar ist.

Häufige Fragen zum Rust-Server

Wie viel RAM braucht ein Rust-Server?

Für eine kleine Gruppe mit einer Weltgröße von 2000 bis 3000 sind 8 GB eine Orientierung. Bei etwa 10 bis 50 Spielern und einer größeren Karte liegen die Richtwerte bei 12 bis 16 GB. Viele Plugins, Entities und längere Wipe-Zyklen können mehr Speicher erfordern.

Welche Ports muss ich für Rust öffnen?

Für Spieler benötigst du 28015/UDP; für die Anzeige im Serverbrowser kommt in unserer Konfiguration 28017/UDP hinzu. 28016/TCP ist für RCON und 28082/TCP für Rust+ vorgesehen. Wenn du andere Ports konfiguriert hast, müssen die Freigaben dazu passen.

Kann ich einen Rust-Server auf meinem eigenen PC hosten?

Ja, vor allem zum Testen und für kleine private Gruppen. Für Spieler außerhalb deines Heimnetzes brauchst du eine öffentliche IPv4, passende Weiterleitungen und ausreichend Upload-Bandbreite. Bei DS-Lite oder CGNAT kann die gewöhnliche IPv4-Portfreigabe scheitern.

Wie werde ich Admin auf meinem Rust-Server?

Vergib die Inhaberrechte in der Serverkonsole oder per RCON mit ownerid und deiner SteamID64. Verbinde dich danach neu, damit die Rechte aktiv werden. Für eingeschränktere Moderationsrechte verwendest du moderatorid.

Warum wird mein Rust-Server nicht angezeigt?

Wenn eine direkte Verbindung funktioniert, aber kein Eintrag im Browser erscheint, prüfe den Query-Port. Im Beispiel ist das 28017/UDP; er muss in der Firewall und bei einem Heimserver zusätzlich im Router freigegeben sein. Ein geänderter Spiel- oder RCON-Port kann den automatisch gewählten Query-Port verschieben, falls du ihn nicht ausdrücklich festgelegt hast.

Was ist der Unterschied zwischen Oxide und Carbon?

Beide sind Frameworks, mit denen du Rust um Plugins erweitern kannst. Oxide/uMod hat eine große etablierte Plugin-Auswahl; Carbon bietet eine hohe Oxide-Kompatibilität und zusätzliche Funktionen. Die Wahl richtet sich danach, welche Erweiterungen du verwenden willst.

Wann findet der Force Wipe in Rust statt?

Rust erhält am ersten Donnerstag des Monats sein Pflicht-Update. Dabei wird üblicherweise die Map zurückgesetzt, während die Blueprints nicht zwangsläufig jedes Mal gelöscht werden. Ein Full Wipe setzt dagegen beides zurück.

Warum sind meine Plugins nach einem Update verschwunden?

SteamCMD kann beim Aktualisieren modifizierte Serverdateien überschreiben und so Oxide-Dateien durch Vanilla-Dateien ersetzen. Stoppe den Server für die Wartung, sichere vorher die Daten, aktualisiere Rust und installiere dann die passende Framework-Version erneut. Prüfe anschließend die Plugins, bevor der Server wieder regulär genutzt wird.