HomeStart / GuidesAnleitungen / Running a 7 Days to Die dedicated server on a Linux VPS (SteamCMD, serverconfig.xml, systemd)/ Einen 7-Days-to-Die-Dedicated-Server auf einem Linux-VPS betreiben (SteamCMD, serverconfig.xml, systemd)

Running a 7 Days to Die dedicated server on a Linux VPS (SteamCMD, serverconfig.xml, systemd)Einen 7-Days-to-Die-Dedicated-Server auf einem Linux-VPS betreiben (SteamCMD, serverconfig.xml, systemd)

The 7 Days to Die dedicated server is a normal SteamCMD download with one XML file doing all the work, but the honest part nobody puts in the first paragraph is that the whole world lives in that save's memory footprint for as long as the process runs, and it only grows.Der 7-Days-to-Die-Dedicated-Server ist ein normaler SteamCMD-Download, bei dem eine einzige XML-Datei die ganze Arbeit macht, aber der ehrliche Teil, den niemand in den ersten Absatz schreibt, ist: Die gesamte Welt lebt so lange im Speicher-Footprint dieses Spielstands, wie der Prozess läuft, und dieser Footprint wächst nur.

What you are installingWas du installierst

The dedicated server ships as its own Steam application, separate from the game you play:Der Dedicated Server läuft als eigene Steam-Anwendung, getrennt vom Spiel, das du spielst:

There is no separate GUI to configure; everything the server does at boot is read from one file, serverconfig.xml, that you edit before the first start.Es gibt keine separate GUI zur Konfiguration; alles, was der Server beim Start liest, kommt aus einer einzigen Datei, serverconfig.xml, die du vor dem ersten Start bearbeitest.

Sizing it honestlyEhrlich dimensionieren

A freshly generated world with two or three players will run in modest memory, but 7 Days to Die keeps the entire loaded and explored terrain, every placed block change, every zombie and loot container state in the running process — it does not stream world state off to disk the way some survival games do. The save grows as the map gets explored, and it does not shrink back down.Eine frisch generierte Welt mit zwei oder drei Spielern läuft mit moderatem Speicherverbrauch, aber 7 Days to Die hält das gesamte geladene und erkundete Terrain, jede platzierte Blockänderung, jeden Zombie- und Loot-Container-Zustand im laufenden Prozess — es lagert den Welt-Zustand nicht auf die Platte aus, wie es manche Survival-Spiele tun. Der Spielstand wächst, während die Map erkundet wird, und er schrumpft nicht wieder zurück.

For a generated world (random world gen, not one of the small pregenerated maps) with a handful of players, 8 GiB is the realistic floor — that is our Pro tier, 4 vCPU / 8 GiB RAM / 120 GB disk. For a small pregenerated map with two or three people who are not going to explore the whole thing, 4 GiB works — Standard, 2 vCPU / 4 GiB RAM / 80 GB disk. Either way, memory use climbs over a long-running save, so budget for where the world will be in a few months, not where it starts.Für eine generierte Welt (zufällige Weltgenerierung, nicht eine der kleinen vorgenerierten Maps) mit einer Handvoll Spieler ist 8 GiB die realistische Untergrenze — das ist unser Pro-Tarif, 4 vCPU / 8 GiB RAM / 120 GB Speicher. Für eine kleine vorgenerierte Map mit zwei oder drei Leuten, die nicht die ganze Map erkunden werden, reichen 4 GiB — Standard, 2 vCPU / 4 GiB RAM / 80 GB Speicher. So oder so steigt der Speicherverbrauch bei einem lange laufenden Spielstand, plane also dafür, wo die Welt in ein paar Monaten stehen wird, nicht dafür, wo sie startet.

Disk is the easier number: the install plus a mid-size save is roughly 15 GB, comfortably inside either tier, with room to keep more than one backup of the save alongside it.Speicherplatz ist die einfachere Zahl: Installation plus ein mittelgroßer Spielstand sind etwa 15 GB, komfortabel innerhalb beider Tarife, mit Platz, um mehr als ein Backup des Spielstands daneben zu halten.

