Poradniki / Rozwiązywanie problemów
Plik mrpack to zip, który kłamie, że jest zipem
Zmiana nazwy pliku .mrpack na .zip daje manifest i folder overrides, a nie mody — pliki jar znajdują się na CDN Modrinth i są pobierane po hashu.
Plik .mrpack to archiwum ZIP, więc zmiana jego nazwy na .zip i rozpakowanie działa — i daje prawie nic użytecznego. Otrzymujesz modrinth.index.json, folder overrides i ani jednego moda. Pliki jar nigdy nie były w środku.
Dlaczego brakuje modów
Paczki Modrinth przechowują manifest, a nie zawartość. Każdy wpis w modrinth.index.json zawiera adres URL pobierania oraz hashe SHA-1 i SHA-512 pliku, który ten adres powinien zwrócić. Launcher odczytuje manifest, pobiera każdy plik, weryfikuje hash i dopiero wtedy umieszcza go w instancji.
Taka konstrukcja pozwala zachować mały rozmiar paczek i aktualizować paczkę bez ponownego przesyłania każdego pliku jar. Oznacza to również, że paczka jest bezużyteczna offline, dopóki ktoś nie rozwiąże jej raz.
Co faktycznie zawiera manifest
| Pole | Znaczenie |
|---|---|
formatVersion | Wersja schematu manifestu |
game | Docelowa wersja Minecraft i loader |
files | Tablica path, hashes, downloads, env |
dependencies | Wersje loadera i Minecraft do zainstalowania najpierw |
Pole env przy każdym pliku jest tym, które ludzie pomijają. Oznacza plik jako client, server lub oba. Mod oznaczony jako tylko dla klienta nie powinien być w ogóle kopiowany do folderu mods serwera — zrobienie tego jest częstą przyczyną serwera, który odmawia uruchomienia.
Sprawdzanie hasha nie jest opcjonalne
Jeśli SHA-1 pobranego pliku nie zgadza się z manifestem, plik jest błędny: obcięte pobieranie, strona błędu CDN zapisana jako jar lub zmanipulowane lustro. Konwerter, który pomija weryfikację, z chęcią spakuje zepsutą instancję. Weryfikacja jest całym powodem, dla którego warto to robić lokalnie, zamiast ufać losowemu repackowi.
Wynik dla klienta i serwera
Ten sam manifest tworzy dwa różne archiwa w zależności od celu:
- Paczka klienta — wszystko, plus
overridesscalone w katalogu głównym instancji, gotowe dla launchera akceptującego ZIP. - Paczka serwera — pomiń wpisy
env: client, zachowajenv: serveri nieoznaczone oraz usuń konfigurację tylko dla klienta z overrides.
Tylko Java Edition. Bedrock nie ma odpowiednika tego formatu; dodatki Bedrock to archiwa .mcaddon/.mcpack z manifest.json o zupełnie innym kształcie, a żadna paczka Modrinth nie rozwiązuje się do nich.
Overrides nadpisują, nie scalają
Pliki w overrides/ są kopiowane do instancji po umieszczeniu modów. Plik konfiguracyjny w overrides zastępuje domyślny plik moda w całości. Jeśli paczka dostarcza konfigurację w overrides, a ty także edytujesz tę konfigurację w instancji, kopia z overrides wygrywa przy następnym rozwiązaniu.
Przekonwertuj manifest, zweryfikuj każdy hash i otrzymaj ZIP gotowy dla launchera lub serwera w MRPACK to ZIP Converter.