Minecraft Server

Hinweise: - Standardmäßig startet der Server mit 2 GB RAM (-Xmx2G -Xms1G). Kannst du im Service-File anpassen. - Autostart ist eingerichtet via systemd. - Unterstützt nur Debian/Ubuntu & CentOS/RHEL/Fedora. Andere müssten ergänzt werden. - Serverdateien liegen in /opt/minecraft.

Linux SH Other v1.0.0
Script Code
#!/bin/bash
# Minecraft Server Installer mit Autostart
# Unterstützt: Debian/Ubuntu, CentOS/RHEL

set -e

# === OS-Prüfung ===
if [ -f /etc/os-release ]; then
    . /etc/os-release
    OS=$ID
else
    echo "❌ Konnte OS nicht erkennen!"
    exit 1
fi

echo "➡️ Betriebssystem erkannt: $OS"

# === Pakete installieren ===
case "$OS" in
    ubuntu|debian)
        sudo apt update
        sudo apt install -y openjdk-21-jre-headless wget screen
        ;;
    centos|rhel|fedora)
        sudo yum install -y java-21-openjdk wget screen
        ;;
    *)
        echo "❌ Nicht unterstütztes OS: $OS"
        exit 1
        ;;
esac

# === Minecraft User anlegen ===
if ! id "minecraft" &>/dev/null; then
    sudo useradd -m -r -d /opt/minecraft -s /bin/bash minecraft
fi

cd /opt/minecraft
sudo -u minecraft mkdir -p /opt/minecraft

# === Neueste Minecraft Version abrufen ===
LATEST_JAR=$(wget -qO- https://launchermeta.mojang.com/mc/game/version_manifest.json | grep -oP '(?<="url": ")[^"]*' | head -n1)
SERVER_JAR_URL=$(wget -qO- $LATEST_JAR | grep -oP '(?<="server":\s*")[^"]*')
echo "➡️ Lade Minecraft Server von: $SERVER_JAR_URL"

sudo -u minecraft wget -O /opt/minecraft/server.jar $SERVER_JAR_URL

# === EULA akzeptieren ===
echo "eula=true" | sudo tee /opt/minecraft/eula.txt > /dev/null

# === Systemd Service erstellen ===
SERVICE_FILE=/etc/systemd/system/minecraft.service
sudo bash -c "cat > $SERVICE_FILE" <<EOF
[Unit]
Description=Minecraft Server
After=network.target

[Service]
WorkingDirectory=/opt/minecraft
User=minecraft
Restart=always
ExecStart=/usr/bin/java -Xmx2G -Xms1G -jar /opt/minecraft/server.jar nogui

[Install]
WantedBy=multi-user.target
EOF

# === Service aktivieren ===
sudo systemctl daemon-reexec
sudo systemctl enable minecraft
sudo systemctl start minecraft

echo "✅ Minecraft Server erfolgreich installiert!"
echo "➡️ Server läuft jetzt als Service: systemctl status minecraft"
echo "➡️ Dateien liegen in: /opt/minecraft"
Details
Ersteller
Florian Linde
Veröffentlicht
27.8.2025
Downloads
0
Dateigröße
1.93 KB