Step 1: the machine and a dedicated userSchritt 1: die Maschine und ein dedizierter Nutzer

Deploy an Ubuntu LTS image, then do the security basics before anything faces the internet: a non-root user with your SSH key, password login switched off, a firewall that defaults to deny. We wrote the SSH side up as connect to your VPS over SSH.Setze ein Ubuntu-LTS-Image auf und erledige dann die Sicherheitsgrundlagen, bevor irgendetwas dem Internet ausgesetzt ist: ein Non-Root-Nutzer mit deinem SSH-Key, Passwort-Login ausgeschaltet, eine Firewall, die standardmäßig blockiert. Wir haben die SSH-Seite aufgeschrieben unter über SSH mit deinem VPS verbinden.

SteamCMD needs the 32-bit runtime even on a 64-bit box:SteamCMD braucht die 32-Bit-Runtime, auch auf einer 64-Bit-Maschine:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 curl tar netcat-openbsd
sudo useradd -m -s /bin/bash sdtd

Everything from here runs as the sdtd user, never as root and never as your own login — a crashing or compromised game server should not have write access to anything beyond its own home directory.Alles ab hier läuft als der Nutzer sdtd, niemals als root und niemals unter deinem eigenen Login — ein abstürzender oder kompromittierter Game-Server sollte über sein eigenes Home-Verzeichnis hinaus keinen Schreibzugriff haben.

Step 2: install with SteamCMDSchritt 2: Installation mit SteamCMD

sudo -u sdtd -i
mkdir -p ~/steamcmd && cd ~/steamcmd
curl -sSL https://media.steampowered.com/client/installer/steamcmd_linux.tar.gz | tar zxf -
./steamcmd.sh +force_install_dir /home/sdtd/server \
              +login anonymous \
              +app_update 294420 validate \
              +quit

That is also the update command — the same line, run again, pulls the next build. See Step 6 for why you should not run it blind on a save you care about.Das ist auch der Update-Befehl — dieselbe Zeile, erneut ausgeführt, holt den nächsten Build. Siehe Schritt 6 dafür, warum du sie nicht blind auf einem Spielstand ausführen solltest, an dem dir etwas liegt.

Step 3: serverconfig.xml, the keys that matterSchritt 3: serverconfig.xml, die Schlüssel, die zählen

The install drops a serverconfig.xml in the server root. Open it as the sdtd user and set at least these:Die Installation legt eine serverconfig.xml in der Server-Wurzel ab. Öffne sie als der Nutzer sdtd und setze mindestens diese:

<ServerName>My Server</ServerName>
<ServerPassword></ServerPassword>
<ServerPort>26900</ServerPort>
<ServerMaxPlayerCount>8</ServerMaxPlayerCount>
<GameWorld>RWG</GameWorld>
<WorldGenSeed>MySeed123</WorldGenSeed>
<GameDifficulty>2</GameDifficulty>
<ServerVisibility>2</ServerVisibility>
<TelnetEnabled>true</TelnetEnabled>
<TelnetPort>8081</TelnetPort>
<TelnetPassword>changeme</TelnetPassword>

Lock the file down once it's set: chmod 600 /home/sdtd/server/serverconfig.xml. useradd -m leaves /home/sdtd at the ordinary 755, and SteamCMD writes the file at the ordinary 644, so as shipped it holds TelnetPassword in plain text and any other local account on the box can read it straight off disk.Sperre die Datei ab, sobald sie gesetzt ist: chmod 600 /home/sdtd/server/serverconfig.xml. useradd -m lässt /home/sdtd bei den üblichen 755, und SteamCMD schreibt die Datei mit den üblichen 644, sodass sie im Auslieferungszustand TelnetPassword im Klartext enthält und jeder andere lokale Account auf der Maschine sie direkt von der Platte lesen kann.

What each one actually does:Was jeder einzelne tatsächlich bewirkt:

