The Best Resource for Minecraft
The Best Resource for Minecraft

Bir .mrpack kendi modlarının neredeyse hiçbirini içermez

Bir .mrpack kendi modlarının neredeyse hiçbirini içermez

Dosya bir ZIP dosyasıdır, ancak jar'lar içinde değildir. SHA-512 karmaları içeren indirme URL'lerinden oluşan bir manifest sunar; 40 KB boyutundaki bir paketin dört yüz megabayt yükleyebilmesinin — ve çevrimdışıyken başarısız olmasının — nedeni budur.

Herhangi birini yeniden adlandır .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.

İçinde gerçekte ne var

GirdiGerekliİçerik
modrinth.index.jsonEvetManifest: her dosya, dosya yolu, boyutu, karmaları ve indirme URL'leri
overrides/HayırOlduğu gibi kopyalanan gerçek dosyalar — yapılandırmalar, komut dosyaları, kaynak paketleri
client-overrides/, server-overrides/Hayır Aynı fikir, yalnızca o tarafa uygulanır

Manifest şunu taşır: 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.

Neden bu şekilde inşa edildi

Yeniden dağıtım. Bir paket yazarı listedeki her modu yeniden barındırma iznine neredeyse hiçbir zaman sahip değildir, ancak her zaman yazarın kendi dosyasına bağlantı verebilir. jar dosyaları yerine URL'ler göndermek paketin paylaşılmasını yasal kılar ve sohbet üzerinden gönderilebilecek kadar küçük tutar.

Karmalar diğer yarıdır. Bir URL yarın farklı bir şey sunmaya başlayabilir; ama bir SHA-512 başlayamaz. İndirdikten sonra karmayı doğrulayan bir başlatıcı, aldığı dosyanın paket yazarının test ettiği dosya ile bayt baytına aynı olduğunu denetler.

İşlerin ters gitmesinin üç yolu

  • Ağ yok, paket yok. Bir .mrpack is an installer, not an archive. Offline it produces a folder of configs and nothing else.
  • Ölü bir URL ölümcüldür, atlanamaz. Bir mod listeden kaldırılırsa, girdi hâlâ bir 404 ile sonuçlanır ve yükleme gerekli olarak işaretlenmiş bir dosyada durur.
  • Yalnızca sunucu ve yalnızca istemci dosyaları. Paketten çıkarılmış bir istemci örneğini bir sunucuya kopyalarsanız yüklenmeyi reddedecek istemci tarafı modları da getirmiş olursunuz — env flags exist precisely to keep those apart.

Bunu düz bir klasöre dönüştürme

Dönüştürmek, bir başlatıcının yaptığını yapmak anlamına gelir: manifesti oku, her dosyayı belirtilen 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.

Elle yaparken iki ayrıntıya dikkat etmeye değer. Şuna uyun: 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.