Mengonversi .mrpack ke zip modpack biasa — dan mengapa ekstraktor gagal
.mrpack adalah manifes, bukan arsip mod. Mengekstraknya hanya menghasilkan file JSON tanpa jar. Berikut isi sebenarnya dan apa yang harus dilakukan konverter.
Ganti nama .mrpack menjadi .zip, buka, dan Anda hampir tidak menemukan apa pun: sebuah modrinth.index.json, mungkin folder overrides/. Mod-nya hilang. Ini bukan kerusakan — memang begitulah cara format ini bekerja sesuai rancangannya.
Apa isinya
modrinth.index.json the manifest: name, version, loader, and a list of downloads
overrides/ config files, resource packs, anything not on Modrinth
Setiap entri dalam manifes terlihat seperti:
{
"path": "mods/sodium.jar",
"hashes": { "sha1": "…", "sha512": "…" },
"downloads": ["https://cdn.modrinth.com/data/…/sodium.jar"],
"fileSize": 812345
}
Paket ini membawa referensi, bukan file. Itulah sebabnya paket berisi 40 mod hanya berukuran 200 KB saat diunduh dan mengapa setiap ekstraktor generik "gagal" — tidak ada yang bisa diekstrak.
Apa yang harus dilakukan konversi
- Baca
modrinth.index.json. - Ambil setiap entri dari URL CDN-nya.
- Verifikasi setiap file terhadap sha512 di manifes. Melewati langkah ini adalah cara jar yang rusak atau diganti bisa masuk ke dalam paket.
- Tempatkan masing-masing di
path-nya. - Salin
overrides/, laluclient-overrides/atauserver-overrides/, di atasnya — overrides menang, itulah tujuannya. - Zip hasilnya.
Langkah 3 adalah yang diam-diam dilewati konverter. Hash yang tidak cocok berarti unduhan terpotong atau file berubah; tetap memasangnya menghasilkan paket yang crash saat dimuat dengan error yang menunjuk ke mod yang salah.
Mengapa perlu dilakukan sama sekali
- Launcher yang tidak mengenal mrpack. ATLauncher, MultiMC, dan instalasi manual menginginkan folder berisi jar.
- Sisi server. Penyedia hosting server hampir tidak pernah menerima
.mrpack; mereka ingin folder mods. - Instalasi offline. Setelah dikonversi, paket tidak lagi membutuhkan CDN.
Field env menentukan client versus server
Setiap file membawa:
"env": { "client": "required", "server": "unsupported" }
Paket server harus melewati semua yang ditandai unsupported di sisi server — sebagian besar shader, minimap, dan mod HUD. Menyalin seluruh folder mods client ke server adalah penyebab umum crash saat startup yang menyebut kelas rendering.
Arah sebaliknya
Membangun .mrpack dari sebuah folder adalah kebalikannya dan punya satu jebakan: mod apa pun yang tidak dihosting di Modrinth, GitHub, atau GitLab tidak bisa menjadi entri manifes — dan Modrinth sendiri hanya menerima CDN-nya sendiri untuk paket yang dipublikasikan. Mod tersebut harus masuk ke overrides/mods/, yang membuat paket lebih besar tetapi tetap berfungsi. Membuang mod-mod itu secara diam-diam menghasilkan paket yang terpasang dengan bersih tetapi kehilangan konten.
Konversi .mrpack menjadi ZIP client atau server, dengan verifikasi hash dan pemisahan env yang ditangani, di MRPACK to ZIP Converter.