Một tệp .mrpack hầu như không chứa bất kỳ mod nào bên trong

Tệp này là một tệp ZIP, nhưng các tệp jar không nằm bên trong. Nó chứa một manifest gồm các URL tải xuống kèm mã băm SHA-512, đó là lý do tại sao một gói 40 KB có thể cài đặt bốn trăm megabyte — và tại sao nó thất bại khi ngoại tuyến.
Đổi tên bất kỳ .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.
Bên trong thực sự có gì
| Mục | Bắt buộc | Nội dung |
|---|---|---|
modrinth.index.json | Có | Manifest: mọi tệp, đường dẫn, kích thước, mã băm và URL tải xuống |
overrides/ | Không | Các tệp thực tế được sao chép nguyên trạng — config, script, gói tài nguyên |
client-overrides/, server-overrides/ | Không | Cùng ý tưởng, chỉ áp dụng cho phía đó |
Manifest chứa một 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.
Tại sao nó được xây dựng theo cách này
Tái phân phối. Tác giả gói mod hầu như không bao giờ có quyền lưu trữ lại mọi mod trong danh sách, nhưng họ luôn có thể trỏ tới tệp của chính tác giả đó. Phân phối URL thay vì tệp jar giúp gói mod hợp pháp để chia sẻ và đủ nhỏ để gửi qua tin nhắn.
Mã băm là nửa còn lại. Một URL có thể bắt đầu phân phối thứ khác vào ngày mai; SHA-512 thì không. Trình khởi chạy xác minh mã băm sau khi tải xuống sẽ kiểm tra xem tệp nhận được có khớp từng byte với tệp mà tác giả gói mod đã thử nghiệm hay không.
Ba trường hợp có thể phát sinh lỗi
- Không có mạng, không có gói mod. Một
.mrpackis an installer, not an archive. Offline it produces a folder of configs and nothing else. - URL chết là lỗi nghiêm trọng, không thể bỏ qua. Nếu một mod bị gỡ khỏi danh sách, mục đó vẫn trả về 404 và quá trình cài đặt dừng lại ở tệp được đánh dấu bắt buộc.
- Các tệp chỉ dành cho máy chủ và chỉ dành cho máy khách. Sao chép một bản cài máy khách đã giải nén
lên máy chủ và bạn sẽ mang theo các mod phía máy khách từ chối tải —
envflags exist precisely to keep those apart.
Chuyển thành một thư mục thông thường
Chuyển đổi nghĩa là làm những gì trình khởi chạy làm: đọc manifest, tải từng tệp về vị trí đã
khai báo 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.
Hai chi tiết cần lưu ý khi bạn làm thủ công. Hãy tuân thủ 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.