एक .mrpack में लगभग कोई भी अपना mod नहीं होता है

फ़ाइल एक ZIP है, लेकिन jar फ़ाइलें इसके अंदर नहीं हैं। यह SHA-512 हैश के साथ डाउनलोड URL का एक मैनिफ़ेस्ट प्रदान करता है, यही कारण है कि एक 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 | हाँ | मैनिफ़ेस्ट: प्रत्येक फ़ाइल, उसका पथ, आकार, हैश और डाउनलोड URL |
overrides/ | नहीं | यथावत कॉपी की गई असली फ़ाइलें — configs, scripts, resource packs |
client-overrides/, server-overrides/ | नहीं | वही विचार, केवल उस पक्ष पर लागू |
मैनिफ़ेस्ट में होता है एक 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.
इसे इस तरह क्यों बनाया गया है
पुनर्वितरण। एक पैक निर्माता के पास सूची के प्रत्येक mod को फिर से होस्ट करने की अनुमति लगभग कभी नहीं होती, लेकिन वे हमेशा लेखक की अपनी फ़ाइल की ओर इंगित कर सकते हैं। jar फ़ाइलों के बजाय URL भेजना पैक को साझा करने के लिए वैध रखता है और इसे इतना छोटा रखता है कि चैट पर भेजा जा सके।
हैश दूसरा हिस्सा हैं। एक URL कल कुछ अलग सर्व करना शुरू कर सकता है; एक SHA-512 नहीं। एक लॉन्चर जो डाउनलोड के बाद हैश की पुष्टि करता है, वह जाँचता है कि प्राप्त फ़ाइल बाइट-दर-बाइट वही फ़ाइल है जिसका पैक निर्माता ने परीक्षण किया था।
तीन तरीके जिनसे यह गलत हो जाता है
- कोई नेटवर्क नहीं, कोई पैक नहीं। एक
.mrpackis an installer, not an archive. Offline it produces a folder of configs and nothing else. - एक निष्क्रिय URL घातक है, छोड़ा नहीं जा सकता। यदि कोई mod हटा दिया जाता है, तो प्रविष्टि फिर भी 404 पर जाती है और इंस्टॉल आवश्यक चिह्नित फ़ाइल पर रुक जाता है।
- केवल-सर्वर और केवल-क्लाइंट फ़ाइलें। एक अनपैक किए गए क्लाइंट इंस्टेंस को सर्वर पर कॉपी करें
और आप ऐसे क्लाइंट-साइड mods लाते हैं जो लोड होने से मना कर देंगे —
envflags exist precisely to keep those apart.
एक को सामान्य फ़ोल्डर में बदलना
कन्वर्ट करने का अर्थ है वही करना जो एक लॉन्चर करता है: मैनिफ़ेस्ट पढ़ें, प्रत्येक फ़ाइल को उसके
घोषित 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.