Un mrpack es un zip que miente sobre ser un zip
Cambiar el nombre de un .mrpack a .zip te da un manifiesto y una carpeta overrides, no los mods: los jars viven en el CDN de Modrinth y se obtienen por hash.
Un .mrpack es un archivo ZIP, así que renombrarlo a .zip y extraerlo funciona, y no produce casi nada útil. Obtienes un modrinth.index.json, una carpeta overrides y ningún mod. Los jars nunca estuvieron dentro.
Por qué faltan los mods
Los paquetes de Modrinth almacenan un manifiesto, no la carga útil. Cada entrada en modrinth.index.json indica una URL de descarga junto con un hash SHA-1 y SHA-512 del archivo que esa URL debería devolver. El lanzador lee el manifiesto, obtiene cada archivo, verifica el hash y solo entonces lo coloca en la instancia.
Ese diseño mantiene los paquetes pequeños y permite actualizar un paquete sin volver a subir cada jar. También significa que un paquete es inútil sin conexión hasta que alguien lo haya resuelto una vez.
Qué contiene realmente el manifiesto
| Campo | Significado |
|---|---|
formatVersion | Versión del esquema del manifiesto |
game | Siempre "minecraft": las versiones viven en dependencies |
files | Array de path, hashes, downloads, env |
dependencies | Versiones del cargador y de Minecraft que se instalan primero |
El campo env de cada archivo es el que la gente pasa por alto. Indica, por separado para client y server, si el archivo es required, optional o unsupported, y un archivo sin env es obligatorio en ambos. Un mod marcado como solo cliente no debería copiarse en la carpeta mods de un servidor: hacerlo es una causa común de que un servidor se niegue a arrancar.
La verificación de hash no es opcional
Si el SHA-1 de un archivo descargado no coincide con el manifiesto, el archivo es incorrecto: una descarga truncada, una página de error de un CDN guardada como jar o un espejo manipulado. Un conversor que se salta la verificación empaquetará tan tranquilo una instancia rota. La verificación es la razón principal para hacer esto localmente en lugar de confiar en un reempaquetado cualquiera.
Salida de cliente frente a servidor
El mismo manifiesto produce dos archivos distintos según el destino:
- Paquete de cliente: todo, más
overridesfusionado en la raíz de la instancia, listo para un lanzador que acepte un ZIP. - Paquete de servidor: omite las entradas cuyo
env.serverseaunsupported, conserva el resto y superponeserver-overrides/sobreoverrides/en lugar declient-overrides/.
Solo Java Edition. Bedrock no tiene un formato equivalente; los add-ons de Bedrock son archivos .mcaddon/.mcpack con un manifest.json de una forma completamente distinta, y ningún paquete de Modrinth se resuelve a ellos.
Los overrides sobrescriben, no fusionan
Los archivos bajo overrides/ se copian sobre la instancia después de colocar los mods. Un archivo de configuración en overrides reemplaza por completo el predeterminado del mod. Si un paquete incluye una configuración en overrides y además editas esa configuración en la instancia, la copia de overrides gana en la siguiente resolución.
Convierte un manifiesto, verifica cada hash y obtén un ZIP listo para el lanzador o para el servidor en el Conversor de MRPACK a ZIP.