.mrpack แทบไม่มีมอดของตัวเองอยู่ข้างในเลย

ไฟล์นี้เป็น ZIP แต่ไฟล์ jar ไม่ได้อยู่ข้างใน มันมาพร้อม manifest ของ download URLs พร้อมค่า SHA-512 hash ซึ่งเป็นเหตุผลว่าทำไมแพ็กขนาด 40 KB สามารถติดตั้งไฟล์ขนาดสี่ร้อยเมกะไบต์ได้ — และทำไมถึงล้มเหลวเมื่อออฟไลน์
เปลี่ยนชื่อรายการใดก็ได้ .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 | ใช่ | manifest: ทุกไฟล์, path ขนาด, แฮช และ URL ดาวน์โหลด |
overrides/ | ไม่ | ไฟล์จริงที่คัดลอกมาตามเดิม — config, สคริปต์, resource pack |
client-overrides/, server-overrides/ | ไม่ | แนวคิดเดียวกัน แต่ใช้เฉพาะกับฝั่งนั้น |
manifest มีข้อมูล 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 ทำไม่ได้ launcher ที่ตรวจสอบแฮชหลังดาวน์โหลดจะตรวจว่า ไฟล์ที่ได้รับตรงกับไฟล์ที่ผู้สร้างแพ็กทดสอบไว้แบบไบต์ต่อไบต์
3 สิ่งที่อาจเกิดข้อผิดพลาด
- ไม่มีเน็ต ไม่มีแพ็ก หนึ่ง
.mrpackis an installer, not an archive. Offline it produces a folder of configs and nothing else. - URL ที่ใช้งานไม่ได้ถือเป็นข้อผิดพลาดร้ายแรงและไม่สามารถข้ามได้ หากมอดถูกถอดออก รายการนั้น จะยังคงกลายเป็น 404 และการติดตั้งจะหยุดลงที่ไฟล์ที่ระบุว่าจำเป็น
- ไฟล์เฉพาะฝั่งเซิร์ฟเวอร์และเฉพาะฝั่งไคลเอนต์ คัดลอก client instance ที่แตกไฟล์แล้ว
ไปยังเซิร์ฟเวอร์ แล้วคุณจะนำมอดฝั่ง client ที่ไม่ยอมโหลดไปด้วย —
envflags exist precisely to keep those apart.
การแปลงเป็นโฟลเดอร์ธรรมดา
การแปลงหมายถึงการทำสิ่งที่ launcher ทำ: อ่าน manifest, ดึงไฟล์ทุกไฟล์ไปยัง
ที่ระบุไว้ 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.