Gaming

Minecraft-Server mit Docker einrichten

Minecraft Server auf einem dataforest Seed einrichten. Paper Server mit Docker Compose, automatische Updates und Backups.

AutorMarvin Strauch
Veröffentlicht am17. Mai 2026
Min. Lesezeit~16 min
Wörter2.800
Schwierigkeit Anfänger
StackMinecraft · Gaming · Docker · Paper

Warum ein eigener Minecraft-Server?

Managed Game Hoster bieten Minecraft-Server mit wenigen Klicks. Aber Slot-Limits, eingeschränkte Mod-Auswahl und separate Kosten pro Server summieren sich. Wer volle Kontrolle über Plugins, Einstellungen und Spielerzahl haben möchte, betreibt seinen Server selbst.

Ein bewährtes Docker-Image dafür ist itzg/minecraft-server. Über 13.700 GitHub Stars, aktiv gepflegt (letztes Release: Mai 2026), unterstützt Vanilla, Paper, Fabric und Forge über eine einzige Umgebungsvariable. Automatische Versionsverwaltung und Plugin-Downloads sind integriert.

Diese Anleitung beschreibt die Installation eines Paper-Servers über Docker Compose auf einem dataforest Seed. Paper ist ein optimierter Minecraft-Server mit deutlich besserer Performance als Vanilla und voller Plugin-Kompatibilität. Nach Abschluss steht ein 24/7 erreichbarer Minecraft-Server mit automatischen Backups.

Minecraft Docker-Architektur
Minecraft Docker-Architektur

Voraussetzungen

  • Ein Seed in der dataforest Cloud (empfohlen: 2 CPU, 4 GB RAM für 5-10 Spieler; 4 CPU, 8 GB RAM für 20+ Spieler oder Mods). Minecraft ist CPU-intensiv (Single-Thread), benötigt aber vor allem RAM für die Weltverwaltung.
  • SSH-Zugriff auf den Seed

Docker installieren

Verbinden Sie sich per SSH mit Ihrem Seed und installieren Sie Docker. Das offizielle Installationsskript erkennt Ihr Betriebssystem automatisch und richtet Docker inklusive Docker Compose ein:

bash
curl -fsSL https://get.docker.com | sh

Falls die Meldung Could not get lock /var/lib/dpkg/lock-frontend erscheint: Frische Seeds führen nach dem ersten Start automatische Systemupdates durch. Warten Sie eine Minute und versuchen Sie es erneut.

Projektverzeichnis erstellen

Alle Konfigurationsdateien werden in einem gemeinsamen Verzeichnis abgelegt:

bash
mkdir -p /opt/minecraft && cd /opt/minecraft

Docker Compose Datei erstellen

Die docker-compose.yml beschreibt den Minecraft-Container und seine Konfiguration:

yaml
services:
  minecraft:
    image: itzg/minecraft-server
    restart: always
    ports:
      - "25565:25565"
    environment:
      EULA: "TRUE"
      TYPE: "PAPER"
      VERSION: "LATEST"
      MEMORY: "2G"
      MAX_PLAYERS: 20
      MOTD: "Willkommen auf unserem Server"
      DIFFICULTY: "normal"
      VIEW_DISTANCE: 12
      ENABLE_COMMAND_BLOCK: "true"
      SPAWN_PROTECTION: 0
      SNOOPER_ENABLED: "false"
      OPS: ""
    volumes:
      - ./data:/data
    stdin_open: true
    tty: true

Passen Sie die Werte an Ihre Bedürfnisse an:

  • EULA: "TRUE" ist erforderlich. Ohne Zustimmung zur Minecraft EULA startet der Server nicht.
  • TYPE: "PAPER" startet einen Paper-Server. Alternativen: VANILLA, FABRIC, FORGE.
  • MEMORY: "2G" reserviert 2 GB RAM für den Minecraft-Prozess. Passen Sie diesen Wert an Ihr Seed-Modell an (maximal 75% des verfügbaren RAMs).
  • OPS: "" hier können Sie Ihren Minecraft-Nutzernamen eintragen, um sich selbst als Operator (Admin) zu setzen. Mehrere Namen mit Komma trennen.
  • VIEW_DISTANCE: 12 steuert die Sichtweite in Chunks. Niedrigere Werte (8-10) sparen RAM bei vielen Spielern.

