Skip to main content

Minecraft Fabric Server Installation - Schritt für Schritt


Übersicht

Diese Anleitung zeigt dir, wie du einen Minecraft Fabric Server auf deinem Linux-Root-Server installierst. Fabric ist eine moderne, leichtgewichtige Modding-Plattform für Minecraft.

Was ist Fabric?

  • Mod-Loader für Minecraft (Alternative zu Forge)
  • Schneller und leichter als Forge
  • Optimiert für Performance
  • Große Mod-Auswahl (z.B. Lithium, Sodium, Carpet)

Was du brauchst:

  • Linux-Server (Ubuntu/Debian)
  • Root/Sudo-Zugriff
  • Mindestens 2 GB RAM
  • Offener Port (Standard: 25565)

Voraussetzungen

Java installieren

Fabric benötigt Java 21 (für Minecraft 1.21+) oder Java 17 (für ältere Versionen).

Schritt 1: System aktualisieren

sudo apt update && sudo apt upgrade -y

Schritt 2: Java installieren

Für Minecraft 1.21+:

# Java 21 installieren
sudo apt install -y openjdk-21-jre-headless

# Java-Version prüfen
java -version

Erwartete Ausgabe:

openjdk version "21.0.x" 2024-xx-xx
OpenJDK Runtime Environment (build 21.0.x+xx-Ubuntu-xxxx)

Für Minecraft 1.17 - 1.20:

# Java 17 installieren
sudo apt install -y openjdk-17-jre-headless

# Java-Version prüfen
java -version

Erwartete Ausgabe:

openjdk version "17.0.x" 2024-xx-xx
OpenJDK Runtime Environment (build 17.0.x+xx-Ubuntu-xxxx)

Schritt 3: Screen installieren (für Hintergrund-Prozess)

# Screen installieren
sudo apt install -y screen

# Screen-Version prüfen
screen -v

Was ist Screen?

Screen ermöglicht es, den Minecraft-Server im Hintergrund laufen zu lassen, auch wenn du die SSH-Verbindung trennst.


Installation

Schritt 1: Benutzer erstellen (Sicherheit)

Warum ein eigener Benutzer?

  • Sicherheit: Server läuft nicht als root
  • Isolation: Getrennt von anderen Services
  • Berechtigungen: Eingeschränkte Rechte
# Minecraft-Benutzer erstellen
sudo useradd -m -d /opt/minecraft -s /bin/bash minecraft

# Passwort setzen (optional)
sudo passwd minecraft

Erklärung der Parameter:

  • -m = Erstelle Home-Verzeichnis
  • -d /opt/minecraft = Home-Verzeichnis ist /opt/minecraft
  • -s /bin/bash = Standard-Shell ist bash
  • minecraft = Username

Schritt 2: Zum Minecraft-Benutzer wechseln

# Zu minecraft-Benutzer wechseln
sudo su - minecraft

# Prüfen ob im richtigen Verzeichnis
pwd

Sollte ausgeben: /opt/minecraft

Schritt 3: Server-Verzeichnis erstellen

# Fabric-Server-Verzeichnis erstellen
mkdir -p ~/fabric-server
cd ~/fabric-server

# Verzeichnis prüfen
pwd

Sollte ausgeben: /opt/minecraft/fabric-server

Schritt 4: Fabric Installer herunterladen

Option A: Automatisch (neueste Version)

