Diese Website verwendet notwendige Cookies für den Betrieb der Seite. Zusätzliche Dienste wie Statistik, Marketing oder externe Widgets werden ohne JavaScript nicht geladen. Weitere Informationen findest du in unserer Datenschutzerklärung.
Zurück zum Blog
Nexthosting Guide

SteamCMD Server einrichten: systemd, Automatisierung und Sicherheit

Windows und Linux: Schritt für Schritt SteamCMD Server einrichten mit systemd Units, automatischen Updates, Firewallhärtung und Option für verwaltetes...

09.09.2026 4 Aufrufe
SteamCMD Server einrichten: systemd, Automatisierung und Sicherheit

SteamCMD ist Valves offizielles Kommandozeilen-Tool, um Dateien für dedizierte Server herunterzuladen und zu aktualisieren. Der Kernbefehl lautet +force_install_dir <Verzeichnis> +login anonymous +app_update <APPID> [+validate] +quit. Ob Windows oder Linux: Die Logik bleibt gleich, nur die Installation und ein paar Systemvoraussetzungen unterscheiden sich. Die Details dazu folgen gleich, Schritt für Schritt.


Kurz gesagt:

  • Wenn Sie einen dedizierten Spielserver selbst hosten, benötigen Sie einen nicht privilegierten Nutzer und eine klare Verzeichnisstruktur, um Fehler zu vermeiden.
  • Für die Installation von SteamCMD unter Linux ist es zwingend erforderlich, die 32-Bit-Bibliotheken zu installieren, sonst startet der Client nicht.
  • Die richtige Reihenfolge beim Herunterladen der Serverdateien ist +force_install_dir vor +login, um Fehler bei der Installation zu verhindern.
  • Für einen stabilen Betrieb sollten Server systemd-Dienste verwenden, um automatische Neustarts bei Fehlern zu gewährleisten.
  • Beim Öffnen von Netzwerkports muss nur die für das Spiel notwendige Range an Ports freigegeben und RCON-Zugriff nur aus dem internen Netzwerk erlaubt werden.

Nexthosting
Steamserver zuverlässig betreiben
Nexthosting bietet leistungsstarke Server mit DDoS-Schutz, schneller Bereitstellung und persönlichem Support für anspruchsvolle Gameserver-Projekte.
Hosting-Lösungen ansehen

Inhaltsverzeichnis

Voraussetzungen und Vorbereitung für den eigenen Steam Server

Bevor SteamCMD überhaupt startet, sollten ein paar Dinge stehen. Wer hier schludert, jagt später stundenlang Fehlermeldungen, die eigentlich vermeidbar gewesen wären.

  • Legen Sie einen eigenen, nicht privilegierten Benutzer an. SteamCMD sollte niemals unter Root laufen, das ist eine der wichtigsten Grundregeln beim Betrieb eines Steam Dedicated Servers.
  • Erstellen Sie eine klare Verzeichnisstruktur, etwa /home/steam/serverfiles für die Spieldateien und ein separates Verzeichnis für SteamCMD selbst.
  • Installieren Sie unter Linux die nötigen 32-Bit-Bibliotheken (zum Beispiel lib32gcc-s1), da SteamCMD sonst auf 64-Bit-Systemen gar nicht erst startet.
  • Prüfen Sie den verfügbaren Speicherplatz. Manche Spiele wie Rust oder Arma 3 belegen schnell mehrere Dutzend Gigabyte.
  • Planen Sie von Anfang an einen Backup-Rhythmus, statt ihn erst nach dem ersten Datenverlust einzurichten.

Profi-Tipp: Legen Sie sich schon vor der ersten Installation eine Notiz mit der genauen AppID Ihres Servers an. Viele Anleitungen verwechseln die Client-AppID mit der dedizierten Server-AppID, und das führt später zu ziemlich verwirrenden Fehlermeldungen.

