Skip to content

minecraft-gilde/jar-updater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

jar-updater

Ein kleines Bash-Skript, das deinen Folia-Server-JAR automatisch auf den neuesten STABLE-Build (PaperMC Fill API) aktualisiert.

Datei im Repo:

  • update.sh

Funktionen

  • 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)

Voraussetzungen

Benötigt auf dem Zielsystem:

  • Bash
  • curl
  • jq
  • flock (meist aus util-linux)
  • sha256sum (meist aus coreutils)

Konfiguration

Die zentralen Werte stehen oben in update.sh:

  • PROJECT (Standard: folia)
  • VERSION (z. B. 1.21.8)
  • USER_AGENT
  • SERVER_DIR (Ordner, in dem die JAR-Dateien liegen)
  • JAR_LINK_NAME (konstanter Name für Startskript, z. B. ./folia.jar)
  • LOCK_FILE
  • LOGFILE

Passe diese Werte an deine Umgebung an.

Nutzung

Skript ausführbar machen:

chmod +x update.sh

Manuell starten:

./update.sh

Automatisierung (Cron)

Beispiel: alle 30 Minuten ausführen

*/30 * * * * /pfad/zu/update.sh

Hinweis: Das Skript selbst verhindert Doppelstarts über flock.

Logging

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

Verhalten im Fehlerfall

  • 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

Sicherheit und Best Practices

  • Verwende einen aussagekräftigen USER_AGENT mit Kontaktmöglichkeit
  • Stelle sicher, dass der Benutzer Schreibrechte auf SERVER_DIR, LOCK_FILE und LOGFILE hat
  • Teste neue VERSION-Werte zuerst manuell

About

Tool zum automatischen Aktualisieren der Server-JAR für die Minecraft-Gilde

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages