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
- Odczytaj
modrinth.index.json. - Pobierz każdy wpis z jego adresu URL w CDN.
- 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.
- Umieść każdy plik w jego
path. - Skopiuj
overrides/, a następnieclient-overrides/lubserver-overrides/, na wierzch — nadpisania (overrides) wygrywają, taki jest ich cel. - 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.