Minecraft Server auf Ubuntu Linux einrichten: Schritt-für-Schritt-Anleitung

Minecraft Server auf Ubuntu Linux einrichten: Schritt-für-Schritt-Anleitung

Einen eigenen Minecraft-Server auf Ubuntu Linux einzurichten gibt dir die volle Kontrolle über Plugins, Performance und Sicherheit. Bei MineGuard helfen wir Hunderten von Serverbetreibern, und die grosse Mehrheit nutzt Ubuntu. In dieser Anleitung führen wir dich durch jeden Schritt: von einem frischen Ubuntu-System bis zu einem produktionsbereiten Minecraft-Server.

Voraussetzungen

Bevor du loslegst, stelle sicher, dass du Folgendes hast:

  • Ubuntu 22.04 LTS oder Ubuntu 24.04 LTS (wir empfehlen 24.04 für neue Setups)
  • Java 21 (erforderlich für Minecraft 1.21+)
  • Mindestens 2 GB RAM (4 GB+ empfohlen für 10+ Spieler)
  • Einen VPS oder dedizierten Server mit Root- oder Sudo-Zugang
  • Eine stabile Internetverbindung mit mindestens 10 Mbit/s Upload

Wenn du den Server zu Hause betreibst, musst du zusätzlich Port-Forwarding einrichten. Das behandeln wir am Ende.

Schritt 1: System aktualisieren

Beginne immer mit einem Paket-Update:

sudo apt update && sudo apt upgrade -y

Damit werden alle Sicherheitspatches installiert und der Paketindex aktualisiert.

Schritt 2: Java 21 installieren

Minecraft 1.21+ erfordert Java 21. Installiere die JRE:

sudo apt install openjdk-21-jre-headless -y

Überprüfe die Installation:

java -version

Du solltest eine Ausgabe wie diese sehen:

openjdk version "21.0.4" 2024-07-16

Falls deine Ubuntu-Version Java 21 nicht in den Standard-Repos hat, füge das Adoptium-Repository hinzu:

sudo apt install wget apt-transport-https -y
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/trusted.gpg.d/adoptium.asc
echo "deb https://packages.adoptium.net/artifactory/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update
sudo apt install temurin-21-jre -y

Schritt 3: Eigenen Benutzer anlegen

Starte deinen Minecraft-Server niemals als Root. Erstelle einen dedizierten Benutzer:

sudo useradd -r -m -d /opt/minecraft -s /bin/bash minecraft

Das erstellt einen Systembenutzer minecraft mit dem Home-Verzeichnis /opt/minecraft.

Schritt 4: Paper (oder Purpur) herunterladen

Wir empfehlen Paper für die meisten Server. Es bietet die beste Balance zwischen Performance und Plugin-Kompatibilität. Für zusätzliche Anpassungsmöglichkeiten probiere Purpur.

Wechsle zum minecraft-Benutzer und lade die Server-JAR herunter:

sudo su - minecraft
mkdir -p /opt/minecraft/server
cd /opt/minecraft/server
wget -O paper.jar https://api.papermc.io/v2/projects/paper/versions/1.21.4/builds/123/downloads/paper-1.21.4-123.jar

Ersetze die URL durch den neuesten Build von der Paper-Downloadseite.

Schritt 5: EULA akzeptieren

Starte den Server einmal, um die Konfigurationsdateien zu generieren:

java -jar paper.jar --nogui

Der Server stoppt und fordert dich auf, die EULA zu akzeptieren. Bearbeite die Datei:

nano eula.txt

Ändere eula=false zu:

eula=true

Speichere und beende den Editor (Strg+X, J, Enter).

Schritt 6: server.properties konfigurieren

Bearbeite die Hauptkonfigurationsdatei:

nano server.properties

Wichtige Einstellungen:

server-port=25565
max-players=50
view-distance=10
simulation-distance=8
motd=My Minecraft Server
online-mode=true
enable-command-block=false
spawn-protection=16

Wichtig: Lass online-mode=true aktiviert, es sei denn, du nutzt einen Proxy wie Velocity. Das Deaktivieren erlaubt es jedem, sich mit beliebigem Benutzernamen anzumelden.

Schritt 7: Aikars JVM-Flags

Diese JVM-Flags sind der Goldstandard für Minecraft-Server-Performance. Sie optimieren die Garbage Collection und die Speichernutzung:

java -Xms2G -Xmx2G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 \
  -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 \
  -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 \
  -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 \
  -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 \
  -jar paper.jar --nogui

Passe -Xms und -Xmx an deinen verfügbaren RAM an. Setze beide immer auf denselben Wert. Reserviere nicht den gesamten System-RAM; lass mindestens 1 GB für das Betriebssystem.

Schritt 8: systemd-Service erstellen

screen oder tmux funktionieren zum Testen, aber für den Produktionsbetrieb solltest du systemd verwenden. Es sorgt für den automatischen Start beim Booten und automatische Neustarts bei Abstürzen.

Wechsle zuerst zurück zu deinem Sudo-Benutzer:

exit

Erstelle die Service-Datei:

sudo nano /etc/systemd/system/minecraft.service

Füge diese Konfiguration ein:

[Unit]
Description=Minecraft Server
After=network.target

[Service]
User=minecraft
Group=minecraft
WorkingDirectory=/opt/minecraft/server

ExecStart=/usr/bin/java -Xms2G -Xmx2G -XX:+UseG1GC -XX:+ParallelRefProcEnabled \
  -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions \
  -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
  -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 \
  -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 \
  -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 \
  -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 \
  -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 \
  -jar paper.jar --nogui

Restart=on-failure
RestartSec=10

