MC Toolkit

Guides / Troubleshooting

An mrpack is a zip that lies about being a zip

Renaming a .mrpack to .zip gives you a manifest and overrides folder, not the mods — the jars live on Modrinth's CDN and are fetched by hash.

An .mrpack is a ZIP archive, so renaming it to .zip and extracting it works — and produces almost nothing useful. You get a modrinth.index.json, an overrides folder, and no mods at all. The jars were never inside.

Why the mods are missing

Modrinth packs store a manifest, not payload. Each entry in modrinth.index.json lists a download URL plus a SHA-1 and SHA-512 hash for the file that URL should return. The launcher reads the manifest, fetches each file, verifies the hash, and only then drops it into the instance.

That design keeps packs small and lets a pack update without re-uploading every jar. It also means a pack is useless offline until someone has resolved it once.

What the manifest actually contains

FieldMeaning
formatVersionManifest schema version
gameTarget Minecraft version and loader
filesArray of path, hashes, downloads, env
dependenciesLoader and Minecraft versions to install first

The env field on each file is the one people miss. It marks a file as client, server, or both. A mod marked client-only should not be copied into a server's mods folder at all — doing so is a common cause of a server that refuses to boot.

The hash check is not optional

If a downloaded file's SHA-1 does not match the manifest, the file is wrong: a truncated download, a CDN error page saved as a jar, or a tampered mirror. A converter that skips verification will happily pack a broken instance. Verification is the entire reason to do this locally rather than trusting a random repack.

Client versus server output

The same manifest produces two different archives depending on target:

  • Client pack — everything, plus overrides merged at the instance root, ready for a launcher that accepts a ZIP.
  • Server pack — skip env: client entries, keep env: server and unmarked ones, and drop client-only config from overrides.

Java Edition only. Bedrock has no equivalent format; Bedrock add-ons are .mcaddon/.mcpack archives with a manifest.json of a completely different shape, and no Modrinth pack resolves to them.

Overrides overwrite, they do not merge

Files under overrides/ are copied over the instance after mods are placed. A config file in overrides replaces the mod's default outright. If a pack ships a config in overrides and you also edit that config in the instance, the overrides copy wins on the next resolve.

Convert a manifest, verify every hash, and get a launcher-ready or server-ready ZIP in the MRPACK to ZIP Converter.

MRPACK to ZIP Converter →

More guides

Browse all →

Looking for more Minecraft tools?

A suite of client-side generators, viewers and converters — all free, all in your browser.