Step 4: startserver.sh, systemd, and a clean stopSchritt 4: startserver.sh, systemd, und ein sauberer Stopp

The install ships a startserver.sh in the server root that launches the server binary pointed at your config file. Run it directly to confirm the world generates before you wrap it in a service:Die Installation liefert ein startserver.sh in der Server-Wurzel, das die Server-Binary passend zu deiner Konfigurationsdatei startet. Führe es direkt aus, um zu bestätigen, dass die Welt generiert wird, bevor du es in einen Dienst verpackst:

cd /home/sdtd/server
./startserver.sh -configfile=serverconfig.xml

Once that works, stop it (Ctrl+C) and hand it to systemd. Here is the part to be honest about: the game's telnet console has a documented shutdown command that closes the world down cleanly, and that is the route this brief recommends. What I cannot promise you is that the server always saves everything cleanly if systemd just sends the default SIGTERM and waits — I have not seen that behaviour documented either way, so treat a bare SIGTERM as a "probably fine, not guaranteed" stop and use the telnet route when you can:Sobald das funktioniert, stoppe es (Ctrl+C) und übergib es an systemd. Hier ist der Teil, bei dem Ehrlichkeit angebracht ist: Die Telnet-Konsole des Spiels hat einen dokumentierten shutdown-Befehl, der die Welt sauber herunterfährt, und das ist der Weg, den dieser Leitfaden empfiehlt. Was ich dir nicht versprechen kann, ist, dass der Server garantiert alles sauber speichert, wenn systemd einfach das Standard-SIGTERM schickt und wartet — ich habe dieses Verhalten weder in die eine noch in die andere Richtung dokumentiert gesehen, behandle ein blankes SIGTERM also als „vermutlich in Ordnung, aber nicht garantiert“ und nutze, wo möglich, den Telnet-Weg:

[Unit]
Description=7 Days to Die dedicated server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=sdtd
WorkingDirectory=/home/sdtd/server
ExecStart=/home/sdtd/server/startserver.sh -configfile=serverconfig.xml
ExecStop=/bin/sh -c 'printf "changeme\nshutdown\n" | nc -q2 127.0.0.1 8081'
Restart=on-failure
RestartSec=10
TimeoutStopSec=120

[Install]
WantedBy=multi-user.target

Swap changeme in ExecStop for whatever you set as TelnetPassword. Then lock the unit file down too — sudo chmod 640 /etc/systemd/system/sdtd.service — unit files land at the default 644 otherwise, and the password now sits in this one in plain text. TimeoutStopSec=120 gives the world time to write out before systemd gives up and escalates to a hard kill. Enable and watch it:Tausche changeme in ExecStop gegen das, was du als TelnetPassword gesetzt hast. Sperre dann auch die Unit-Datei ab — sudo chmod 640 /etc/systemd/system/sdtd.service — Unit-Dateien landen sonst bei den Standard-644, und das Passwort steht jetzt im Klartext in dieser Datei. TimeoutStopSec=120 gibt der Welt Zeit zum Schreiben, bevor systemd aufgibt und zu einem harten Kill eskaliert. Aktivieren und beobachten:

sudo systemctl enable --now sdtd
journalctl -u sdtd -f

Step 5: ports and the NAT IPv4 catchSchritt 5: Ports und die NAT-IPv4-Falle

The base game port is 26900/udp. Steam's own networking layer for the game also uses the ports immediately above it, so the range that needs to reach the server is 26900 through 26903 over UDP, plus 26900 over TCP for the game's own connection handshake:Der Basis-Spiel-Port ist 26900/udp. Steams eigene Netzwerkschicht für das Spiel nutzt außerdem die Ports direkt darüber, sodass der Bereich, der den Server erreichen muss, 26900 bis 26903 über UDP plus 26900 über TCP für den Verbindungs-Handshake des Spiels ist:

sudo ufw allow 26900:26903/udp
sudo ufw allow 26900/tcp