StandardInput=null
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target

Aktiviere und starte den Service:

sudo systemctl daemon-reload
sudo systemctl enable minecraft.service
sudo systemctl start minecraft.service

Überprüfe den Status:

sudo systemctl status minecraft.service

Live-Logs ansehen:

sudo journalctl -u minecraft.service -f

Screen/tmux vs. systemd

Viele Anleitungen empfehlen immer noch screen oder tmux. Diese funktionieren für die Entwicklung, haben aber Nachteile im Produktionsbetrieb:

  • Sie starten nicht automatisch nach einem Neustart
  • Sie starten den Server nicht automatisch bei einem Absturz
  • Man muss sich manuell wieder mit der Sitzung verbinden

systemd löst all diese Probleme automatisch. Wenn du trotzdem Konsolenzugriff brauchst, verwende mcrcon, um Befehle über RCON an den Server zu senden.

Schritt 9: Firewall konfigurieren

Ubuntu kommt mit ufw (Uncomplicated Firewall). Erlaube den Minecraft-Traffic:

sudo ufw allow 25565/tcp

Falls du auch SSH-Zugang brauchst (wahrscheinlich ja):

sudo ufw allow ssh

Aktiviere die Firewall:

sudo ufw enable

Überprüfe den Status:

sudo ufw status

Port 25565/tcp sollte als ALLOW aufgeführt sein.

Wenn dein Server GeyserMC für Bedrock-Spieler nutzt, öffne auch den UDP-Port:

sudo ufw allow 19132/udp

Schritt 10: Dateiberechtigungen

Stelle sicher, dass alle Server-Dateien dem minecraft-Benutzer gehören:

sudo chown -R minecraft:minecraft /opt/minecraft

Setze die richtigen Berechtigungen:

sudo find /opt/minecraft -type d -exec chmod 750 {} \;
sudo find /opt/minecraft -type f -exec chmod 640 {} \;
sudo chmod 750 /opt/minecraft/server/paper.jar

Das verhindert, dass andere Benutzer auf dem System deine Server-Dateien lesen oder ändern können.

Verbindung von aussen

VPS / Dedizierter Server

Wenn dein Server auf einem VPS oder dedizierten Server mit öffentlicher IP läuft, können sich Spieler direkt mit deiner IP-Adresse und Port 25565 verbinden. Es ist keine zusätzliche Konfiguration nötig, abgesehen von den Firewall-Regeln oben.

Heimnetzwerk

Wenn du den Server zu Hause betreibst, musst du Port-Forwarding einrichten:

  1. Finde die lokale IP deines Servers: ip addr show
  2. Logge dich in das Admin-Panel deines Routers ein (meistens 192.168.1.1 oder 192.168.0.1)
  3. Finde den Bereich für Port-Forwarding
  4. Leite den externen Port 25565 (TCP) an die lokale IP deines Servers weiter, Port 25565
  5. Teile deine öffentliche IP mit den Spielern (finde sie auf whatismyip.com)

Für ein professionelleres Setup solltest du einen VPS mieten. Anbieter wie Hetzner, OVH und Netcup bieten günstige Optionen ab ca. 5 Euro/Monat.

Auto-Neustart bei Abstürzen

Der systemd-Service, den wir erstellt haben, behandelt Neustarts bereits mit Restart=on-failure. Wenn der Java-Prozess abstürzt, wartet systemd 10 Sekunden und startet ihn erneut.

Für noch mehr Zuverlässigkeit kannst du einen Watchdog hinzufügen. Füge diese Zeile in den [Service]-Abschnitt ein:

WatchdogSec=120

Das weist systemd an, den Service zu beenden und neu zu starten, wenn er 120 Sekunden lang nicht reagiert. Beachte, dass Paper standardmässig keine Watchdog-Signale sendet, daher funktioniert dies als letzter Timeout.

Schütze deinen Server mit MineGuard

Sobald dein Minecraft-Server läuft, wird er zum Ziel. DDoS-Angriffe sind in der Minecraft-Community extrem verbreitet, und selbst kleine Server werden angegriffen. Wir haben MineGuard genau für dieses Problem entwickelt.

Unser kostenloser Plan bietet DDoS-Schutz ohne jegliche Konfiguration. Richte einfach deine Domain auf unseren Filter, und wir kümmern uns um den Rest. Keine Plugins nötig, keine Änderungen an deiner Server-Software. Die Einrichtung dauert etwa 5 Minuten und funktioniert mit Paper, Purpur, Velocity und jeder anderen Server-Software.

Zusammenfassung

Hier ist, was wir in dieser Anleitung behandelt haben:

  1. Ubuntu aktualisiert und Java 21 installiert
  2. Einen dedizierten minecraft-Benutzer erstellt (niemals als Root ausführen)
  3. Paper-Server heruntergeladen
  4. EULA akzeptiert und server.properties konfiguriert
  5. Aikars JVM-Flags für optimale Performance angewandt
  6. Einen systemd-Service für Auto-Start und Absturz-Wiederherstellung erstellt
  7. ufw-Firewall-Regeln konfiguriert
  8. Richtige Dateiberechtigungen gesetzt
  9. Port-Forwarding für Heimnetzwerke behandelt

Dein Server ist jetzt bereit für Spieler. Wenn du Fragen zum Schutz vor Angriffen hast, schau in unsere Dokumentation oder schreib uns über das Dashboard. Wir helfen immer gerne weiter.


Schützen Sie Ihren Server vor DDoS-Angriffen

Kostenloser Schutz mit 5-Minuten-Einrichtung. 1 TB Traffic inklusive.

Kostenlos testen


Weitere Artikel