Sebuah .mrpack hampir tidak memuat mod-nya sendiri

Berkasnya adalah ZIP, tetapi jar tidak ada di dalamnya. Berkas ini memuat manifest URL unduhan dengan hash SHA-512, itulah sebabnya paket 40 KB dapat memasang empat ratus megabita — dan mengapa paket ini gagal saat offline.
Ubah nama apa pun .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.
Apa isi sebenarnya
| Entri | Wajib | Isi |
|---|---|---|
modrinth.index.json | Ya | Manifest: setiap berkas, jalurnya, ukuran, hash, dan URL unduhan |
overrides/ | Tidak | Berkas asli yang disalin apa adanya — config, skrip, paket sumber daya |
client-overrides/, server-overrides/ | Tidak | Ide yang sama, hanya diterapkan pada sisi itu |
Manifest memuat 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.
Mengapa dibuat seperti ini
Redistribusi. Pembuat paket hampir tidak pernah memiliki izin untuk menghosting ulang setiap mod di dalam daftar, tetapi mereka selalu dapat menunjuk ke berkas milik pembuat aslinya. Menyertakan URL alih-alih jar menjaga paket tetap legal untuk dibagikan dan cukup kecil untuk dikirim melalui obrolan.
Hash adalah bagian lainnya. Sebuah URL dapat mulai menyajikan hal yang berbeda besok; SHA-512 tidak. Peluncur yang memverifikasi hash setelah mengunduh sedang memeriksa bahwa berkas yang diterimanya sama persis bita demi bita dengan berkas yang diuji oleh pembuat paket.
Tiga hal yang bisa salah
- Tanpa jaringan, tanpa paket. Sebuah
.mrpackis an installer, not an archive. Offline it produces a folder of configs and nothing else. - URL mati berakibat fatal, tidak dapat dilewati. Jika sebuah mod dihapus dari daftar, entrinya tetap menghasilkan 404 dan penginstalan berhenti pada berkas yang ditandai wajib.
- Berkas khusus server dan khusus klien. Salin instans klien yang diekstrak
ke server dan Anda akan membawa mod sisi klien yang akan menolak dimuat —
envflags exist precisely to keep those apart.
Mengubahnya menjadi folder biasa
Mengonversi berarti melakukan apa yang dilakukan peluncur: membaca manifest, mengambil setiap berkas ke lokasi
yang ditentukan 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.
Dua detail patut diperhatikan saat Anda melakukannya secara manual. Perhatikan 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.