Zum Inhalt springen
myvpsguide

Survival-Server über SteamCMD: Valheim, Palworld und Verwandte

Dedizierte Server für Steam-Spiele aufsetzen: SteamCMD einrichten, eine systemd-Unit schreiben, Welten sichern und Updates überstehen, die der Hersteller ohne Vorwarnung ausrollt.

veröffentlicht 19.08.2026
3 min lesezeit
fortgeschritten

Steam-Survival-Spiele liefern ihre Server als eigenes Paket über SteamCMD aus. Der Ablauf ist bei Valheim, Palworld, Enshrouded, Rust und den meisten anderen gleich: Werkzeug installieren, Anwendung herunterladen, als Dienst starten, Welt sichern. Wer ihn einmal aufgebaut hat, setzt den nächsten Server in zwanzig Minuten auf.

SteamCMD einrichten#

SteamCMD läuft als eigener, unprivilegierter Benutzer. Nie als root, der Prozess nimmt Verbindungen aus dem Internet an.

# Debian/Ubuntu: 32-Bit-Bibliotheken werden gebraucht
dpkg --add-architecture i386 && apt update
apt install steamcmd lib32gcc-s1

useradd -m -s /bin/bash steam
su - steam
# Als Benutzer steam: Anwendung holen (App-ID je Spiel)
steamcmd +force_install_dir /home/steam/valheim \
         +login anonymous +app_update 896660 validate +quit

Die App-ID ist die einzige Stelle, die sich je Spiel ändert:

SpielApp-ID ServerStandard-Ports
Valheim8966602456-2457/UDP
Palworld23940108211/UDP, Abfrage 27015/UDP
Enshrouded227852015636-15637/UDP
Rust25855028015/UDP + 28016/TCP
IDs und Ports vor dem Öffnen gegenprüfen

Die Tabelle ist der Stand aus den Handbüchern der Anbieter zum 19.08.2026. Hersteller ändern beides gelegentlich, ein Port, den du auf Verdacht öffnest, bleibt sonst jahrelang offen, ohne dass jemand ihn braucht. Nach dem ersten Start prüfst du, worauf der Prozess wirklich lauscht: ss -ulnp | grep <prozessname>.

Als Dienst starten#

Ein Spielserver in einer screen-Sitzung überlebt keinen Neustart und protokolliert nirgendwohin. Eine systemd-Unit löst beides:

# /etc/systemd/system/valheim.service
[Unit]
Description=Valheim Dedicated Server
After=network-online.target
Wants=network-online.target

[Service]
User=steam
WorkingDirectory=/home/steam/valheim
Environment=LD_LIBRARY_PATH=/home/steam/valheim/linux64
Environment=SteamAppId=892970
ExecStart=/home/steam/valheim/valheim_server.x86_64 \
  -nographics -batchmode \
  -name "Mein Server" -port 2456 -world "Welt" -password "GEHEIM" -public 0
Restart=on-failure
RestartSec=10
# Ein sauberes Beenden gibt dem Server Zeit, die Welt zu speichern:
KillSignal=SIGINT
TimeoutStopSec=90

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now valheim
journalctl -u valheim -f
TimeoutStopSec ist kein Beiwerk

Survival-Server schreiben die Welt beim Beenden. Wer den Prozess hart abschießt oder zu früh nachtritt, verliert den Fortschritt seit dem letzten automatischen Speichern und in unglücklichen Fällen die Weltdatei selbst. Erst das Signal, dann Geduld. Dieselbe Regel gilt für jedes Update und jeden Neustart.

Welten sichern, häufiger, als du denkst#

Die Weltdatei ist bei diesen Spielen die einzige nicht wiederherstellbare Sache auf dem Server. Sie liegt je nach Spiel woanders:

# Valheim (Standard)
~/.config/unity3d/IronGate/Valheim/worlds_local/
# Palworld
/home/steam/palworld/Pal/Saved/

Sicherung im laufenden Betrieb ist möglich, aber nicht konsistent, der Server schreibt vielleicht gerade. Zwei Wege, beide legitim:

# A: schnell und meistens ausreichend — direkt nach dem automatischen Speichern
tar -C ~/.config/unity3d/IronGate/Valheim -czf /backup/welt-$(date +%F-%H%M).tgz worlds_local