Die Option stdin_open: true mit tty: true ermöglicht es, die Minecraft-Konsole interaktiv zu nutzen.

Server starten

bash
docker compose up -d

Der erste Start dauert einige Minuten. Das Image lädt den Paper-Server herunter und generiert die Welt. Den Fortschritt können Sie live verfolgen:

bash
docker compose logs -f minecraft

Sobald die Zeile Done erscheint, ist der Server bereit. Mit Ctrl+C verlassen Sie die Log-Ansicht (der Server läuft weiter).

Verbindung testen

Öffnen Sie Minecraft Java Edition und wählen Sie Multiplayer > Server hinzufügen. Tragen Sie die IP-Adresse Ihres Seeds als Server-Adresse ein. Der Standardport 25565 muss nicht angegeben werden.

Falls die Verbindung fehlschlägt:

  1. Prüfen Sie, ob der Container läuft: docker compose ps
  2. Prüfen Sie die Logs auf Fehler: docker compose logs minecraft
  3. Prüfen Sie, ob Port 25565 erreichbar ist: ss -tlnp | grep 25565

Whitelist aktivieren (empfohlen)

Ohne Whitelist kann jeder dem Server beitreten, der die IP-Adresse kennt. Für einen privaten Server empfiehlt sich die Whitelist.

Fügen Sie folgende Umgebungsvariablen zur docker-compose.yml hinzu:

yaml
    environment:
      # ... bestehende Variablen ...
      ENABLE_WHITELIST: "true"
      WHITELIST: "Spieler1,Spieler2,Spieler3"

Ersetzen Sie die Spielernamen durch die Minecraft-Nutzernamen Ihrer Freunde. Starten Sie den Container anschließend neu:

bash
docker compose up -d

Neue Spieler lassen sich auch über die Server-Konsole hinzufügen:

bash
docker compose exec minecraft rcon-cli whitelist add SPIELERNAME

Plugins installieren

Paper-Server unterstützen Bukkit/Spigot-Plugins. Das Docker-Image kann Plugins automatisch beim Start herunterladen. Fügen Sie die Download-URLs als Umgebungsvariable hinzu:

yaml
    environment:
      # ... bestehende Variablen ...
      PLUGINS: |
        https://download.luckperms.net/1556/bukkit/loader/LuckPerms-Bukkit-5.4.145.jar

Alternativ legen Sie Plugin-JAR-Dateien direkt in das Verzeichnis /opt/minecraft/data/plugins/:

bash
ls /opt/minecraft/data/plugins/

Nach dem Hinzufügen neuer Plugins den Container neu starten:

bash
docker compose restart minecraft

Server-Konfiguration anpassen

Die server.properties liegt im Datenverzeichnis und kann direkt bearbeitet werden:

bash
nano /opt/minecraft/data/server.properties

Alle Einstellungen, die über Umgebungsvariablen gesetzt werden, überschreiben die Datei beim nächsten Start. Für dauerhafte manuelle Änderungen in server.properties entfernen Sie die entsprechende Umgebungsvariable aus der docker-compose.yml.

Nach Änderungen den Container neu starten:

bash
docker compose restart minecraft

Backup einrichten

Manuelles Backup

Das World-Verzeichnis enthält alle Spielstände. Ein einzelnes Backup lässt sich jederzeit erstellen:

bash
mkdir -p /opt/backups
tar -czf /opt/backups/minecraft-$(date +%Y%m%d).tar.gz -C /opt/minecraft/data world

