Zurück zum Blog

Minecraft-Launcher: Updates ohne Verlust persönlicher Dateien

Mineando
Ein Voxel-Weltblock neben einem grünen Schild vor dunklem Hintergrund.

Bevor ihr einen individuell entwickelten Minecraft-Launcher abnehmt, verlangt einen Update-Test mit einer bereits genutzten Installation. Unterbrecht den Download, liefert eine ungültige Datei aus und wiederholt den Vorgang. Entscheidend ist, dass die vereinbarten lokalen Daten erhalten bleiben und anschließend eine eindeutig bestimmbare Modpack-Version vorliegt. Alte und neue Dateien dürfen nicht unbemerkt vermischt werden.

Diese Prüfung richtet sich an Communities und Event-Teams, die einen Launcher für den dauerhaften Einsatz beauftragen. Eine Erstinstallation kann funktionieren, während das nächste Update Einstellungen oder persönliche Ergänzungen entfernt. Die folgenden Punkte sind vorgeschlagene Anforderungen für einen Auftrag. Sie beschreiben weder eine getestete Mineando-Implementierung noch Eigenschaften, die jeder Launcher bereits mitbringt.

Launcher und Modpack getrennt versionieren

Haltet zwei Versionskennungen fest: die Launcher-Anwendung und das Modpack. Ein Update des Programms mit dem Download-Button ist ein anderer Vorgang als der Austausch von Mods und Konfigurationen im Spielverzeichnis. Beide benötigen festgelegte Zielplattformen, einen Veröffentlichungsweg und ein Verfahren für Fehlerfälle.

Nutzt die Anwendung beispielsweise Electron, beschreibt dessen autoUpdater-Dokumentation Anwendungsupdates für Windows und macOS. Integrierte Linux-Unterstützung fehlt; automatische Updates auf macOS setzen eine Signierung voraus. Damit ist noch nicht beschrieben, wie Minecraft-Dateien aktualisiert werden. Lasst diesen zweiten Mechanismus gesondert dokumentieren.

Die Übergabe einer eindeutig bezeichneten Modpack-Version bildet die Grundlage. Ergänzt anschließend die Frage, was mit einer Installation passiert, die jemand schon mehrere Wochen benutzt hat.

Zuständigkeit für Dateien festlegen

Vereinbart vor der Entwicklung drei Dateigruppen. Die folgenden Beispiele sind Anforderungen an das geplante Produkt, keine automatisch durch Minecraft durchgesetzten Regeln.

DateigruppeVorgeschlagene Update-Regel
Vom Pack verwaltete Mods und verbindliche KonfigurationGemäß freigegebener Version ersetzen; alte Dateien nur entfernen, wenn sie als verwaltet erfasst sind.
Spielstände, Screenshots und persönliche ErgänzungenErhalten; Konflikte melden, ohne Benutzerdateien stillschweigend zu löschen.
Gemeinsam beeinflusste EinstellungenMigration einzelner Werte, dokumentiertes Zurücksetzen oder eine Entscheidung im Konfliktfall vereinbaren.

Die Forderung „Der ganze Ordner soll dem Download entsprechen“ lässt offen, wo veraltete Pack-Dateien enden und persönliche Inhalte beginnen. Alle alten JAR-Dateien aufzubewahren ist ebenfalls keine Lösung: Dann können zwei Versionen einer verwalteten Mod nebeneinander liegen. Verlangt ein Verzeichnis der zuvor installierten Dateien und ein festgelegtes Verhalten für lokal veränderte Inhalte.

Nehmt ein konkretes Beispiel in den Auftrag auf. Version r4 entfernt eine verwaltete Mod und ändert eine Event-Konfiguration. Die Testperson hat außerdem eine Tastenbelegung angepasst und einen Screenshot gespeichert. Legt fest, was verschwindet, was geändert wird und welche Dateien bytegenau erhalten bleiben. Ist eine persönliche Mod nicht unterstützt, kann der Launcher den Konflikt erklären und eine getrennte, saubere Instanz anbieten. Unangekündigtes Löschen sollte keine Lösung sein.

Downloads vor der Aktivierung prüfen

Die Modrinth-Spezifikation für .mrpack beschreibt Dateipfade, Hashwerte für Downloads und in die Instanz kopierte Overrides. Sie warnt außerdem vor Pfaden außerhalb des Instanzverzeichnisses. Daraus folgt noch kein Nachweis für das Wiederherstellungsverhalten eines Launchers.

Verlangt für euren Auftrag, Downloads getrennt von der aktiven Version vorzubereiten und vor der Aktivierung gegen die vertrauenswürdige Versionsbeschreibung zu prüfen. Ein falscher Hash muss einen klaren Fehler auslösen, keine Erfolgsmeldung. Ein passender Hash bestätigt die erwarteten Bytes; er beweist nicht unabhängig davon die Vertrauenswürdigkeit eines unbekannten Herausgebers.

