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.
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.
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.
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.
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.
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:
ServerName — what shows up in the in-game server browserServerName — was im In-Game-Server-Browser angezeigt wirdServerPassword — leave empty for a public join, or set a join password for a private groupServerPassword — leer lassen für öffentlichen Beitritt, oder ein Beitrittspasswort für eine private Gruppe setzenServerPort — the base UDP game port, 26900 by default; change it only if you also change every forwarded port to matchServerPort — der Basis-UDP-Spiel-Port, standardmäßig 26900; ändere ihn nur, wenn du auch jeden weitergeleiteten Port entsprechend änderstServerMaxPlayerCount — your slot count, and a direct input into the RAM math aboveServerMaxPlayerCount — deine Slot-Zahl, und ein direkter Faktor in der RAM-Rechnung von obenGameWorld — set to RWG (or a name of your choosing) to have the server generate a new world on first start; set it to one of the game's own pregenerated map names instead if you want a fixed, known map rather than a random oneGameWorld — auf RWG setzen (oder einen Namen deiner Wahl), damit der Server beim ersten Start eine neue Welt generiert; stattdessen auf einen der eigenen vorgenerierten Kartennamen des Spiels setzen, wenn du eine feste, bekannte Map willst statt einer zufälligenWorldGenSeed — only read when GameWorld is generating a new map; the same seed reproduces the same terrain, which is worth writing down somewhere other than this fileWorldGenSeed — wird nur gelesen, wenn GameWorld eine neue Map generiert; derselbe Seed reproduziert dasselbe Terrain, was es wert ist, irgendwo anders als in dieser Datei notiert zu werdenGameDifficulty — an integer step from easiest to hardest; leave it at the default until your group has an opinionGameDifficulty — eine ganzzahlige Stufe von am leichtesten bis am schwersten; lass sie auf dem Standardwert, bis deine Gruppe eine Meinung dazu hatServerVisibility — controls whether the server is listed in the public server browser, visible to friends only, or hidden entirely for direct-connect-only playServerVisibility — steuert, ob der Server im öffentlichen Server-Browser gelistet, nur für Freunde sichtbar oder für reines Direct-Connect-Spiel komplett verborgen istTelnetEnabled / TelnetPort / TelnetPassword — the admin console. Turn it on, set a real password, and never forward TelnetPort through your firewall — it is an admin channel, not something players need, and it is also how you will shut the server down cleanly in the next step.TelnetEnabled / TelnetPort / TelnetPassword — die Admin-Konsole. Schalte sie ein, setze ein echtes Passwort, und leite TelnetPort niemals über deine Firewall weiter — es ist ein Admin-Kanal, nichts, was Spieler brauchen, und es ist zugleich, wie du den Server im nächsten Schritt sauber herunterfährst.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
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.
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.
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.
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.
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.
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.
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.
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.
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