Datenschutz-Hinweis Diese Website verwendet nur technisch notwendige Cookies. Statistik-, Marketing- und externe Dienste werden ohne JavaScript nicht geladen. Mehr dazu in unserer Datenschutzerklärung.
Zurück zum Blog
Nexthosting Guide

Docker für Gameserver: Der praktische Weg zum eigenen Server

Gameserver mit Docker sicher und praxisnah betreiben: Einzelcontainer für Tests, Pterodactyl für skalierte Hosts, persistente Volumes, PUID/PGID und...

25.09.2026 16 Aufrufe
Docker für Gameserver: Der praktische Weg zum eigenen Server

Für einen einzelnen Server genügt ein schlanker Docker-Container mit einem passenden Image, etwa aus dem LinuxGSM-Umfeld. Wer mehrere Server oder eine ganze Community betreibt, kommt an Pterodactyl kaum vorbei, weil sich Nodes, Allocations und Updates dort zentral verwalten lassen. Beide Wege setzen eine laufende Docker-Installation, persistente Volumes und saubere Dateirechte (PUID/PGID) voraus. Vor jedem Update oder LinuxGSM-„validate“ gehört ein Backup dazu, sonst drohen überschriebene Konfigurationsdateien.


Kurz gesagt:

  • Für wenige Nutzer genügt ein einzelner Docker-Container, alle größeren Installationen profitieren jedoch von Pterodactyl zur zentralen Verwaltung mehrerer Server.
  • Bei der Einrichtung eines Minecraft-Servers ist das Anlegen eines Volumes für Daten, korrekte Dateirechte und regelmäßige Backups vor Updates essenziell.
  • Für Spiele mit hohem UDP-Verkehr sind Host-Netzwerke oft vorteilhaft, allerdings verringert das die Isolation des Containers erheblich.
  • Die sichere Nutzung von Docker erfordert Ressourcenlimits, das Minimieren von Root-Rechten und die Überwachung der Container-Auslastung, um Sicherheitslücken zu vermeiden.
  • Bei mehreren Nodes müssen Netzwerk-Subnetze sorgfältig konfiguriert werden, um IP-Kollisionen und Erreichbarkeitsprobleme zu vermeiden.

Nexthosting
Leistungsstarke Infrastruktur für Gameserver
Nexthosting bietet Gameserver, VPS und Dedicated Server mit zuverlässiger Performance, DDoS-Schutz und persönlichem Support.
Nexthosting entdecken

Inhaltsverzeichnis

Drei Wege zum Docker-Gameserver im Vergleich

Wer heute einen Gameserver mit Docker aufsetzen will, hat im Kern drei Optionen. Jede davon passt zu einem anderen Betriebsmodell, und die Wahl hängt weniger vom Spiel als von der geplanten Größe und Wartungsbereitschaft ab.

  • Einzelcontainer: Ein fertiges Image, meist per SteamCMD oder LinuxGSM-Skript befüllt, läuft direkt über docker run oder eine einzelne docker-compose.yml. Ideal für einen Testserver oder eine kleine Freundesrunde.
  • LinuxGSM-Images: Standardisierte Container mit eingebauten Verwaltungsskripten für Updates, Start und Backups. Praktisch für Betreiber, die mehrere Spiele parallel pflegen, aber ohne grafisches Panel arbeiten wollen.
  • Pterodactyl (Panel + Wings): Ein vollwertiges Verwaltungssystem, das Docker-Container über eine Weboberfläche orchestriert. Lohnt sich ab drei bis vier Servern oder wenn Teammitglieder ohne Root-Zugriff verwalten sollen.

Für Einsteiger ist der Einzelcontainer der schnellste Start. Sobald Skalierung, Nutzerverwaltung oder automatisierte Allocations wichtig werden, gewinnt Pterodactyl klar an Wert.

So richten Sie einen Minecraft-Server mit docker-compose ein

Ein Minecraft-Server lässt sich mit wenigen Zeilen docker-compose.yml betreiben. Das folgende Minimalbeispiel nutzt eine Java-17-Laufzeit, wie sie auch in Pterodactyls Yolks-Images zum Einsatz kommt, und funktioniert ebenso als eigenständiger Container ohne Panel.