If your VPS gives you NAT IPv4 rather than an address of your own, you do not get to open arbitrary ports — you get a fixed, small set of forwarded ones, and 26900 through 26903 all need to be in that set or the server runs fine locally while nobody outside can join it. The fix is either to confirm that full range is among your forwarded ports, or to arrange a dedicated IPv4, which on our plans is available on request by e-mail rather than as a self-service add-on. Read NAT IPv4 vs a dedicated IP and NAT IPv4, ports and forwarding before you order if you are not sure which situation you are in.Gibt dir dein VPS NAT-IPv4 statt einer eigenen Adresse, kannst du keine beliebigen Ports öffnen — du bekommst einen festen, kleinen Satz weitergeleiteter Ports, und 26900 bis 26903 müssen alle darin enthalten sein, sonst läuft der Server lokal einwandfrei, während niemand von außen beitreten kann. Die Lösung ist entweder zu bestätigen, dass der volle Bereich zu deinen weitergeleiteten Ports gehört, oder eine dedizierte IPv4 zu arrangieren, die bei unseren Tarifen auf Anfrage per E-Mail verfügbar ist statt als Self-Service-Add-on. Lies NAT IPv4 vs. dedizierte IP und NAT IPv4, Ports und Weiterleitung, bevor du bestellst, falls du dir nicht sicher bist, in welcher Situation du bist.

Keep TelnetPort (8081) off that forwarded list entirely, for the reason already covered in Step 3.Halte TelnetPort (8081) komplett von dieser weitergeleiteten Liste fern, aus dem in Schritt 3 bereits genannten Grund.

Step 6: saves, mods and updatesSchritt 6: Spielstände, Mods und Updates

Everything about a running world — the map, player data, the loot and vehicle state — lives under the path set by UserDataFolder in serverconfig.xml (a relative Saves folder under the install directory if you leave it unset). Back that folder up on its own schedule, not just the install directory, since it is the one thing on the box you cannot regenerate; back up your VPS covers what a sane backup habit looks like.Alles rund um eine laufende Welt — die Map, Spielerdaten, der Loot- und Fahrzeug-Zustand — liegt unter dem Pfad, den UserDataFolder in serverconfig.xml festlegt (ein relativer Saves-Ordner unter dem Installationsverzeichnis, wenn du ihn nicht setzt). Sichere diesen Ordner nach seinem eigenen Zeitplan, nicht nur mit dem Installationsverzeichnis, denn er ist das eine, das du auf der Maschine nicht neu erzeugen kannst; deinen VPS sichern behandelt, wie eine vernünftige Backup-Gewohnheit aussieht.

Mods live in a Mods folder in the server root. The rule that catches people: a mod that only edits existing XML data (loot tables, item stats, spawn rules) works fine as a server-side-only install — clients need nothing extra. A mod that ships new assets — models, textures, custom items with new art — needs the same mod installed on every connecting client, because the game has no built-in workshop distribution to push it to them. Check what a mod actually contains before you assume installing it on the server alone is enough.Mods liegen in einem Mods-Ordner in der Server-Wurzel. Die Regel, die Leute erwischt: Ein Mod, der nur bestehende XML-Daten bearbeitet (Loot-Tabellen, Item-Werte, Spawn-Regeln), funktioniert problemlos als rein serverseitige Installation — Clients brauchen nichts zusätzlich. Ein Mod, der neue Assets mitbringt — Modelle, Texturen, benutzerdefinierte Items mit neuer Grafik —, braucht denselben Mod auf jedem verbindenden Client, weil das Spiel keinen eingebauten Workshop-Vertrieb hat, um ihn dorthin zu pushen. Prüfe, was ein Mod tatsächlich enthält, bevor du annimmst, ihn allein auf dem Server zu installieren reiche aus.

Update the server with the exact same SteamCMD line from Step 2. A major game version update very often changes the save format enough that an old world will not load cleanly on the new build, so back up the UserDataFolder before you update, every time, not only for the updates that mention it in their patch notes.Aktualisiere den Server mit exakt derselben SteamCMD-Zeile aus Schritt 2. Ein größeres Spiel-Versions-Update ändert sehr oft das Speicherformat so weit, dass eine alte Welt auf dem neuen Build nicht sauber lädt, sichere also den UserDataFolder vor jedem Update, jedes Mal, nicht nur bei den Updates, die es in ihren Patch-Notes erwähnen.

