MC Toolkit

Poradniki / Rozwiązywanie problemów

Konwersja .mrpack na zwykły zip modpacka — i dlaczego extractory zawodzą

Plik .mrpack to manifest, a nie archiwum modów. Po rozpakowaniu znajdziesz plik JSON i zero jarów. Oto, co faktycznie się w nim znajduje i co musi zrobić konwerter.

Zmień nazwę .mrpack na .zip, otwórz go i prawie nic nie znajdziesz: modrinth.index.json, może folder overrides/. Mody zniknęły. To nie uszkodzenie — tak działa ten format.

Co jest w środku

modrinth.index.json     the manifest: name, version, loader, and a list of downloads
overrides/              config files, resource packs, anything not on Modrinth

Każdy wpis w manifeście wygląda tak:

{
  "path": "mods/sodium.jar",
  "hashes": { "sha1": "…", "sha512": "…" },
  "downloads": ["https://cdn.modrinth.com/data/…/sodium.jar"],
  "fileSize": 812345
}

Modpack zawiera odwołania, a nie pliki. Dlatego paczka z 40 modami waży 200 KB i dlatego każdy uniwersalny extractor „zawodzi" — nie ma czego rozpakować.

Co musi zrobić konwersja

  1. Odczytaj modrinth.index.json.
  2. Pobierz każdy wpis z jego adresu URL w CDN.
  3. Zweryfikuj każdy plik względem sha512 w manifeście. Pominięcie tego kroku to sposób, w jaki uszkodzony lub podmieniony jar trafia do paczki.
  4. Umieść każdy plik w jego path.
  5. Skopiuj overrides/, a następnie client-overrides/ lub server-overrides/, na wierzch — nadpisania (overrides) wygrywają, taki jest ich cel.
  6. Spakuj wynik do zipa.

Krok 3 to ten, który konwertery po cichu pomijają. Niezgodny hash oznacza, że pobieranie zostało przerwane albo plik się zmienił; zainstalowanie go mimo to daje paczkę, która wywala się przy wczytywaniu z błędem wskazującym na niewłaściwy mod.

Po co to w ogóle robić

  • Launchery, które nie rozumieją mrpack. ATLauncher, MultiMC i ręczne instalacje chcą folderu z jarami.
  • Strona serwera. Hostingi serwerów prawie nigdy nie przyjmują .mrpack; chcą folderu mods.
  • Instalacja offline. Po konwersji paczka nie potrzebuje już CDN.

Pole env decyduje o kliencie i serwerze

Każdy plik zawiera:

"env": { "client": "required", "server": "unsupported" }

Paczka serwerowa musi pominąć wszystko oznaczone unsupported po stronie serwera — głównie shadery, minimapy i mody HUD. Skopiowanie całego klienckiego folderu mods na serwer to typowa przyczyna crasha przy starcie, który wskazuje klasę odpowiedzialną za renderowanie.

W drugą stronę

Zbudowanie .mrpack z folderu to operacja odwrotna i ma jedną pułapkę: każdy mod niehostowany na Modrinth, GitHubie lub GitLabie nie może być wpisem w manifeście — a sam Modrinth przyjmuje wyłącznie własne CDN dla publikowanych paczek. Taki mod musi trafić do overrides/mods/, co zwiększa rozmiar paczki, ale pozwala jej działać. Ciche pominięcie tych modów daje paczkę, która instaluje się bez problemu i której brakuje zawartości.

Przekonwertuj .mrpack na ZIP klienta lub serwera, z weryfikacją hashy i obsługą podziału env, w MRPACK to ZIP Converter.

Narzędzia zip do pakietów zasobów →

Więcej poradników

Zobacz wszystkie →