An mrpack là một file zip nói dối rằng nó là zip
Đổi tên .mrpack thành .zip sẽ cho bạn một manifest và thư mục overrides, không phải các mod — các file jar nằm trên CDN của Modrinth và được tải về theo hash.
Một .mrpack là một tệp ZIP, nên đổi tên nó thành .zip rồi giải nén vẫn hoạt động — và cho ra gần như chẳng có gì hữu ích. Bạn nhận được một modrinth.index.json, một thư mục overrides, và không có mod nào cả. Các file jar chưa bao giờ nằm trong đó.
Vì sao các mod bị thiếu
Các pack Modrinth lưu một manifest, không phải dữ liệu thực. Mỗi mục trong modrinth.index.json liệt kê một URL tải xuống kèm hash SHA-1 và SHA-512 cho tệp mà URL đó phải trả về. Trình khởi chạy đọc manifest, tải từng tệp, xác minh hash, rồi mới thả nó vào instance.
Thiết kế đó giữ cho pack nhỏ gọn và cho phép cập nhật pack mà không cần tải lại từng file jar. Nó cũng có nghĩa là một pack vô dụng khi ngoại tuyến cho đến khi ai đó đã phân giải nó một lần.
Manifest thực sự chứa gì
| Trường | Ý nghĩa |
|---|---|
formatVersion | Phiên bản schema của manifest |
game | Luôn là "minecraft" — các phiên bản nằm trong dependencies |
files | Mảng gồm path, hashes, downloads, env |
dependencies | Loader và phiên bản Minecraft cần cài trước |
Trường env trên mỗi tệp là thứ mọi người hay bỏ qua. Nó nói rõ, riêng cho client và server, liệu tệp là required, optional hay unsupported — và một tệp không có env là bắt buộc trên cả hai. Một mod được đánh dấu chỉ dành cho client thì không nên được sao chép vào thư mục mods của server chút nào — làm vậy là nguyên nhân phổ biến khiến server từ chối khởi động.
Kiểm tra hash không phải là tùy chọn
Nếu SHA-1 của một tệp đã tải không khớp với manifest, tệp đó sai: tải xuống bị cắt ngắn, một trang lỗi CDN được lưu thành jar, hoặc một mirror bị can thiệp. Một công cụ chuyển đổi bỏ qua bước xác minh sẽ vui vẻ đóng gói một instance hỏng. Xác minh chính là toàn bộ lý do để làm việc này cục bộ thay vì tin vào một bản repack ngẫu nhiên.
Đầu ra cho client so với server
Cùng một manifest tạo ra hai tệp lưu trữ khác nhau tùy theo đích:
- Pack client — mọi thứ, cộng với
overridesđược hợp nhất tại gốc instance, sẵn sàng cho trình khởi chạy chấp nhận ZIP. - Pack server — bỏ qua các mục có
env.serverlàunsupported, giữ phần còn lại, và xếpserver-overrides/lên trênoverrides/thay vìclient-overrides/.
Chỉ dành cho Java Edition. Bedrock không có định dạng tương đương; add-on của Bedrock là các tệp lưu trữ .mcaddon/.mcpack với manifest.json có hình dạng hoàn toàn khác, và không có pack Modrinth nào phân giải thành chúng.
Overrides ghi đè, chúng không hợp nhất
Các tệp nằm dưới overrides/ được sao chép đè lên instance sau khi mod được đặt vào. Một tệp cấu hình trong overrides thay thế hoàn toàn mặc định của mod. Nếu một pack cung cấp cấu hình trong overrides và bạn cũng chỉnh sửa cấu hình đó trong instance, bản sao trong overrides sẽ thắng ở lần phân giải tiếp theo.
Hãy chuyển đổi một manifest, xác minh mọi hash, và nhận một ZIP sẵn sàng cho trình khởi chạy hoặc server tại Trình chuyển đổi MRPACK sang ZIP.