SteamCMD installieren: Schritt für Schritt unter Windows und Linux

Die Installation selbst dauert bei beiden Systemen nur wenige Minuten. SteamCMD lädt sich beim ersten Start ohnehin selbst nach, deshalb reicht ein schlankes Basispaket.

Unter Windows:

  1. Laden Sie das offizielle Archiv steamcmd.zip von SteamCDN herunter.
  2. Entpacken Sie die Datei in ein eigenes Verzeichnis, etwa C:\steamcmd.
  3. Starten Sie steamcmd.exe. Beim ersten Aufruf lädt sich das Tool selbst komplett nach.
  4. Warten Sie, bis die Eingabeaufforderung Steam> erscheint, dann ist SteamCMD einsatzbereit.

Unter Linux:

  1. Prüfen Sie, ob Ihre Distribution ein Paket steamcmd in den Repositories führt, und installieren Sie es gegebenenfalls über den Paketmanager.
  2. Alternativ laden Sie das Archiv manuell mit wget herunter und entpacken es mit tar -xvzf steamcmd_linux.tar.gz.
  3. Führen Sie ./steamcmd.sh aus dem eigenen Benutzerkonto aus, niemals als Root.
  4. Bricht der Start mit einer Bibliotheksfehlermeldung ab, fehlen fast immer die 32-Bit-Pakete aus dem vorherigen Abschnitt.

Als Standard-Werkzeug für moderne Steam-basierte Server hat SteamCMD das ältere HLDSUpdateTool praktisch vollständig abgelöst, weil es auf der SteamPipe-Infrastruktur aufbaut und Updates deutlich zuverlässiger ausliefert.

Serverdateien mit +app_update herunterladen: Praxisbeispiele

Die Reihenfolge der Befehle entscheidet, ob die Installation glatt läuft oder mit kryptischen Fehlermeldungen endet. Valve empfiehlt ausdrücklich, +force_install_dir vor +login zu setzen, denn die ältere Reihenfolge wird zwar noch toleriert, aber zunehmend als fehleranfällig eingestuft.

Ein typischer Aufruf für einen Counter-Strike-2-Server sieht so aus:

  • ./steamcmd.sh +force_install_dir /home/steam/cs2 +login anonymous +app_update 730 +quit

Für die meisten dedizierten Server reicht der anonyme Login völlig aus, ein persönlicher Steam-Account ist nicht nötig, was gerade Automatisierung erheblich vereinfacht. Häufigster Stolperstein ist die Fehlermeldung „No subscription“, die fast immer auf eine falsche AppID oder einen fehlerhaften Login-Modus zurückgeht. Wer Workshop-Inhalte laden möchte, etwa für Garry’s Mod, nutzt zusätzlich den Parameter +host_workshop_collection mit der jeweiligen Collection-ID.

Das Flag +validate prüft alle Dateien gegen Prüfsummen und ist bei der Erstinstallation oder zur Fehlersuche sinnvoll. Für den täglichen Update-Lauf gehört es aber nicht in den Standardbefehl, weil es lokale Anpassungen überschreiben kann und unnötig Zeit kostet.

Profi-Tipp: Führen Sie eine erste Installation immer mit +validate durch, danach aber nur noch bei konkreten Problemen. Das spart bei größeren Servern wie Rust oder Arma 3 spürbar Zeit bei jedem Update.

Server.cfg, Startparameter und RCON richtig konfigurieren

Nach der Installation folgt die eigentliche Konfiguration. Sie entscheidet, wie stabil und wie sicher der Server später läuft.

In der server.cfg gehören mindestens folgende Einträge gesetzt:

  • hostname für den öffentlichen Servernamen
  • rcon_password mit einem starken, einzigartigen Passwort
  • sv_maxplayers zur Begrenzung der Spielerzahl
  • Spielspezifische Einträge wie Kartenrotation oder Tickrate

