WARNING THIS PROJECT IS UNCONTINUED AND FAULTY, DO NOT USE ON YOUR SERVER IT MAY HARM YOUR EXISTING FILES!!!
Ein automatisches Update-System für Purpur-Server und Plugins auf Ubuntu.
- Automatische Purpur-Updates: Hält den Server auf der neuesten Version
- Plugin-Updates von Modrinth: Automatische Updates für 16+ Plugins
- Plugin-Updates von SpigotMC: Unterstützung für SpigotMC-Ressourcen
- Backup-System: Sichert alte Versionen vor Updates
- Fehlerbehandlung: Automatische Wiederherstellung bei Problemen
- Zeitgesteuerte Updates: Alle 10 Stunden oder beim Serverstart
- Logging: Detaillierte Protokollierung aller Vorgänge
/home/zfzfg/minecraftserver/purpur2/
├── purpur.jar # Server-JAR
├── plugins/ # Aktive Plugins
├── pluginsold/ # Backup alter Plugin-Versionen
├── pluginerrors/ # Fehlerhafte Plugins & Fehlerberichte
├── updater.py # Haupt-Update-Skript
├── start_minecraft.sh # Server-Start mit Auto-Update
├── setup.sh # Installations-Skript
├── uninstall_updater.sh # Deinstallations-Skript
├── updater.log # Update-Protokoll
└── updater_state.json # Gespeicherter Update-Status
# System-Pakete installieren
sudo apt-get update
sudo apt-get install python3 python3-pip screen openjdk-21-jre-headless
# Python-Pakete installieren
pip3 install --user requests- Alle Dateien nach
/home/zfzfg/minecraftserver/purpur2/kopieren - Setup ausführen:
cd /home/zfzfg/minecraftserver/purpur2
chmod +x setup.sh
./setup.shIn updater.py, Zeile ~30:
"minecraft_version": "1.21.4", # Hier Version anpassenIn updater.py, Zeile ~31:
"check_interval": 36000, # Zeit in Sekunden (36000 = 10 Stunden)MODRINTH_PLUGINS = {
"PluginName": "projekt-id", # ID aus der Modrinth-URL
# ...
}SPIGOT_PLUGINS = {
"PluginName": "resource-id", # ID aus der SpigotMC-URL
# ...
}./start_minecraft.shpython3 updater.py oncepython3 updater.py daemonscreen -r minecraftIn der Server-Konsole:
stop
# Service starten
sudo systemctl start minecraft-updater
# Service aktivieren (Auto-Start)
sudo systemctl enable minecraft-updater
# Status prüfen
sudo systemctl status minecraft-updaterDer Setup erstellt automatisch einen Cron-Job für Updates alle 10 Stunden.
# Update-Log
tail -f updater.log
# Server-Log
tail -f server.logcat updater_state.json- Fehlerhafte Plugins werden automatisch nach
pluginerrors/verschoben - Alte Versionen werden aus
pluginsold/wiederhergestellt - Fehlerbeschreibungen finden sich in
pluginerrors/
# Prüfe Java-Version
java -version # Sollte 21+ sein
# Prüfe Logs
tail -n 50 updater.log
tail -n 50 server.log
# Manueller Start zum Debuggen
java -Xms22G -Xmx22G -jar purpur.jar nogui# Python-Pakete neu installieren
pip3 install --user --upgrade requests
# Manuelles Update mit Debug-Ausgabe
python3 -u updater.py once./uninstall_updater.shDies entfernt:
- Update-Skripte
- Systemd-Service/Cron-Jobs
- Optional: Backups und Logs
Der Server und Plugins bleiben erhalten.
- AxTrade
- LuckPerms
- DiscordSRV
- EssentialsX (+ Chat, Spawn)
- FancyNpcs
- GriefPrevention
- Maintenance
- Multiverse-Core
- Sit
- TAB
- ViaBackwards
- ViaVersion
- WorldEdit
- VoiceChat
- EconomyShopGUI
- PlaceholderAPI
- Skript
- WorldBorder
- Backups: Erstelle regelmäßig manuelle Backups deiner Welt-Daten
- RAM-Einstellung: Standard ist 22GB - anpassen in
start_minecraft.sh - Screen-Session: Server läuft in Screen-Session "minecraft"
- Kompatibilität: Plugins werden für die konfigurierte MC-Version heruntergeladen
- Rate-Limiting: Updates haben 1 Sekunde Verzögerung zwischen Downloads
Bei Problemen:
- Prüfe
updater.logfür detaillierte Fehlerinformationen - Stelle sicher, dass alle Voraussetzungen installiert sind
- Überprüfe die Netzwerkverbindung zu Modrinth/SpigotMC
- Kontrolliere die Dateiberechtigungen
Dieses Update-System ist für den privaten Gebrauch entwickelt. Minecraft ist eine Marke von Mojang/Microsoft.