Ein kleines Bash-Skript, das deinen Folia-Server-JAR automatisch auf den neuesten STABLE-Build (PaperMC Fill API) aktualisiert.
Datei im Repo:
update.sh
- Prüft den aktuellen lokalen Build anhand des JAR-Namens
- Holt den neuesten STABLE-Build für eine definierte Minecraft-Version
- Lädt die neue JAR herunter
- Prüft optional die SHA256-Checksumme
- Aktualisiert den Symlink (z. B.
folia.jar) atomar - Löscht alte Folia-Builds
- Schreibt strukturierte Logs
- Verhindert Parallel-Ausführung über Lock-Datei (
flock)
Benötigt auf dem Zielsystem:
- Bash
curljqflock(meist ausutil-linux)sha256sum(meist auscoreutils)
Die zentralen Werte stehen oben in update.sh:
PROJECT(Standard:folia)VERSION(z. B.1.21.8)USER_AGENTSERVER_DIR(Ordner, in dem die JAR-Dateien liegen)JAR_LINK_NAME(konstanter Name für Startskript, z. B../folia.jar)LOCK_FILELOGFILE
Passe diese Werte an deine Umgebung an.
Skript ausführbar machen:
chmod +x update.shManuell starten:
./update.shBeispiel: alle 30 Minuten ausführen
*/30 * * * * /pfad/zu/update.shHinweis: Das Skript selbst verhindert Doppelstarts über flock.
Das Skript schreibt in die konfigurierte Log-Datei (LOGFILE), standardmäßig:
/var/log/minecraft/jar-update/update.log
Logformat:
[YYYY-MM-DD HH:MM:SS] [LEVEL] Nachricht
- Fehlende Abhängigkeiten (z. B.
jq) -> Abbruch mit Error-Log - Kein STABLE-Build gefunden -> Abbruch
- Download fehlgeschlagen -> Abbruch
- SHA-Prüfung fehlgeschlagen -> neue Datei wird verworfen
- Verwende einen aussagekräftigen
USER_AGENTmit Kontaktmöglichkeit - Stelle sicher, dass der Benutzer Schreibrechte auf
SERVER_DIR,LOCK_FILEundLOGFILEhat - Teste neue
VERSION-Werte zuerst manuell