The Best Resource for Minecraft
The Best Resource for Minecraft

.mrpack майже не містить власних модів

.mrpack майже не містить власних модів

Цей файл є ZIP-архівом, але jar-файлів усередині немає. Він містить маніфест із URL-адресами для завантаження та хешами SHA-512, ось чому збірка розміром 40 КБ може встановити чотириста мегабайтів — і чому вона не працює в автономному режимі.

Перейменувати будь-який .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.

Що насправді всередині

ЗаписОбов'язковоВміст
modrinth.index.jsonТакМаніфест: кожен файл, його шлях, розмір, хеші та URL-адреси для завантаження
overrides/НіСправжні файли, скопійовані як є — конфіги, скрипти, пакети ресурсів
client-overrides/, server-overrides/Ні Та сама ідея, але застосовується лише на тій стороні

Маніфест містить 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.

Чому це влаштовано саме так

Перерозповсюдження. Автор збірки майже ніколи не має дозволу на повторне розміщення кожного мода зі списку, але він завжди може вказати на оригінальний файл автора. Передача URL-адрес замість jar-файлів дозволяє легально ділитися збіркою та зберігати її розмір достатньо малим для надсилання в чаті.

Хеші — це друга половина. За URL-адресою завтра може видаватися щось інше; із SHA-512 це неможливо. Лаунчер, який перевіряє хеш після завантаження, переконується, що отриманий файл байт у байт відповідає файлу, протестованому автором збірки.

Три випадки, коли все йде не так

  • Немає мережі — немає збірки. Один .mrpack is an installer, not an archive. Offline it produces a folder of configs and nothing else.
  • Неробоча URL-адреса фатальна, її не можна пропустити. Якщо мод вилучено зі списку, запис усе одно веде на 404, і встановлення зупиняється на файлі з позначкою обов'язкового.
  • Файли лише для сервера та лише для клієнта. Скопіюйте розпаковану клієнтську збірку на сервер, і ви отримаєте клієнтські моди, які відмовляться завантажуватися — env flags exist precisely to keep those apart.

Перетворення на звичайну папку

Конвертація означає робити те саме, що й лаунчер: прочитати маніфест, завантажити кожен файл за його вказаним 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.

Є дві деталі, на які варто звернути увагу при ручній обробці. Дотримуйтесь 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.