services:
  minecraft:
    image: itzg/minecraft-server
    restart: unless-stopped
    ports:
      - "25565:25565/tcp"
      - "25565:25565/udp"
    environment:
      EULA: "TRUE"
      MEMORY: "4G"
      PUID: "1000"
      PGID: "1000"
    volumes:
      - ./data:/data
  1. volumes bindet den Ordner ./data auf dem Host an /data im Container. Weltdaten, Konfigurationen und Plugins überleben so jeden Neustart und jedes Update.
  2. environment setzt die Java-Runtime-Variablen. PUID/PGID sorgen dafür, dass Dateien im Container demselben Nutzer gehören wie auf dem Host, sonst drohen Berechtigungsfehler beim Zugriff von außen.
  3. ports bindet TCP und UDP auf denselben Port. Bei Minecraft reicht in der Regel TCP, andere Spiele brauchen zusätzlich UDP für Voice oder Sync.
  4. restart: unless-stopped startet den Container nach einem Server-Reboot automatisch neu, ohne manuellen Eingriff.

Bevor Sie ein Update fahren, sichern Sie den data-Ordner. Ein fehlgeschlagenes Update lässt sich so in Minuten zurückrollen statt in Stunden neu aufsetzen.

Host- oder Bridge-Netzwerk: Was für Ihren Server sinnvoll ist

Docker bietet mehrere Netzwerk-Treiber, doch für Gameserver zählen praktisch nur zwei: bridge und host. Bridge ist der Standard und isoliert den Container in einem eigenen Netzwerk-Namespace, wofür jeder Port einzeln über -p gemappt werden muss. Host-Networking dagegen teilt den Netzwerk-Namespace direkt mit dem Server, Port-Mapping entfällt komplett und NAT-Overhead bei UDP-Traffic sinkt spürbar.

Für Spiele mit hohem UDP-Aufkommen wie Rust oder ARK lohnt sich host-Networking fast immer. Die Latenzgewinne sind real, allerdings auf Kosten der Isolation: Ein kompromittierter Container hat dann direkten Zugriff auf die Netzwerkschnittstelle des Hosts. Dieser Trade-off zwischen Performance und Isolation sollte bewusst getroffen werden, nicht aus Bequemlichkeit.

  • Öffnen Sie in der Firewall nur die Ports, die das jeweilige Spiel tatsächlich braucht, keine pauschalen Port-Ranges.
  • Prüfen Sie beim Router-Forwarding, ob UDP und TCP getrennt weitergeleitet werden müssen.
  • Vermeiden Sie feste Portzuweisungen, die sich mit anderen Diensten auf demselben Host überschneiden.

Profi-Tipp: Betreiben Sie mehrere Server auf einem Host, dokumentieren Sie jede Portvergabe in einer einfachen Tabelle. Nichts kostet mehr Zeit als die Suche nach einem Portkonflikt um Mitternacht, wenn die Community gerade online gehen will.

Bei Pterodactyl-Installationen mit mehreren Nodes kommt ein weiteres Risiko hinzu: überlappende Docker-Subnetze. Wenn zwei Wings-Instanzen dasselbe Subnetz nutzen, kollidieren interne Container-IPs und Server werden unerreichbar.

Volumes, Dateirechte und die richtige Backup-Routine

Persistente Volumes entscheiden darüber, ob ein Update ein Routinevorgang oder ein Risiko ist. Der Container-Pfad /home/container, wie er bei vielen Pterodactyl-Eggs verwendet wird, sollte immer auf ein Host-Verzeichnis gemappt werden, niemals als flüchtiges Containervolume ohne Bind-Mount laufen.

  • Mappen Sie Weltdaten, Konfigurationen und Logs explizit als Bind-Mounts, nicht als anonyme Docker-Volumes.
  • Passen Sie Besitzrechte mit chown -R 1000:1000 /pfad/zu/daten an, wenn PUID/PGID nicht mit den Host-Rechten übereinstimmen.
  • Setzen Sie Schreibrechte gezielt mit chmod 750, statt pauschal 777 zu vergeben.
  • Sichern Sie das gesamte Datenverzeichnis vor jedem validate oder größeren Update, da dieser Befehl angepasste Konfigurationsdateien überschreiben kann.