Der Befehl komprimiert das World-Verzeichnis in ein Archiv mit dem aktuellen Datum im Dateinamen.

Automatisches Backup per Cronjob

Damit das Backup automatisch läuft, richten Sie einen Cronjob ein. Ein Cronjob ist ein zeitgesteuerter Befehl, der vom Betriebssystem regelmäßig ausgeführt wird:

bash
crontab -e

Fügen Sie folgende Zeile hinzu:

text
0 4 * * * tar -czf /opt/backups/minecraft-$(date +\%Y\%m\%d).tar.gz -C /opt/minecraft/data world

Die fünf Werte 0 4 * * * bedeuten: Minute 0, Stunde 4, jeden Tag, jeden Monat, jeden Wochentag. Das Backup wird also täglich um 04:00 Uhr nachts erstellt.

Alte Backups aufräumen

Damit die Festplatte nicht volläuft, löschen Sie Backups die älter als 7 Tage sind. Fügen Sie einen zweiten Cronjob hinzu:

text
30 4 * * * find /opt/backups -name "minecraft-*.tar.gz" -mtime +7 -delete

-mtime +7 bedeutet: Dateien, die vor mehr als 7 Tagen geändert wurden.

Server-Backup über dataforest Cloud

Die dataforest Cloud bietet automatische tägliche Offsite-Backups als zubuchbare Option. Damit lassen sich alle Daten auf Ihrem Seed sichern und jederzeit wiederherstellen. Backups sind nicht standardmäßig aktiv und müssen in der Cloud-Konsole aktiviert werden.

Performance-Optimierung

RAM anpassen

Wenn der Server bei vielen Spielern oder großen Welten langsam wird, erhöhen Sie den zugewiesenen RAM:

yaml
      MEMORY: "4G"

Lassen Sie immer mindestens 1 GB für das Betriebssystem und Docker frei.

Sichtweite reduzieren

Bei 15+ Spielern kann eine reduzierte Sichtweite die Performance deutlich verbessern:

yaml
      VIEW_DISTANCE: 8
      SIMULATION_DISTANCE: 6

Paper-spezifische Optimierungen

Paper wendet automatisch Performance-Patches an, die den Vanilla-Server nicht betreffen. Für weitere Optimierung lässt sich die Datei /opt/minecraft/data/config/paper-global.yml anpassen. Die Standardwerte sind für die meisten Server ausreichend.

Fehlerbehebung

Server startet nicht: Prüfen Sie die Logs: docker compose logs minecraft. Häufigste Ursache: EULA nicht auf TRUE gesetzt oder zu wenig RAM zugewiesen.

Spieler können nicht verbinden: Prüfen Sie, ob Port 25565 erreichbar ist. Auf einem frischen Debian 13-Seed ist keine Firewall aktiv. Falls ufw aktiv ist: ufw allow 25565/tcp.

Hoher RAM-Verbrauch: Der Java-Prozess nutzt den zugewiesenen RAM (MEMORY) vollständig. Das ist normales Verhalten. Reduzieren Sie den Wert, wenn andere Dienste auf dem Seed laufen.

Welt beschädigt: Stoppen Sie den Server (docker compose down) und ersetzen Sie das World-Verzeichnis durch ein Backup: tar -xzf /opt/backups/minecraft-DATUM.tar.gz -C /opt/minecraft/data.

Zusammenfassung

Nach Abschluss dieser Anleitung läuft ein Paper Minecraft-Server auf Ihrem Seed, erreichbar über Port 25565. Automatische Backups sichern die Welt täglich.

Für weitere Spiele auf demselben Server beschreibt der Valheim-Guide die Einrichtung eines Valheim-Servers parallel zum Minecraft-Server. Eine Übersicht aller Möglichkeiten bietet unsere Game-Server Lösung.

Bereit loszulegen?

Erstellen Sie Ihren ersten Seed und starten Sie in wenigen Minuten.