MC Toolkit

Guides / Dépannage

Convertir un .mrpack en zip de modpack normal — et pourquoi les extracteurs échouent

Un .mrpack est un manifeste, pas une archive de mods. Le dézipper ne donne qu'un fichier JSON et aucun jar. Voici ce qu'il contient réellement et ce qu'un convertisseur doit faire.

Renommez un .mrpack en .zip, ouvrez-le, et vous ne trouvez presque rien : un modrinth.index.json, peut-être un dossier overrides/. Les mods sont absents. Ce n'est pas de la corruption — c'est le format qui fonctionne comme prévu.

Ce qu'il contient

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

Chaque entrée du manifeste ressemble à ceci :

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

Le pack embarque des références, pas des fichiers. C'est pourquoi un pack de 40 mods pèse 200 Ko au téléchargement et pourquoi tout extracteur générique « échoue » — il n'y a rien à extraire.

Ce qu'une conversion doit faire

  1. Lire modrinth.index.json.
  2. Récupérer chaque entrée depuis son URL CDN.
  3. Vérifier chaque fichier par rapport au sha512 du manifeste. Sauter cette étape, c'est laisser un jar corrompu ou substitué entrer dans un pack.
  4. Placer chaque fichier à son path.
  5. Copier overrides/, puis client-overrides/ ou server-overrides/, par-dessus — les overrides gagnent, c'est leur rôle.
  6. Zipper le résultat.

L'étape 3 est celle que les convertisseurs sautent discrètement. Un hash qui ne correspond pas signifie que le téléchargement a été tronqué ou que le fichier a changé ; l'installer quand même produit un pack qui plante au chargement avec une erreur pointant vers le mauvais mod.

Pourquoi le faire

  • Les lanceurs qui ne gèrent pas le mrpack. ATLauncher, MultiMC et les installations manuelles veulent un dossier de jars.
  • Côté serveur. Les hébergeurs de serveurs n'acceptent presque jamais un .mrpack ; ils veulent le dossier mods.
  • Installation hors ligne. Une fois converti, le pack n'a plus besoin du CDN.

Le champ env détermine client ou serveur

Chaque fichier porte :

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

Un pack serveur doit ignorer tout ce qui est marqué unsupported côté serveur — surtout les shaders, les minimaps et les mods de HUD. Copier l'intégralité du dossier de mods client sur un serveur est la cause habituelle d'un plantage au démarrage qui mentionne une classe de rendu.

Dans l'autre sens

Construire un .mrpack à partir d'un dossier est l'opération inverse et comporte un piège : tout mod non hébergé sur Modrinth, GitHub ou GitLab ne peut pas être une entrée de manifeste — et Modrinth lui-même n'accepte que son propre CDN pour les packs publiés. Il doit aller dans overrides/mods/, ce qui rend le pack plus lourd mais le garde fonctionnel. Laisser tomber ces mods en silence produit un pack qui s'installe proprement et auquel il manque du contenu.

Convertissez un .mrpack en ZIP client ou serveur, avec vérification des hash et gestion de la répartition env, dans le Convertisseur MRPACK vers ZIP.

Outils zip pour packs de ressources →

Plus de guides

Tout voir →