Ein Snapshot vor der Validierung kostet wenige Sekunden. Ein zerschossener Spawn-Punkt oder eine überschriebene Server-Konfiguration kostet dagegen oft einen ganzen Abend Wiederherstellungsarbeit.

Updates automatisieren, ohne an SteamGuard zu scheitern

SteamCMD lädt die eigentlichen Serverdateien für die meisten Steam-basierten Spiele herunter und aktualisiert sie. Für viele Titel reicht ein anonymer Login, manche Server erfordern jedoch einen echten Steam-Account samt SteamGuard-Freigabe, was automatisierte Updates erschwert.

  • Nutzen Sie, wo möglich, den anonymen SteamCMD-Login, um SteamGuard-Unterbrechungen komplett zu vermeiden.
  • Legen Sie für Server, die einen echten Account brauchen, ein separates Konto an, niemals Ihren persönlichen Steam-Account.
  • Automatisieren Sie Updates über LinuxGSM-Skripte oder einen Cron-Job, der den Container zu einer festen Zeit neu baut.
  • Prüfen Sie Update-Logs vor dem Teilen mit anderen, Passwörter und Session-Tokens landen dort mitunter im Klartext.

Sicherheitseinstellungen und Ressourcengrenzen, die sich lohnen

Ein Gameserver-Container läuft am besten mit möglichst wenig Rechten. --cap-drop=ALL entzieht dem Container Linux-Capabilities, die er ohnehin nicht braucht, --security-opt=no-new-privileges verhindert, dass Prozesse im Container nachträglich Rechte erhöhen. Ein read-only Root-Dateisystem, kombiniert mit expliziten Schreibvolumes, blockt viele Angriffsversuche von vornherein.

  • Begrenzen Sie Arbeitsspeicher über --memory und CPU-Anteile über --cpus, damit ein einzelner Server nicht den ganzen Host lahmlegt.
  • Setzen Sie io_weight, wenn mehrere Container um Festplatten-I/O konkurrieren.
  • Vermeiden Sie root-Prozesse im Container, PUID/PGID-Mapping bildet Dateibesitz korrekt zwischen Host und Container ab.
  • Behalten Sie Container-Auslastung im Blick, docker stats und die Container-Logs zeigen ungewöhnliche CPU- oder Speicherspitzen meist frühzeitig.

Root-Nutzung im Container zählt zu den häufigsten Sicherheitslücken bei selbst gehosteten Gameservern, weil ein kompromittierter Prozess dann Host-Dateien mit vollen Rechten verändern kann.

Wie installiere ich Pterodactyl mit Docker-Nodes?

Wer mehrere Server verwalten will, kommt an einer strukturierten Installation nicht vorbei. Pterodactyl trennt Panel (Weboberfläche) und Wings (Docker-Daemon auf dem eigentlichen Server) strikt, was Skalierung über mehrere Maschinen erleichtert.

  1. Systemvoraussetzungen prüfen: Für Panel und Wings werden mindestens zwei CPU-Kerne, 4 GB Arbeitsspeicher und ausreichend Speicherplatz erwartet, dazu Docker, Node.js, PHP, MariaDB und Redis als Software-Stack.
  2. Panel installieren: Das Panel verwaltet Nutzer, Server-Konfigurationen und Eggs (Spiel-Templates) über eine Weboberfläche.
  3. Node anlegen: Im Panel wird eine Node für jeden physischen oder virtuellen Server erstellt, inklusive eines Tokens, mit dem sich Wings authentifiziert.
  4. Wings installieren und verbinden: Wings läuft auf dem Zielserver, orchestriert die Docker-Container und nutzt dabei Yolks-Images wie ghcr.io/pterodactyl/yolks:java_17 für die jeweilige Spielumgebung.
  5. Allocations definieren: IP-Adressen und Portbereiche werden pro Node als Allocations hinterlegt, aus denen neue Server ihre Ports automatisch beziehen.

Profi-Tipp: Ändern Sie bei mehreren Nodes das Docker-Subnetz in der Wings-Konfiguration, damit sich Container-IPs zwischen den Nodes niemals überschneiden.