# Neueste Fabric-Installer-Version holen
FABRIC_VERSION=$(curl -s https://meta.fabricmc.net/v2/versions/installer | grep -o '"version":"[^"]*' | head -1 | cut -d'"' -f4)

# Installer herunterladen
wget "https://meta.fabricmc.net/v2/versions/loader/1.21.4/stable/server/jar" -O fabric-installer.jar

# Download prüfen
ls -lh fabric-installer.jar

Option B: Manuell (spezifische Version)

Besuche: https://fabricmc.net/use/server/

  1. Wähle Minecraft Version (z.B. 1.21.4)
  2. Wähle Loader Version (z.B. 0.16.0)
  3. Kopiere Download-Link
# Beispiel für Minecraft 1.21.4
wget "https://meta.fabricmc.net/v2/versions/loader/1.21.4/0.16.0/1.0.1/server/jar" -O fabric-server-launch.jar

Schritt 5: Fabric Server generieren

Was passiert jetzt?

Wir starten den Installer, der automatisch:

  1. Minecraft Server-Jar herunterlädt
  2. Fabric-Loader installiert
  3. Server-Startdateien erstellt
# Server-Dateien generieren
java -jar fabric-installer.jar server -mcversion 1.21.4 -downloadMinecraft

# Oder falls bereits fabric-server-launch.jar vorhanden:
# java -jar fabric-server-launch.jar

Erwartete Ausgabe:

[INFO] Downloading server jar...
[INFO] Installing Fabric loader...
[INFO] Server installed successfully!

Generierte Dateien:

fabric-server-launch.jar    ← Haupt-Server-Datei
server.jar                  ← Vanilla Minecraft Server
libraries/                  ← Fabric-Bibliotheken

Schritt 6: EULA akzeptieren

Was ist die EULA?

Die End User License Agreement von Mojang. Ohne Akzeptanz startet der Server nicht.

# eula.txt erstellen/bearbeiten
nano eula.txt

Ändere:

eula=false

Zu:

eula=true

Speichern: Strg + O, Enter, Strg + X

Oder per Befehl:

echo "eula=true" > eula.txt

Server-Konfiguration

Schritt 1: server.properties anpassen

# Server-Properties bearbeiten
nano server.properties

Wichtigste Einstellungen:

# Server-Name (in Multiplayer-Liste sichtbar)
motd=Mein Fabric Server

# Server-Port (Standard: 25565)
server-port=25565

# Maximale Spieler
max-players=20

# Spielmodus (survival, creative, adventure)
gamemode=survival

# Schwierigkeitsgrad (peaceful, easy, normal, hard)
difficulty=normal

# Spawn-Protection Radius (Blöcke)
spawn-protection=16

# PvP aktivieren/deaktivieren
pvp=true

# Online-Mode (true = Original-Accounts, false = Cracked)
online-mode=true

# View-Distance (Chunk-Renderweite)
view-distance=10

# Simulation Distance
simulation-distance=10

# Level-Name (Weltname)
level-name=world

# Seed (leer = zufällig)
level-seed=

# Level-Type (normal, flat, large_biomes, amplified)
level-type=minecraft\:normal

# Whitelist aktivieren
white-list=false

# Command-Blocks erlauben
enable-command-block=true

Speichern: Strg + O, Enter, Strg + X

Wichtige Hinweise:

  • online-mode=true: Nur Original-Minecraft-Accounts
  • online-mode=false: Auch Cracked-Clients (⚠️ Sicherheitsrisiko!)
  • view-distance=10: Höhere Werte = mehr RAM-Verbrauch
  • white-list=true: Nur erlaubte Spieler (siehe unten)

Schritt 2: RAM-Zuweisung festlegen

Wie viel RAM braucht ein Fabric-Server?

Spieler Mods Empfohlener RAM
1-5 Keine 2 GB
1-5 Wenige (5-10) 3-4 GB
5-10 Wenige 4 GB
5-10 Viele (20+) 6-8 GB
10-20 Viele 8-12 GB
20+ Viele 12+ GB

Start-Script erstellen:

nano start.sh

Inhalt (2 GB RAM):

#!/bin/bash

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:G1HeapWastePercent=5 \
  -XX:G1MixedGCCountTarget=4 \
  -XX:InitiatingHeapOccupancyPercent=15 \
  -XX:G1MixedGCLiveThresholdPercent=90 \
  -XX:G1RSetUpdatingPauseTimePercent=5 \
  -XX:SurvivorRatio=32 \
  -XX:+PerfDisableSharedMem \
  -XX:MaxTenuringThreshold=1 \
  -Dusing.aikars.flags=https://mcflags.emc.gs \
  -Daikars.new.flags=true \
  -jar fabric-server-launch.jar nogui

RAM-Anpassung:

  • 2 GB: -Xms2G -Xmx2G
  • 4 GB: -Xms4G -Xmx4G
  • 8 GB: -Xms8G -Xmx8G

Parameter-Erklärung:

  • -Xms = Minimaler RAM (Start-Heap)
  • -Xmx = Maximaler RAM (Max-Heap)
  • -XX:+UseG1GC = Garbage Collector (optimal für Minecraft)
  • nogui = Keine grafische Oberfläche

Ausführbar machen:

chmod +x start.sh

Server starten

Methode 1: Direkter Start (Test)

# Server starten (Vordergrund)
./start.sh

Erwartete Ausgabe:

[Server thread/INFO]: Starting minecraft server version 1.21.4
[Server thread/INFO]: Loading properties
[Server thread/INFO]: Preparing level "world"
[Server thread/INFO]: Done (5.234s)! For help, type "help"

Server stoppen:

stop

Methode 2: Screen (Hintergrund)

Screen starten:

# Screen-Session erstellen
screen -S minecraft

# Im Screen: Server starten
./start.sh

Screen verlassen (Server läuft weiter):

Drücke: Strg + A, dann D

Zurück zum Screen:

screen -r minecraft

Screen-Session beenden:

Im Screen: Strg + C, dann exit

Alle Screens anzeigen:

screen -ls

Methode 3: Systemd-Service (Empfohlen)

Zurück zu root/sudo-User:

# Screen verlassen falls drin
exit  # oder Strg+A, dann D

# Zurück zu root/sudo-Benutzer
exit

Service-Datei erstellen:

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

Inhalt:

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

[Service]
Type=simple
User=minecraft
WorkingDirectory=/opt/minecraft/fabric-server
ExecStart=/opt/minecraft/fabric-server/start.sh
Restart=on-failure
RestartSec=10

# RAM-Limit (optional)
MemoryMax=4G

[Install]
WantedBy=multi-user.target

Service aktivieren:

# Service neu laden
sudo systemctl daemon-reload

# Service aktivieren (Autostart)
sudo systemctl enable minecraft-fabric

# Service starten
sudo systemctl start minecraft-fabric

# Status prüfen
sudo systemctl status minecraft-fabric

Service-Befehle:

# Server starten
sudo systemctl start minecraft-fabric

# Server stoppen
sudo systemctl stop minecraft-fabric

# Server neustarten
sudo systemctl restart minecraft-fabric

# Status anzeigen
sudo systemctl status minecraft-fabric

# Logs anzeigen
sudo journalctl -u minecraft-fabric -f

Firewall konfigurieren

UFW (Ubuntu Firewall)

# UFW installieren (falls nicht vorhanden)
sudo apt install -y ufw

# SSH erlauben (WICHTIG!)
sudo ufw allow 22/tcp

# Minecraft-Port öffnen
sudo ufw allow 25565/tcp

# Firewall aktivieren
sudo ufw enable

# Status prüfen
sudo ufw status

Erwartete Ausgabe:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
25565/tcp                  ALLOW       Anywhere

iptables (Alternative)

# Minecraft-Port öffnen
sudo iptables -A INPUT -p tcp --dport 25565 -j ACCEPT

# Regel speichern
sudo netfilter-persistent save

Mods installieren

Schritt 1: Mods-Verzeichnis erstellen

# Zu Minecraft-User wechseln
sudo su - minecraft
cd ~/fabric-server

# Mods-Ordner erstellen
mkdir -p mods

Schritt 2: Mods herunterladen

Beliebte Fabric-Mods:

  1. Lithium (Performance) - https://modrinth.com/mod/lithium
  2. Carpet (Admin-Tools) - https://github.com/gnembon/fabric-carpet/releases
  3. Fabric API (Mod-Abhängigkeit) - https://modrinth.com/mod/fabric-api
  4. ViaFabric (Multi-Version Support) - https://modrinth.com/mod/viafabric

Download-Beispiel (Lithium):

cd ~/fabric-server/mods

# Lithium für MC 1.21.4 herunterladen
wget "https://cdn.modrinth.com/data/gvQqBUqZ/versions/VERSION_ID/lithium-fabric-VERSION.jar"

Wichtig:

  • Mods müssen zur Minecraft-Version passen!
  • Fabric API wird von vielen Mods benötigt

Schritt 3: Server neustarten

# Systemd-Service
sudo systemctl restart minecraft-fabric

# Oder in Screen
screen -r minecraft
# Dann: stop
./start.sh

Schritt 4: Mods prüfen

Im Server:

/mods

Zeigt alle installierten Mods an.


Spieler-Verwaltung

Whitelist aktivieren

In server.properties:

nano server.properties

Ändere:

white-list=true

Server neustarten!

Spieler zur Whitelist hinzufügen

In der Server-Konsole:

whitelist add Spielername

Oder per Datei:

nano whitelist.json
[
  {
    "uuid": "UUID-des-Spielers",
    "name": "Spielername"
  }
]

UUID herausfinden: https://mcuuid.net/

Op-Rechte vergeben (Admin)

op Spielername

Op entfernen:

deop Spielername

Spieler bannen

ban Spielername Grund

Ban aufheben:

pardon Spielername

IP-Ban

ban-ip 192.168.1.100

IP-Ban aufheben:

pardon-ip 192.168.1.100

Backup erstellen

Manuelle Backups

# Zu minecraft-User wechseln
sudo su - minecraft

# Backup-Verzeichnis erstellen
mkdir -p ~/backups

# Backup erstellen
cd ~/fabric-server
tar -czf ~/backups/minecraft-backup-$(date +%Y%m%d-%H%M%S).tar.gz \
  world/ \
  world_nether/ \
  world_the_end/ \
  mods/ \
  server.properties \
  whitelist.json \
  ops.json

Backup prüfen:

ls -lh ~/backups/

Automatische Backups (Cronjob)

# Crontab öffnen
crontab -e

Täglich um 3 Uhr:

0 3 * * * cd /opt/minecraft/fabric-server && tar -czf ~/backups/backup-$(date +\%Y\%m\%d).tar.gz world/ world_nether/ world_the_end/ mods/ *.properties *.json

Alte Backups automatisch löschen (älter als 7 Tage):

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

Backup wiederherstellen

# Server stoppen
sudo systemctl stop minecraft-fabric

# Als minecraft-User
sudo su - minecraft
cd ~/fabric-server

# Alte Welt umbenennen
mv world world.old

# Backup entpacken
tar -xzf ~/backups/minecraft-backup-DATUM.tar.gz

# Server starten
exit
sudo systemctl start minecraft-fabric

Performance-Optimierung

server.properties Optimierungen

# View-Distance reduzieren
view-distance=8
simulation-distance=6

# Entity-Aktivierungsbereich reduzieren
entity-broadcast-range-percentage=80

# Network-Compression
network-compression-threshold=256

# Spawn-Chunks deaktivieren
spawn-chunk-radius=2

Performance-Mods installieren

Empfohlene Mods:

  1. Lithium - Server-Performance
  2. Carpet - Server-Optimierungen + Admin-Tools
  3. Krypton - Netzwerk-Optimierung
  4. LazyDFU - Schnellerer Start
  5. FerriteCore - RAM-Optimierung
cd ~/fabric-server/mods

# Lithium
wget "URL_von_modrinth/lithium.jar"

# Fabric API (Dependency)
wget "URL_von_modrinth/fabric-api.jar"

JVM-Parameter optimieren

Für 4+ GB RAM:

nano start.sh

Nutze Aikars Flags (bereits im Script oben enthalten).


Troubleshooting

Problem: Server startet nicht

Check 1: Java-Version

java -version

Mindestens Java 17 für MC 1.17+, Java 21 für MC 1.21+

Check 2: EULA akzeptiert?

cat eula.txt

Muss eula=true enthalten!

Check 3: Genug RAM?

free -h

Check 4: Port belegt?

sudo netstat -tulpn | grep 25565

Check 5: Logs prüfen

cat logs/latest.log

Problem: "Out of Memory"

RAM erhöhen in start.sh:

# Von 2G auf 4G
-Xms2G -Xmx2G  →  -Xms4G -Xmx4G

Oder System-RAM prüfen:

free -h
htop

Problem: Verbindung nicht möglich

Check 1: Firewall

sudo ufw status

Port 25565 muss ALLOW sein!

Check 2: Server läuft?

sudo systemctl status minecraft-fabric

Check 3: Port-Forwarding (bei Router/Hetzner Cloud)

Router-Admin-Panel:

  • Port 25565 TCP → Server-IP

Hetzner Cloud:

  • Firewall-Regel: Port 25565 TCP Allow

Check 4: online-mode

Wenn Spieler Cracked-Account hat:

online-mode=false

⚠️ Sicherheitsrisiko!

Problem: Lag/Performance

1. View-Distance reduzieren:

view-distance=6
simulation-distance=4

2. Performance-Mods installieren:

  • Lithium
  • Carpet

3. Server-Stats prüfen:

htop

CPU/RAM-Auslastung checken.

4. Timings aktivieren:

Im Server:

/timings on

Nach 5 Minuten:

/timings paste

Öffne den generierten Link für detaillierte Performance-Analyse.


Nützliche Server-Befehle

Wichtigste Befehle

# Server-Info
/list                    # Zeigt Online-Spieler
/tps                     # Server-Performance (mit Carpet-Mod)
/seed                    # Welt-Seed anzeigen

# Spieler-Management
/whitelist add NAME      # Whitelist hinzufügen
/op NAME                 # Admin-Rechte
/kick NAME               # Spieler kicken
/ban NAME                # Spieler bannen

# Welt-Management
/save-all                # Welt speichern
/time set day            # Zeit auf Tag setzen
/weather clear           # Wetter auf klar
/gamerule doDaylightCycle false  # Zeit einfrieren

# Teleportation
/tp NAME X Y Z           # Teleport zu Koordinaten
/tp NAME1 NAME2          # NAME1 zu NAME2 teleportieren

# Performance
/gc                      # Garbage Collection (nur Carpet)

Server-Updates

Minecraft-Version aktualisieren

Schritt 1: Backup erstellen!

sudo su - minecraft
cd ~/fabric-server
tar -czf ~/backups/pre-update-backup-$(date +%Y%m%d).tar.gz world/ mods/ *.properties *.json

Schritt 2: Neue Fabric-Version herunterladen

cd ~/fabric-server

# Alte Datei umbenennen
mv fabric-server-launch.jar fabric-server-launch.jar.old

# Neue Version herunterladen
wget "https://meta.fabricmc.net/v2/versions/loader/NEUE_VERSION/stable/server/jar" -O fabric-server-launch.jar

Schritt 3: Mods aktualisieren

Alle Mods im mods/-Ordner auf die neue Minecraft-Version aktualisieren!

Schritt 4: Server starten

./start.sh

Zusammenfassung - Quick Setup

# ════════════════════════════════════════════════════════
# FABRIC SERVER INSTALLATION IN 10 SCHRITTEN
# ════════════════════════════════════════════════════════

# 1. Java installieren
sudo apt update && sudo apt install -y openjdk-21-jre-headless screen

# 2. Minecraft-User erstellen
sudo useradd -m -d /opt/minecraft -s /bin/bash minecraft

# 3. Zu User wechseln
sudo su - minecraft
mkdir -p ~/fabric-server && cd ~/fabric-server

# 4. Fabric herunterladen
wget "https://meta.fabricmc.net/v2/versions/loader/1.21.4/stable/server/jar" -O fabric-installer.jar

# 5. Server generieren
java -jar fabric-installer.jar server -mcversion 1.21.4 -downloadMinecraft

# 6. EULA akzeptieren
echo "eula=true" > eula.txt

# 7. Start-Script erstellen
cat > start.sh << 'EOF'
#!/bin/bash
java -Xms2G -Xmx2G -jar fabric-server-launch.jar nogui
EOF
chmod +x start.sh

# 8. Server starten (Test)
screen -S minecraft
./start.sh

# 9. Screen verlassen (Strg+A, dann D)

# 10. Firewall öffnen (exit aus minecraft-user)
exit
sudo ufw allow 25565/tcp

# ════════════════════════════════════════════════════════
# FERTIG! Server läuft auf SERVER_IP:25565
# ════════════════════════════════════════════════════════

Checkliste vor dem ersten Start

✅ Vor dem Start prüfen:

  • [ ] Java 17+ oder 21 installiert?
  • [ ] EULA akzeptiert (eula.txt = true)?
  • [ ] Genug RAM verfügbar (min. 2 GB)?
  • [ ] Port 25565 in Firewall offen?
  • [ ] server.properties angepasst?
  • [ ] Start-Script ausführbar (chmod +x start.sh)?
  • [ ] Backup-Strategie überlegt?

✅ Nach dem Start prüfen:

  • [ ] Server läuft ohne Fehler?
  • [ ] Spieler können sich verbinden?
  • [ ] Performance okay (TPS ~20)?
  • [ ] Mods funktionieren?
  • [ ] Whitelist konfiguriert (falls gewünscht)?

Dein Fabric-Server läuft jetzt! 🎮

Bei Fragen oder Problemen: Logs checken mit cat logs/latest.log