Die Startparameter steuern das Verhalten beim Serverstart selbst, etwa +map de_dust2, -port 27015 oder +maxplayers 20. Sie werden direkt beim Aufruf der Server-Executable übergeben, nicht über SteamCMD.

RCON verdient besondere Aufmerksamkeit. Beschränken Sie den Zugriff auf vertrauenswürdige IP-Adressen oder ein internes Netzwerk, und verwenden Sie niemals dasselbe Passwort wie für andere Dienste. Wichtig auch: Läuft +validate erneut, überschreibt es keine lokal angepasste server.cfg, solange die Datei nicht Teil des offiziellen Dateisatzes ist. Bei manchen Spielen lohnt sich trotzdem ein Backup der Konfiguration vor jedem größeren Update.

Systemd, Skripte und die richtige Update-Strategie

Ein Server, der bei jedem Absturz manuell neu gestartet werden muss, ist auf Dauer keine Lösung. Genau hier zahlt sich eine systemd-Unit aus.

  1. Erstellen Sie eine Unit-Datei mit User=steam, WorkingDirectory auf das Serververzeichnis und ExecStart auf die Start-Executable.
  2. Setzen Sie Restart=on-failure und After=network-online.target, damit der Dienst erst nach vorhandener Netzwerkverbindung startet.
  3. Erhöhen Sie LimitNOFILE, wenn viele gleichzeitige Verbindungen erwartet werden.
  4. Legen Sie ein separates Update-Skript an, das SteamCMD mit den passenden Parametern aufruft, ohne +validate im Regelbetrieb.
  5. Planen Sie Updates über einen systemd-Timer statt über Cron, das gibt bessere Kontrolle über Abhängigkeiten und Logging.

Diese Kombination aus Restart- und Limit-Optionen erhöht die Zuverlässigkeit von Game-Servern deutlich, gerade bei Spielen mit vielen kleinen Netzwerkpaketen.

Profi-Tipp: Testen Sie jedes Update zuerst auf einer Staging-Instanz und fahren Sie es zu verkehrsarmen Zeiten aus, bevor der Produktivserver dran ist.

Firewall, Ports und Netzwerksicherheit beim Steam Server

Ein dedizierter Server braucht offene Ports, aber nicht wahllos alle. Jedes Spiel nutzt typischerweise einen Game-Port für die eigentliche Verbindung, einen separaten Query-Port für Serverabfragen und einen RCON-Port für die Fernsteuerung, meist über UDP für Spielverkehr und TCP für RCON.

  • Öffnen Sie am Router nur die tatsächlich benötigten Ports per Port-Forwarding, nicht ganze Portbereiche.
  • Erlauben Sie RCON-Zugriff ausschließlich aus dem internen Netzwerk oder über ein VPN, niemals offen ins Internet.
  • Richten Sie Fail2Ban oder vergleichbare Regeln ein, um wiederholte Login-Versuche automatisch zu blockieren.
  • Prüfen Sie die Firewall-Konfiguration nach jedem größeren Serverupdate erneut, manche Updates ändern Standardports.

Der Netzwerkstandort beeinflusst außerdem messbar die Latenz für Ihre Spieler, ein Grund, warum DDoS-Schutz und Serverstandort bei der Wahl des Hosting-Anbieters mindestens so wichtig sind wie die reine Hardware. Eine schwache Anbindung macht selbst den bestkonfigurierten Server für europäische Spieler unbrauchbar.

Häufige Fehler bei SteamCMD und wie Sie sie beheben

