Modpacks installieren
Eranio
Modpacks installieren
Vollständige Anleitung zum 8-Schritte-Installationsprozess, Egg-Wechsel, Backup-Erstellung, Dateibewahrung, Konfigurationszusammenführung, Direktinstallation und alle möglichen Fehler.
Vor der Installation
Installationstyp-Erkennung
Das Plugin schaut in der Tabelle server_installed_modpacks nach, welches Pack für den Server gespeichert ist:
| Typ | Bedingung | Was passiert |
|---|---|---|
| Erstinstallation | Für den Server ist kein Pack gespeichert | Saubere Installation |
| Update | Gleiches Modpack, andere Version | Wahl: Konfigurationen behalten oder löschen |
| Wechsel | Andere Modpack-ID | Vollständige Bereinigung + neue Installation |
| Neuinstallation | Gleiches Modpack + gleiche Version | Aktuelle Version neu installieren |
Der 8-Schritte-Installationsprozess
Schritt 1: Bewahren
Wichtige Dateien werden vor dem Löschen im Speicher gesichert:
Root-Dateien bewahrt: server.properties, eula.txt, ops.json, banned-players.json, banned-ips.json, whitelist.json, usercache.json
Verzeichnisse bewahrt (rekursiv): /config/, /plugins/
Schritt 2: Backup
Ein automatisches Backup wird mit deutschem Namen basierend auf dem Installationstyp erstellt:
| Typ | Beispiel-Backup-Name |
|---|---|
| Erstinstallation | „Modpack-Erstinstallation" |
| Update | „Modpack-Update" |
| Wechsel | „Modpack-Wechsel" |
| Neuinstallation | „Modpack-Neuinstallation" |
Backup-Anzahl wird verwaltet, ältestes wird bei Erreichen des Limits gelöscht.
Schritt 3: Löschen
Alle Serverdateien werden gelöscht außer geschützte Verzeichnisse:
Geschützt (nie gelöscht): worlds, plugins, logs
Schritt 4: Download (⬇)
- Server wird gestoppt (erzwungen)
- Egg gewechselt zu „Minecraft Modpack Installer"
- Variablen gesetzt:
MODPACK_PROVIDER,MODPACK_ID,MODPACK_VERSION_ID - Server neu installiert, löst den Download aus
- Warten auf Download, max. 300 Sekunden Timeout
Schritt 5: Entpacken
Nach Download wird die Extraktion überwacht:
- Dateistabilitäts-Überwachung: Prüft Dateigrößen wiederholt
- 3 aufeinanderfolgende stabile Prüfungen = Dekompression abgeschlossen
Schritt 6: Wiederherstellen
Bewahrte Dateien werden wiederhergestellt:
- Bei Update (Konfigurationen behalten): /config/ und /plugins/ werden übersprungen (werden in Schritt 7 zusammengeführt)
- Bei Wechsel/Erstinstallation/Update (löschen): Alles wiederherstellen
Schritt 7: Zusammenführen
Bis zu 45 Sekunden Warten auf Erscheinen der mods/ und config/-Verzeichnisse.
Konfigurations-Merge-Strategien
| Format | Erweiterungen | Strategie |
|---|---|---|
| JSON | .json |
Rekursiver Merge: neue Struktur + alte Werte |
| YAML | .yml, .yaml |
Schlüssel-Merge mit Kommentar-Bewahrung |
| Properties | .properties, .cfg |
Schlüssel=Wert-Merge |
| TOML | .toml |
Abschnittsbasierter Merge mit Header-/Kommentar-Bewahrung |
Plugin-Konfigurations-Zusammenführung
Nach dem Root-Konfigurations-Merge werden auch /plugins/PluginName/-Unterverzeichnisse zusammengeführt:
- Scannt jedes Plugin-Konfigurations-Verzeichnis
- Führt individuelle Konfigurationsdateien mit den gleichen Format-Strategien zusammen
- Überspringt Dateien wo alter oder neuer Inhalt leer ist
Schritt 8: Abschließen
- Minecraft-Version geprüft: aus dem Installationsspeicher, aus den Dateien gelesen, falls der Anbieter sie nicht geliefert hat
- Egg zurückgewechselt zu „Minecraft Modpack Runtime" mit passendem Java-Image und Startbefehl
- Pack gespeichert in
server_installed_modpacksmit Minecraft- und Java-Version - Installationsspeicher abgeschlossen mit Status
done
Java und Startbefehl
Welche Java-Version der Server braucht, hängt vom Pack ab. Das Plugin findet das selbst heraus:
- Zu Beginn der Installation fragt es beim Anbieter, für welche Minecraft-Version die gewählte Pack-Version gebaut ist. Modrinth liefert
game_versions, CurseForgegameVersions(oder die Version aus dem Dateinamen, wenn die Liste leer ist). - Bei ATLauncher, FeedTheBeast, Technic und VoidsWrath wird die Version nach dem Download aus den installierten Dateien gelesen:
modrinth.index.json,manifest.json,libraries/net/minecraft/serveroderversions. - Am Ende bekommt das Runtime-Egg das passende Docker-Image und den passenden Startbefehl.
| Minecraft | Java |
|---|---|
| 26.x und neuer | 25 |
| 1.20.5 bis 1.21.x | 21 |
| 1.18 bis 1.20.4 | 17 |
| 1.17 | 16 |
| älter | 8 |
Lässt sich keine Version ermitteln, wird Java 21 verwendet.
Startbefehl
Jeder Modpack-Server startet mit den G1-Flags nach Aikar. Der Befehl liest bei jedem Start das Speicherlimit des Servers:
| Speichereinstellung | Heap |
|---|---|
| Begrenzt | Limit minus 10 %, mindestens 512 MB bleiben für Java selbst frei, damit Docker den Server nicht beendet |
| Über 12 GB Heap | Genauso, mit den G1-Werten für große Heaps (Regionsgröße 16 MB) |
| Unbegrenzt (0) | Startet mit 1 GB und darf bis zur Hälfte des Host-Speichers wachsen |
Forge- und NeoForge-Packs ab 1.17 starten über unix_args.txt, alle anderen über server.jar. Java-8-Packs nutzen dieselben Flags ohne Argumentdateien.
Installationsspeicher
Jede Installation wird beim Start in die Tabelle server_modpack_installs geschrieben: Anbieter, Pack, Version, Minecraft-Version, Herkunft der Version, Java-Version, Image und Status (running, done, failed, aborted). Der Installer liest diesen Eintrag während der Installation und am Ende. Nach einer erfolgreichen Installation stehen Minecraft- und Java-Version auch beim installierten Pack in server_installed_modpacks.
Installations-Aktionsmatrix
| Aktion | Erst. | Update (löschen) | Update (behalten) | Wechsel |
|---|---|---|---|---|
| Backup erstellen | ||||
| Mods löschen | - | |||
| Konfigurationen löschen | - | - | ||
| Mod-Konfigurationen zusammenführen | - | - | - | |
| Wichtige Dateien wiederherstellen | - |
Plugin-übergreifende Bereinigung
Bei Modpack-Installation oder -Wechsel bereinigt das Plugin automatisch Daten anderer Plugins:
Game Mods Bereinigung
- Löst dynamisch
Eranio\GameMods\Services\SafeCacheServiceundCacheKeyServiceauf - Leert
server_installed_mods-Tabelle für den Server - Log: „Cleaned database mods for server {uuid}"
Minecraft Plugins Bereinigung
- Löst dynamisch
Eranio\MinecraftPlugins\Services\SafeCacheServiceundCacheKeyServiceauf - Leert
minecraft_installed_plugins-Tabelle für den Server - Log: „Cleaned database plugins for server {uuid}"
Fortschritts-Widget
Während der Installation zeigt ein Fortschritts-Widget alle 8 Schritte:
| Funktion | Detail |
|---|---|
| Abfrageintervall | 2 Sekunden |
| Schritt-Indikatoren | Pfeilförmig mit clip-path CSS |
| Mobiloptimiert | Eigenes CSS für mobile Sichtbarkeit |
| Auto-Weiterleitung | Bei Abschluss automatische Weiterleitung |
Vollständige Fehlerreferenz
Download-Fehler
| Log | Ursache | Lösung |
|---|---|---|
| „[Modpack] Download timeout" | 300s überschritten | Timeout erhöhen, Servernetzwerk prüfen, kleineres Modpack versuchen |
| Egg-Wechsel fehlgeschlagen | Installer-Egg fehlt | Prüfen ob Seeder erfolgreich gelaufen ist |
Extraktions-Fehler
| Log | Ursache | Lösung |
|---|---|---|
| „[Modpack] Decompression timeout" | Dateistabilität nie erreicht | Festplatte voll, beschädigter Download, sehr großes Modpack |
Merge-Fehler
| Log | Ursache | Lösung |
|---|---|---|
| „[Modpack] Could not merge config file" | Ungültiges Format, Parse-Fehler | Konfig-Syntax prüfen, manuell zusammenführen |
| Konfig-Verzeichnisse erscheinen nicht binnen 45s | Extraktion unvollständig | Schritt 5 prüfen, Festplatte prüfen |
Plugin-übergreifende Bereinigungsfehler
| Log | Auswirkung |
|---|---|
| „GameMods classes not found" | Nicht kritisch, alte Daten können bestehen bleiben |
| „MinecraftPlugins classes not found" | Nicht kritisch |