On overnight.hostBei overnight.host

Full disclosure: this is what we sell. The server holds the entire world in RAM, so Pro (4 vCPU / 8 GiB / 120 GB) is the honest size for a freshly generated map with a handful of players, while Standard (2 vCPU / 4 GiB / 80 GB) is enough for a small pregenerated map with two or three people — move up if the save keeps growing.Zur vollen Transparenz: Das ist, was wir verkaufen. Der Server hält die gesamte Welt im RAM, also ist Pro (4 vCPU / 8 GiB / 120 GB) die ehrliche Größe für eine frisch generierte Map mit einer Handvoll Spieler, während Standard (2 vCPU / 4 GiB / 80 GB) für eine kleine vorgenerierte Map mit zwei oder drei Leuten reicht — steig höher, wenn der Spielstand weiter wächst.

Linux KVM VPS — EUR 4.99 to EUR 59.99 a month, on our own single-tenant bare metal in Dallas, TX and Charlotte, NC. Full hardware virtualisation (KVM), your own kernel, full root. Six tiers, vps-starter to vps-ultra. Starter is 1 vCPU, 1 GiB RAM, 25 GB disk.Linux-KVM-VPS — 4,99 bis 59,99 EUR im Monat, auf unserer eigenen Single-Tenant-Bare-Metal-Hardware in Dallas, TX und Charlotte, NC. Vollständige Hardware-Virtualisierung (KVM), eigener Kernel, volles Root. Sechs Tarife, vps-starter bis vps-ultra. Starter hat 1 vCPU, 1 GiB RAM, 25 GB Speicher.

You order in the shop, pay by card (Stripe) or SEPA bank transfer, and your login details are e-mailed to you once the service is set up. Support is e-mail, run by one person, with no guaranteed response time. All prices are final totals under the German small-business rule (§19 UStG); no VAT is added or shown.Du bestellst im Shop, zahlst per Karte (Stripe) oder SEPA-Überweisung, und deine Zugangsdaten werden dir per E-Mail zugeschickt, sobald der Dienst eingerichtet ist. Support läuft per E-Mail, von einer einzelnen Person betrieben, ohne garantierte Reaktionszeit. Alle Preise sind Endpreise. Gemäß § 19 UStG wird keine Umsatzsteuer ausgewiesen.

Order vps-pro → · Linux KVM VPS overviewvps-pro bestellen → · Übersicht Linux-KVM-VPS

Written by the person who runs overnight.host: a small, honest hosting company on dedicated bare metal — Linux VPS, game servers, web hosting. Live status at up.overnight.host.Geschrieben von der Person, die overnight.host betreibt: ein kleines, ehrliches Hosting-Unternehmen auf dedizierter Bare-Metal-Hardware — Linux-VPS, Gameserver, Webhosting. Live-Status unter up.overnight.host.

Technical guidance is informational. Plans, specifications and final prices are listed in the shop and can be ordered directly; VPS, game server, web hosting, one-click app and automation plans are provisioned automatically after payment. Custom configurations are still arranged by e-mail.Technische Hinweise dienen der Information. Pläne, Spezifikationen und Endpreise stehen im Shop und können direkt bestellt werden; VPS-, Gameserver-, Webhosting-, One-Click-App- und Automatisierungs-Pläne werden nach der Zahlung automatisch bereitgestellt. Sonderkonfigurationen werden weiterhin per E-Mail vereinbart.

FAQFAQ

Do I need to own 7 Days to Die to install the dedicated server?Muss ich 7 Days to Die besitzen, um den Dedicated Server zu installieren?