Die meisten Probleme lassen sich mit ein paar gezielten Prüfschritten lösen, statt die komplette Installation neu aufzusetzen.

  • „No subscription“: Meist liegt es an einer falschen AppID oder einem fehlerhaft gesetzten Login-Modus. Prüfen Sie beide Werte zuerst.
  • SteamCMD startet unter Linux gar nicht: In fast allen Fällen fehlen die 32-Bit-Bibliotheken, siehe Voraussetzungen weiter oben.
  • Merkwürdige Installationsfehler: Kontrollieren Sie die Befehlsreihenfolge, +force_install_dir muss vor +login stehen.
  • Dateirechte-Fehler: Prüfen Sie, ob der Serverprozess wirklich unter dem eigenen Benutzerkonto läuft, nicht unter Root.
  • Bei unklaren Fehlern helfen die SteamCMD-Logs im Konsolenverzeichnis oft schneller weiter als ein erneuter +validate-Lauf.

Selbst hosten oder Managed Hosting: Eine ehrliche Einschätzung

Ein eigener SteamCMD-Server lohnt sich, wenn Sie Kontrolle über jedes Detail wollen und Zeit für Wartung, Updates und Sicherheitshärtung mitbringen. Wer dagegen Support-Aufwand, DDoS-Abwehr und Backups nicht selbst stemmen will, für den ist Managed Hosting oft die vernünftigere Wahl. Die Technik dahinter bleibt dieselbe, nur die Verantwortung verschiebt sich.

— Erik

Nexthosting: Wenn SteamCMD-Betrieb zu viel Aufwand wird

Alles, was in diesem Artikel beschrieben wurde, lässt sich selbst umsetzen, kostet aber Zeit: Ports konfigurieren, systemd-Dienste absichern, Updates testen, Backups pflegen. Nexthosting übernimmt genau diese Aufgaben für Sie, während Sie sich um die Konfiguration Ihres Servers statt um dessen Infrastruktur kümmern. Statt eine eigene systemd-Unit zu pflegen und Firewall-Regeln von Hand zu justieren, bekommen Sie eine fertig bereitgestellte Umgebung, in der SteamCMD-Updates und Serververwaltung deutlich schneller laufen. Das lohnt sich besonders, wenn Sie mehrere Instanzen parallel betreiben oder schlicht keine Lust auf nächtliche Update-Fenster haben. Schauen Sie sich die Serverangebote für CS2 an oder werfen Sie einen Blick auf die VPS-Lösungen von Nexthosting, wenn Sie mehr Flexibilität für eigene SteamCMD-Installationen brauchen.

Quellen

Weiterführend: die Valve Developer Documentation zu SteamCMD sowie ein praktisches Tutorial zur Spielserver-Einrichtung.

FAQ

Wie erstelle ich einen eigenen Spielserver mit SteamCMD?

Sie installieren SteamCMD, legen mit +force_install_dir ein Zielverzeichnis fest, loggen sich mit +login anonymous ein und laden die Serverdateien mit +app_update <APPID> herunter. Danach folgt die Konfiguration über die server.cfg und passende Startparameter.

Wie aktiviere ich einen Server über die Kommandozeile?

Nach der Installation starten Sie den Server über die jeweilige Server-Executable mit den passenden Startparametern, etwa Kartenname und Portnummer. Für dauerhaften Betrieb richten Sie zusätzlich eine systemd-Unit ein, die den Dienst automatisch neu startet.

Brauche ich einen Steam-Account, um einen Server einzurichten?

Nein, für die meisten dedizierten Server reicht der anonyme Login über +login anonymous völlig aus, ein persönlicher Steam-Account ist nicht erforderlich.

Wann sollte ich das validate-Flag bei SteamCMD nutzen?

Setzen Sie +validate bei der Erstinstallation oder wenn Sie einen konkreten Fehler beheben wollen. Für regelmäßige Updates lassen Sie es weg, da es lokale Konfigurationsanpassungen überschreiben kann.

Warum startet SteamCMD unter Linux nicht?

In den meisten Fällen fehlen die 32-Bit-Bibliotheken wie lib32gcc-s1, die SteamCMD auch auf 64-Bit-Systemen zwingend benötigt. Eine Nachinstallation über den Paketmanager löst das Problem üblicherweise sofort.