Mengubah .mrpack menjadi zip modpack biasa — dan mengapa ekstraktor gagal
.mrpack adalah sebuah manifes, bukan arsip mod. Mengekstraknya hanya akan memberimu file JSON tanpa jar. Berikut adalah isi sebenarnya dan apa yang harus dilakukan oleh sebuah konverter.
Ganti nama .mrpack menjadi .zip, buka, dan kamu akan menemukan hampir tidak ada apa-apa: sebuah modrinth.index.json, mungkin folder overrides/. Mod-modnya hilang. Ini bukan kerusakan — ini adalah format yang berfungsi sesuai desain.
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 mengirimkan referensi, bukan file. Itu sebabnya paket 40-mod hanya berukuran 200 KB 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 dalam manifes. Melewatkan ini adalah cara
jar yang rusak atau diganti masuk ke dalam paket.
- Tempatkan masing-masing di
path. - Salin
overrides/di atasnya — penimpaan menang, itulah tujuannya. - Kompres hasilnya.
Langkah 3 adalah yang dilewati konverter secara diam-diam. Hash yang tidak cocok berarti unduhan terpotong atau file berubah; menginstalnya tetap menghasilkan paket yang macet saat dimuat dengan kesalahan yang menunjuk ke mod yang salah.
Mengapa melakukannya sama sekali
- Peluncur yang tidak mendukung mrpack. ATLauncher, MultiMC, dan instalasi manual menginginkan
folder jar.
- Sisi server. Host server hampir tidak pernah menerima
.mrpack; mereka menginginkan
folder mod.
- Instalasi offline. Setelah dikonversi, paket tidak lagi membutuhkan CDN.
Bidang env menentukan klien versus server
Setiap file membawa:
"env": { "client": "required", "server": "unsupported" }
Paket server harus melewatkan semua yang ditandai unsupported di sisi server — sebagian besar shader, minimap, dan mod HUD. Menyalin seluruh folder mod klien ke server adalah penyebab umum crash saat startup yang menyebutkan kelas rendering.
Arah sebaliknya
Membangun .mrpack dari sebuah folder adalah kebalikannya dan memiliki satu jebakan: mod apa pun yang tidak ada di Modrinth tidak bisa menjadi entri manifes. Itu harus masuk ke overrides/mods/, yang membuat paket lebih besar tetapi tetap berfungsi. Menghilangkan mod-mod itu secara diam-diam menghasilkan paket yang terinstal dengan bersih tetapi kehilangan konten.
Konversi ke kedua arah, dengan verifikasi hash dan pembagian env ditangani, di Resource Pack Zip Tools.