MC Toolkit

Guías / Solución de problemas

Convertir .mrpack a un zip de modpack normal — y por qué fallan los extractores

Un .mrpack es un manifiesto, no un archivo de mods. Al descomprimirlo obtienes un archivo JSON y ningún jar. Esto es lo que hay realmente dentro y lo que tiene que hacer un conversor.

Renombra un .mrpack a .zip, ábrelo y no encuentras casi nada: un modrinth.index.json, quizá una carpeta overrides/. Los mods no están. Esto no es corrupción — es el formato funcionando tal como fue diseñado.

Qué hay dentro

modrinth.index.json     the manifest: name, version, loader, and a list of downloads
overrides/              config files, resource packs, anything not on Modrinth

Cada entrada del manifiesto tiene este aspecto:

{
  "path": "mods/sodium.jar",
  "hashes": { "sha1": "…", "sha512": "…" },
  "downloads": ["https://cdn.modrinth.com/data/…/sodium.jar"],
  "fileSize": 812345
}

El paquete incluye referencias, no archivos. Por eso un pack de 40 mods es una descarga de 200 KB y por eso todo extractor genérico "falla" — no hay nada que extraer.

Qué tiene que hacer una conversión

  1. Leer modrinth.index.json.
  2. Descargar cada entrada desde su URL del CDN.
  3. Verificar cada archivo contra el sha512 del manifiesto. Saltarse esto es como un jar corrupto o sustituido acaba dentro de un pack.
  4. Colocar cada uno en su path.
  5. Copiar overrides/, y luego client-overrides/ o server-overrides/, por encima — los overrides ganan, ese es su propósito.
  6. Comprimir el resultado.

El paso 3 es el que los conversores se saltan en silencio. Un hash que no coincide significa que la descarga se truncó o que el archivo cambió; instalarlo de todos modos produce un pack que crashea al cargar con un error que apunta al mod equivocado.

Para qué hacerlo

  • Lanzadores que no entienden mrpack. ATLauncher, MultiMC y las instalaciones manuales quieren una carpeta de jars.
  • Lado servidor. Los hosts de servidores casi nunca aceptan un .mrpack; quieren la carpeta de mods.
  • Instalación sin conexión. Una vez convertido, el pack ya no necesita el CDN.

El campo env decide cliente o servidor

Cada archivo lleva:

"env": { "client": "required", "server": "unsupported" }

Un pack de servidor debe omitir todo lo marcado como unsupported en el lado del servidor — sobre todo shaders, minimapas y mods de HUD. Copiar la carpeta completa de mods de cliente a un servidor es la causa habitual de un crash al arrancar que menciona una clase de renderizado.

El camino inverso

Construir un .mrpack a partir de una carpeta es lo contrario y tiene una trampa: cualquier mod que no esté alojado en Modrinth, GitHub o GitLab no puede ser una entrada del manifiesto — y Modrinth solo acepta su propio CDN para los packs publicados. Tiene que ir en overrides/mods/, lo que hace el pack más grande pero lo mantiene funcional. Descartar esos mods en silencio produce un pack que se instala limpiamente y le falta contenido.

Convierte un .mrpack en un ZIP de cliente o servidor, con verificación de hash y la separación env gestionada, en el MRPACK to ZIP Converter.

Herramientas zip de paquetes de recursos →

Más guías

Ver todas →