No. The dedicated server is its own free Steam application, app ID 294420, and installs anonymously through SteamCMD. You do need the game itself, on whatever account you use to actually play and connect.Nein. Der Dedicated Server ist eine eigene, kostenlose Steam-Anwendung, App-ID 294420, und installiert sich anonym über SteamCMD. Das Spiel selbst brauchst du auf dem Account, mit dem du tatsächlich spielst und dich verbindest.

How much RAM does a 7 Days to Die server need?Wie viel RAM braucht ein 7-Days-to-Die-Server?

For a generated (random-world-gen) map with a handful of players, plan for 8 GiB — our Pro tier. A small pregenerated map with two or three people gets by on 4 GiB. Either way memory climbs as the save ages and gets explored, since the whole world state stays resident while the server runs.Für eine generierte (zufällige Weltgenerierung) Map mit einer Handvoll Spieler plane mit 8 GiB — unser Pro-Tarif. Eine kleine vorgenerierte Map mit zwei oder drei Leuten kommt mit 4 GiB aus. So oder so steigt der Speicherverbrauch mit dem Alter des Spielstands und seiner Erkundung, da der gesamte Welt-Zustand im Speicher bleibt, solange der Server läuft.

Which ports do I need to forward?Welche Ports muss ich weiterleiten?

26900/udp is the base game port, and Steam's networking for the game also uses the three ports above it, so the full range to open and forward is 26900 through 26903, all UDP. On a NAT IPv4 plan, all four need to be among your forwarded ports or outside players cannot connect even though the server itself runs fine.26900/udp ist der Basis-Spiel-Port, und Steams Netzwerkschicht für das Spiel nutzt außerdem die drei Ports darüber, sodass der vollständige Bereich, den du öffnen und weiterleiten musst, 26900 bis 26903, alle UDP, ist. Bei einem NAT-IPv4-Tarif müssen alle vier zu deinen weitergeleiteten Ports gehören, sonst können Spieler von außen sich nicht verbinden, obwohl der Server selbst einwandfrei läuft.

How do I shut the server down without corrupting the save?Wie fahre ich den Server herunter, ohne den Spielstand zu beschädigen?

The safest route is the telnet console's shutdown command, sent to TelnetPort (default 8081, and it should never be forwarded past localhost). A systemd stop that just sends SIGTERM is likely fine but is not something this brief can promise you saves cleanly every time, so wiring ExecStop to the telnet shutdown command is the more careful choice.Der sicherste Weg ist der shutdown-Befehl der Telnet-Konsole, gesendet an TelnetPort (standardmäßig 8081, und der sollte nie über localhost hinaus weitergeleitet werden). Ein systemd-Stopp, der nur SIGTERM sendet, ist vermutlich in Ordnung, aber dieser Leitfaden kann dir nicht versprechen, dass er jedes Mal sauber speichert, weshalb ExecStop auf den Telnet-Shutdown-Befehl zu verdrahten die vorsichtigere Wahl ist.

Can everyone in my group use any mod I install?Kann jeder in meiner Gruppe jeden Mod nutzen, den ich installiere?

Only if the mod is pure XML changes to existing data — those work with the mod on the server alone. A mod that adds new models, textures or other assets has to be installed on every client too, because there is no automatic distribution for it; check the mod's own contents before assuming a server-only install is enough.Nur wenn der Mod ausschließlich bestehende XML-Daten ändert — das funktioniert mit dem Mod allein auf dem Server. Ein Mod, der neue Modelle, Texturen oder andere Assets hinzufügt, muss auch auf jedem Client installiert werden, weil es dafür keine automatische Verteilung gibt; prüfe den Inhalt des Mods selbst, bevor du annimmst, eine reine Server-Installation reiche aus.

Ready to order?Bereit zu bestellen?

Prices are final totals; no VAT is shown (§19 UStG). Need something the shop does not list? Email us for a written offer.Alle Preise sind Endpreise ohne ausgewiesene USt. (§19 UStG). Du brauchst etwas, das nicht im Shop steht? Schreib uns für ein schriftliches Angebot.

Order now →Jetzt bestellen → Request a custom configIndividuelle Konfiguration anfragen