Wer diese Infrastruktur nicht selbst betreiben möchte, kann Panel-Funktionalität auch über einen gemanagten Gameserver-Anbieter beziehen, dazu später mehr.

Häufige Fehler und eine kurze Checkliste vor dem Live-Start

Die drei häufigsten Fehler in der Praxis: überlappende Docker-Subnetze bei mehreren Wings-Nodes, falsch gesetzte PUID/PGID-Werte, die zu Berechtigungsfehlern führen, und SteamGuard-Blockaden bei automatisierten Updates. Die Entscheidung zwischen Panel und Einzelsystem hängt schlicht von der Anzahl der Server ab, nicht vom Spiel. Vor dem Live-Start: Backup ziehen, Ports testen, Ressourcenlimits setzen, Logs einmal komplett durchlesen.

— Erik

Nexthosting als Alternative zur eigenen Docker-Infrastruktur

Wer die Netzwerk-, Rechte- und Update-Themen aus diesem Artikel lieber nicht selbst verwalten will, findet bei Nexthosting fertige Gameserver-Umgebungen für Minecraft, FiveM, Garry’s Mod und weitere Titel. Statt Subnetz-Konflikte zwischen Wings-Nodes zu debuggen oder SteamGuard-Logins zu automatisieren, mieten Sie einen Server, der bereits läuft. Die Angebote laufen auf NVMe-SSD-Hardware, sind mit DDoS-Schutz ohne Aufpreis ausgestattet und werden in einem deutschen Rechenzentrum betrieben, ein Vorteil für Datenschutz und Latenz zugleich.

Wer Docker-Container lieber selbst orchestrieren, aber die Hardware auslagern will, findet passende VPS-Server als Basis für eigene Pterodactyl-Nodes. Für alle, die einfach einen Minecraft-Server mieten wollen, ohne sich um Yolks-Images oder Volume-Mappings zu kümmern, ist die entsprechende Kategorieseite der direkte Einstieg. Schauen Sie sich die Gameserver-Kategorie an und vergleichen Sie, welches Modell zu Ihrem Betriebsaufwand passt.

Quellen

FAQ

Wie kann ich einen eigenen Gameserver hosten?

Am einfachsten mit einem Docker-Container und einem passenden Image, etwa aus dem LinuxGSM-Umfeld oder als Yolks-Image für Pterodactyl. Alternativ mietet man einen fertig eingerichteten Server, etwa über die Gameserver-Angebote von Nexthosting, und überspringt die komplette Docker-Einrichtung.

Wie kann ich Docker unter Windows Server nutzen?

Docker läuft unter Windows Server über Docker Desktop oder die Docker Engine mit Windows-Containern, für Gameserver-Images ist jedoch meist Linux die praktischere Basis, da fast alle Yolks- und LinuxGSM-Images für Linux gebaut sind. Wer produktiv Gameserver betreiben will, spart sich mit einem Linux-Host oder einem gemanagten VPS viele Kompatibilitätsprobleme.

Welche Docker-Anwendungen sind die besten für Gameserver?

Für Einzelserver eignen sich LinuxGSM-Images und SteamCMD-basierte Container am besten, für mehrere Server oder Communities ist Pterodactyl mit seinen Yolks-Images die verbreitetste Lösung. Beide Wege nutzen Docker als Basis, unterscheiden sich aber stark im Verwaltungsaufwand.

Wie erstelle ich einen Docker-Server für ein Spiel wie Minecraft?

Sie schreiben eine docker-compose.yml mit Image, Ports, Umgebungsvariablen und einem Volume für persistente Daten, wie im Beispiel weiter oben gezeigt. Nach docker compose up -d läuft der Server, Updates erfolgen über einen erneuten Image-Pull mit vorherigem Backup des Datenordners.

Was kostet ein Gameserver bei Nexthosting?

Ein Minecraft-Server startet bei 5,57 € pro Monat, FiveM ist ab einem moderaten monatlichen Preis verfügbar und Garry’s Mod ab 6,49 € pro Monat. Wer stattdessen eigene Docker-Container auf einem VPS betreiben möchte, findet passende Pakete ab 6,49 € pro Monat in der VPS-Kategorie.