# B: konsistent — kurz anhalten, sichern, weiterlaufen (nachts, per Timer)
systemctl stop valheim && tar -czf /backup/welt-$(date +%F).tgz ... && systemctl start valheim

Der Rest, mehrere Ziele, Verschlüsselung, geprüfte Wiederherstellung, steht in 3-2-1 in der Praxis. Der Punkt, der hier eigen ist: Sichere häufiger als bei einem Webdienst. Eine verlorene Stunde Fortschritt ist bei einer Website ein Ärgernis, in einer Spielwelt ein Abend Arbeit von zehn Leuten.

Updates, die ohne Vorwarnung kommen#

Steam-Spiele aktualisieren ihre Clients automatisch. Ist der Server älter, verbindet niemand mehr, meist ohne brauchbare Fehlermeldung, oft mitten am Abend.

#!/bin/bash
# /usr/local/bin/valheim-update — vom systemd-Timer aufgerufen
set -euo pipefail
systemctl stop valheim
sudo -u steam steamcmd +force_install_dir /home/steam/valheim \
     +login anonymous +app_update 896660 validate +quit
systemctl start valheim

Ob das automatisch laufen soll, ist eine echte Abwägung: Automatisch heißt „am nächsten Morgen aktuell“, aber auch „ein fehlerhaftes Update ist über Nacht eingespielt“. Der Mittelweg, der sich hält: automatisch prüfen, aber nur benachrichtigen und den Neustart selbst auslösen, wenn Zeit dafür ist. Wie so ein Alarmweg aufgebaut wird, steht in Monitoring aufsetzen.

Ports und Firewall#

Nur die Ports auf, die der Prozess wirklich benutzt und UDP ist hier der Normalfall, nicht TCP:

ss -ulnp | grep valheim          # zeigt, worauf tatsächlich gelauscht wird
nft add rule inet filter input udp dport { 2456, 2457 } accept

Der übrige Aufbau steht in Firewall mit nftables. Wer den Server öffentlich listet, sollte vorher Gameserver und Angriffe lesen, eine öffentlich gelistete IP-Adresse wird gefunden.

Häufige Fragen#

Warum findet niemand meinen Server in der Liste?#

Drei übliche Gründe, in dieser Reihenfolge prüfen: Der Abfrageport ist zu (oft ein anderer als der Spielport), der Server steht auf nicht-öffentlich, oder die Liste des Herstellers braucht schlicht ein paar Minuten.

Brauche ich LinuxGSM?#

Es nimmt dir Skripte ab und ist gut gepflegt. Was es nicht ändert: Du bist trotzdem für Sicherung, Ports und Updates verantwortlich. Wer versteht, was oben passiert, kann beides.

Wie viele Spieler trägt Palworld?#

Deutlich weniger als die Werbung nahelegt, Palworld ist unter den hier genannten Spielen der mit Abstand hungrigste Server. Plane großzügig RAM ein und beobachte den Verbrauch über die ersten Abende, statt der Anzeige im Menü zu glauben.

Kann ich mehrere Spiele auf einem Server betreiben?#

Ja, mit getrennten Benutzern, getrennten Verzeichnissen und getrennten Units. Achte auf den Arbeitsspeicher und darauf, dass beide Welten nicht gleichzeitig speichern.

Läuft das auch im Container?#

Ja, aber der Gewinn ist gering: Ein SteamCMD-Server ist ein einzelner Prozess mit einem Datenverzeichnis. Die systemd-Unit ist hier der schlichtere Weg.

Kurz gesagt#

  • Ein Ablauf für alle: SteamCMD, App-ID, Verzeichnis, Unit.
  • Nie als root, immer ein eigener Benutzer.
  • KillSignal=SIGINT plus großzügiges TimeoutStopSec, sonst verlierst du Welt-Fortschritt.
  • Öfter sichern als bei Webdiensten; die Weltdatei gibt es nur einmal.
  • Updates kommen ohne Vorwarnung: prüfen automatisch, neu starten bewusst.
MRMedia

Geschrieben aus dem laufenden Betrieb: MRMedia betreibt eigene Proxmox- Hosts, einen Backup-Server und Kundendienste in der EU. Fehler in einer Anleitung sind Fehler im eigenen Betrieb. Korrekturen bitte über Discord.