Bezieht das Entpacken von Archiven und die Override-Dateien in die Prüfung ein. Der Anbieter soll zeigen, dass Paketpfade nicht außerhalb der vorgesehenen Instanz schreiben können, auch nicht über Dateisystemverknüpfungen. Verlangt kontrollierte Tests in einem entbehrlichen Verzeichnis, ohne echte persönliche Dateien als Testziele zu verwenden. Ein vollständig gefüllter Fortschrittsbalken belegt diese Prüfungen nicht.

Den Zustand nach einer Unterbrechung bestimmen

Formuliert zunächst das gewünschte Ergebnis. Scheitert der Download vor der Aktivierung, soll die vorherige vollständige Version unverändert und identifizierbar bleiben. Der unvollständige Kandidat darf nicht wie eine fertige Installation gestartet werden können. Nach erneutem Öffnen des Launchers muss der dokumentierte Weg zum Wiederholen oder Abbrechen verfügbar sein.

Eine Unterbrechung während der Aktivierung braucht einen eigenen Test. Fragt, wie eine unvollständige Änderung erkannt und wieder ein konsistenter Zustand hergestellt wird. Möglich sind getrennte Versionsverzeichnisse, ein Wiederherstellungsprotokoll oder andere Verfahren. Maßgeblich bleibt der nachgewiesene Ablauf auf den unterstützten Betriebssystemen und Dateisystemen. Die Bezeichnung „atomar“ für eine einzelne Operation belegt kein vollständiges Update mehrerer Dateien.

Verlangt außerdem, konkurrierende Updates derselben Instanz zu verhindern und Änderungen bei laufender Spielinstanz aufzuschieben. Vereinbart das Verhalten bei vollem Datenträger und gesperrten Dateien. Prüft dabei die tatsächlich verbleibenden Dateien, nicht nur das Erscheinen eines Fehlerdialogs.

Mit einer benutzten Instanz proben

Erstellt eine entbehrliche Kopie mit repräsentativen Benutzerdaten und erfasst den Ausgangsbestand. Unterbrecht für solche Tests niemals die echte Installation eines Teilnehmers. Führt mindestens diese Fälle für jeden unterstützten Installationsweg durch:

  • Normales Update von der vorherigen unterstützten Version: Zielbestand und erhaltene Benutzerdaten prüfen.
  • Verbindungsabbruch beim Download: Launcher neu öffnen und den Vorgang wiederholen.
  • Absichtlich nicht zum Hash passende Datei: Ablehnung vor der Aktivierung nachweisen.
  • Unterbrechung der Aktivierung mit dem kontrollierten Testverfahren des Entwicklers: Wiederherstellung nach dem Neustart prüfen.
  • Zu wenig Speicherplatz und eine nicht ersetzbare Datei: vereinbarte Fehlerbehandlung nachweisen.
  • Wiederholte Update-Anforderung und Update-Versuch bei laufendem Spiel: widersprüchliche parallele Vorgänge ausschließen.

Dokumentiert Launcher- und Pack-Versionen, Betriebssystem, Ausgangslage, erwartetes und beobachtetes Ergebnis sowie Belege. Nicht ausgeführte Fälle bleiben als solche gekennzeichnet. Ermittelt den Speicherbedarf am tatsächlichen Paket einschließlich temporärer Dateien und aufbewahrter Versionen. Dieser Artikel nennt dafür keinen allgemeingültigen Faktor.

Wiederherstellung und Übergabe verbindlich regeln

Ein aufbewahrtes altes Paket beweist nicht, dass der alte Client einem aktualisierten Server beitreten kann. Ein Wechsel auf frühere Mods macht auch keine Änderungen rückgängig, die eine neuere Version bereits in eine lokale Welt geschrieben hat. Legt fest, welche älteren Versionen unterstützt bleiben. Trennt die Wiederherstellung des Pakets von der des Spielstands und prüft diese Grenzen, bevor ihr eine Rückkehrfunktion anbietet.

Zur Übergabe gehören Dateiregeln, unterstützte Update-Wege, ausgeführte Fehlertests, verständliche Wiederherstellungsanweisungen und ein Betreiberverfahren zum Zurückziehen einer fehlerhaften Veröffentlichung. Protokolle sollen betroffene Version und fehlgeschlagenen Schritt nennen, ohne Zugangstokens oder sachfremde persönliche Pfade offenzulegen.

Für die Entwicklung eines eigenen Launchers bringt ihr unterstützte Teilnehmerumgebungen, Update-Regeln und Abnahmekriterien mit. Mineando kalkuliert bezahlte Projekte nach individuell vereinbartem Umfang. Bei einem Event-Einsatz klärt ihr zusätzlich, wer die Verteilung stoppen darf und betroffenen Teilnehmern hilft. Wartung und Live-Betreuung werden gesondert vereinbart.

Erzähl uns von deinem Vorhaben.

Bezahlte Projekte mit vorab vereinbartem Umfang und Angebot.

Projekt besprechen
Minecraft-Launcher: Updates und persönliche Dateien