Ich spiele mit meinem Sohn schon seit einiger Zeit Minecraft. Wir haben eine schöne kleine Singleplayer-Welt und bauen und erkunden zusammen. Das macht super viel Spaß.
Aus einer sicheren Welt ohne Fallschaden und Monstern wurde dann eine leichte Welt mit Monstern, Feuer und Schaden und schließlich eine „normale“ Welt. Nebenbei bauen wir auf einer Kreativ-Welt und haben dort unseren Spaß.
Nun entdeckt er Minigames und hat Spaß am PvP, wie Bedwars und Co.
Aber wir kehren immer wieder zurück zu unserer Welt, bauen, farmen und entdecken.
Viele seiner Kumpel spielen „lokal“, aber eben nicht im Internet. Nach fünf Minuten auf einem öffentlichen Server weiß man auch warum …
Daher die Idee: Einen kinderfreundlichen Familienserver betreiben.
- Keine Schimpfwörter im Chat
- Kein Betrügen
- Kein Griefing
- Kein PvP (außer wenn beide es wollen)
- Entdecken, erkunden und gemeinsam Spaß haben
- Leichter Einstieg mit sicherer Umgebung und Abendteuern wenn man es wünscht
Ich habe das direkt mal umgesetzt und poste hier das passende Tutorial dazu damit ihr das einfach nachbauen könnt.
Grundlage ist ein kleiner vServer und Debian 13. Den Minecraft Server betreiben wir dann mit Docker und Paper.
Server vorbereiten
Dank ADHS geht’s los: schnell mal einen Minecraft-Server aufsetzen!
1) Server bestellen
Ich habe mich für Netcup entschieden, die haben ein sehr gutes Preis/Leistungsverhältnis. Es gab gerade ein Angebot:
6 Dedicated CPU, 12 GB RAM, 512 GB NVMe SSD für 12,40 EUR / Monat.*
2) Debian installieren
Über das Server-Control-Panel Debian 13 installieren.
3) Grundabsicherung
Fail2Ban & UFW installieren:
UFW ist eine Firewall und erlaubt es uns Anfragen zu blocken, UFW schaut sich die Log-Dateien an und bannt z.B. IP-Adressen die zu oft versuchen sich einzuloggen.
sudo apt update
sudo apt install -y fail2ban ufw
Firewall-Regeln setzen (SSH nur von meinen Management-IPs):
# SSH: nur die freigegebenen IPs dürfen sich verbinden
sudo ufw allow from xx.xx.xx.xx to any port 22 proto tcp
sudo ufw allow from xx.xx.xx.xx to any port 22 proto tcp
sudo ufw allow from xx.xx.xx.xx to any port 22 proto tcp
sudo ufw allow from 2a03:xxxx:xxxx::1 to any port 22 proto tcp
# Alternativ SSH erlauben, aber dann bitte absichern.
sudo ufw allow 22/tcp
# Minecraft erlauben
sudo ufw allow 25565/tcp
# (optional, falls du später Webdienste nutzt)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Standard-Policies
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Aktivieren
sudo ufw enable
# Kontrolle
sudo ufw status verboseFail2Ban startet unter Debian 13 automatisch und schützt vor SSH-Brute-Force Attacken.
SSH härten (empfohlen):
Ändere die folgende Einstellung in der sshd_config
sudo nano /etc/ssh/sshd_config
# Empfohlen:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
sudo systemctl restart ssh
Minecraft mit Docker starten (Minimal, ohne Plugins)
Mit Docker ist es am einfachsten: schlank, stabil, leicht zu updaten.
1) Docker & Compose installieren
sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Funktionstest & Benutzer freischalten:
sudo usermod -aG docker $USER # danach neu einloggenDann kann der normale User den docker Befehl nutzen ohne das sudo.
2) Ordnerstruktur anlegen
sudo mkdir -p /opt/wuerfelwiese/{paper,plugins,backups}
sudo chown -R $USER:$USER /opt/wuerfelwiese
cd /opt/wuerfelwiese
3) docker-compose.yml erstellen
Lege die Datei docker-compose.yml an und füge folgendes ein:
nano docker-compose.yml
services:
paper:
image: itzg/minecraft-server:java21
container_name: wuerfelwiese-paper
ports:
- "25565:25565" # Minecraft
environment:
EULA: "TRUE"
TYPE: "PAPER"
VERSION: "latest" # in den Logs prüfen, ob es Paper für die Zielversion gibt
MEMORY: "6G"
ENABLE_WHITELIST: "TRUE"
WHITELIST: "DeinNick" # weitere später mit 'whitelist add'
ONLINE_MODE: "TRUE" # Auth an (für Java-Edition)
VIEW_DISTANCE: 8
SIMULATION_DISTANCE: 6
SPAWN_PROTECTION: 0
TZ: "Europe/Berlin"
volumes:
- ./paper:/data # Serverdaten
- ./plugins:/data/plugins # (leer, da wir vorerst ohne Plugins starten)
restart: unless-stopped
4) Server starten
cd /opt/wuerfelwiese
docker compose up -d
5) Logs & Konsole
Logs live ansehen:
docker logs -f wuerfelwiese-paper
Befehle senden (RCON-CLI im Container):
# einmalig interaktiv
docker exec -it wuerfelwiese-paper rcon-cli
# ...darin Befehle wie:
# whitelist add Spielername
# save-all
# reload
# stop
# beenden mit: Ctrl+C oder 'exit'
Einzelbefehle direkt an die Minecraft Console schicken:
docker exec -i wuerfelwiese-paper rcon-cli whitelist add Spielername
docker exec -i wuerfelwiese-paper rcon-cli save-all
docker exec -i wuerfelwiese-paper rcon-cli reload
docker exec -i wuerfelwiese-paper rcon-cli stop
Fertig
Jetzt habt ihr eine sehr schlanke basis Minecraft installation auf Docker basis. Alles was ihr braucht liegt unter /opt/"Servername". Dort könnt ihr Plugins hochladen und die Einstellungen bearbeiten. Dort findet ihr auch die server.properties
Der Server startet automatisch beim Neustarten und falls er mal abstützt.
📂 Ordnerstruktur (wo liegt was?)
/opt/wuerfelwiese
├── docker-compose.yml # Docker-Konfiguration
├── paper/ # Serverdaten (gemountet als /data)
│ ├── world/ # Hauptwelt
│ ├── world_nether/ # Nether
│ ├── world_the_end/ # End
│ ├── logs/ # Server-Logs (Textdateien)
│ ├── server.properties # Grundkonfiguration
│ ├── whitelist.json # Whitelist
│ └── ... # weitere Konfig-/Datenfiles
├── plugins/ # Plugins (JARs) – aktuell leer
└── backups/ # Backups (eigene Cronjobs/Strategie)
Sichern: Für Backup/Migration reicht es, /opt/wuerfelwiese/ zu sichern.
📝 Cheat-Sheet: wichtigste Befehle
Server steuern (Docker)
# Starten
docker compose up -d
# Stoppen
docker compose down
# Neustarten
docker compose restart
# Logs live ansehen
docker logs -f wuerfelwiese-paper
Serverbefehle (über rcon-cli)
# Interaktive Konsole öffnen
docker exec -it wuerfelwiese-paper rcon-cli
# Einzelbefehle:
docker exec -i wuerfelwiese-paper rcon-cli whitelist add Spielername
docker exec -i wuerfelwiese-paper rcon-cli save-all
docker exec -i wuerfelwiese-paper rcon-cli reload
docker exec -i wuerfelwiese-paper rcon-cli stop
Tipp: save-all legt die Welt sofort auf die Platte. Für automatisierte Backups kann man später einen Cronjob bauen (z. B. täglich save-all + tar in backups/).
🔄 Autostart bei Host-Reboot
Ja. Durch restart: unless-stopped im Compose-Dienst startet der Server automatisch, wenn:
- der Host neu bootet oder
- der Docker-Daemon neu startet.
Wenn du den Container manuell gestoppt hast (docker compose down), bleibt er aus, bis du ihn wieder startest.
Nächstes Mal
Im nächsten Schritt kommen Plugins, Welten-Vorrendern und eine Backup-Strategie dazu – damit WürfelWiese für Familien richtig gemütlich wird. 🧱🌱
* Bei Bestellung über diesen Link erhalte ich eine kleine Provision. Der Preis für euch ändert sich nicht.