Plik .mrpack nie zawiera prawie żadnych własnych modów

Plik jest archiwum ZIP, ale pliki jar nie znajdują się wewnątrz. Zawiera manifest z adresami URL pobierania oraz hashami SHA-512, dzięki czemu paczka o rozmiarze 40 KB może zainstalować czterysta megabajtów — i dlatego nie działa w trybie offline.
Zmień nazwę dowolnego .mrpack to .zip, open it, and the surprise is how
little is there. A pack with two hundred mods is often under 100 KB. The mods are not
missing — they were never included.
Co tak naprawdę jest w środku
| Wpis | Wymagane | Zawartość |
|---|---|---|
modrinth.index.json | Tak | Manifest: każdy plik, jego ścieżka, rozmiar, hashe i adresy URL pobierania |
overrides/ | Nie | Prawdziwe pliki skopiowane bez zmian — konfiguracje, skrypty, paczki zasobów |
client-overrides/, server-overrides/ | Nie | Ta sama zasada, stosowana tylko po tamtej stronie |
Manifest zawiera formatVersion, a dependencies map
naming the loader and Minecraft version, and a files array. Each file entry
holds the destination path, a fileSize, a hashes
object with sha1 and sha512, an env block marking it
required or optional per side, and one or more downloads URLs.
Dlaczego jest to tak zbudowane
Redystrybucja. Twórca paczki prawie nigdy nie ma zgody na ponowne hostowanie każdego moda z listy, ale zawsze może wskazać plik samego autora. Przesyłanie adresów URL zamiast plików jar sprawia, że paczkę można legalnie udostępniać i jest na tyle mała, że można ją przesłać na czacie.
Hashe to druga część. Adres URL może jutro zacząć serwować coś innego; SHA-512 nie. Launcher, który weryfikuje hash po pobraniu, sprawdza, czy otebrany plik jest co do bajta plikiem przetestowanym przez twórcę paczki.
Trzy sytuacje, w których coś idzie nie tak
- Brak sieci, brak paczki. Plik
.mrpackis an installer, not an archive. Offline it produces a folder of configs and nothing else. - Martwy adres URL jest krytyczny, nie można go pominąć. Jeśli mod zostanie usunięty z listy, wpis nadal zwraca błąd 404, a instalacja zatrzymuje się na pliku oznaczonym jako wymagany.
- Pliki wyłącznie dla serwera i wyłącznie dla klienta. Skopiuj rozpakowaną instancję klienta
na serwer, a przeniesiesz mody po stronie klienta, które odmówią załadowania —
envflags exist precisely to keep those apart.
Zamiana w zwykły folder
Konwersja oznacza wykonywanie tego, co robi launcher: odczytanie manifestu, pobranie każdego pliku do jego
zadeklarowanej path, verify each hash, then lay the overrides on top.
What comes out is an ordinary mods/ tree you can drop into any launcher or
upload to a host that has never heard of Modrinth.
Robiąc to ręcznie, warto pamiętać o dwóch szczegółach. Przestrzegaj env flags
so a server build does not inherit client mods. And check the hash rather than the file
size — a truncated download and a redirected HTML error page can both land at a plausible
size, and only the hash catches them.