Les datapacks (packs de données) ajoutent à Minecraft des fonctions, des recettes, des progrès ou une nouvelle génération de monde, tandis que les resourcepacks fournissent des textures et des sons. Les deux reposent sur un format de données qui change avec presque chaque version de Minecraft. Si un pack ne correspond pas à la version de ton serveur ou si un fichier qu'il contient est endommagé, le serveur écrit un message dans le log. Le plus souvent, il ignore simplement l'entrée concernée ; dans un cas, il interrompt le démarrage.

Chaque section ci-dessous traite l'un de ces messages. Tu trouveras le message complet, avec les lignes qui suivent, dans la Console ou sous Fichiers dans logs/latest.log. La partie avant les deux-points dans des noms comme <pack>:<entrée> s'appelle l'espace de noms et indique presque toujours de quel pack ou mod provient l'erreur. Avant toute intervention dans le dossier du monde ou dans les fichiers d'un pack, crée une sauvegarde sous Sauvegardes.

Le serveur ne démarre pas : un datapack ne peut pas être chargé

Voici à quoi ressemble le message :

Failed to load datapacks, can't proceed with server load. You can either fix your datapacks or reset to vanilla with --safeMode
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: <Raison>

Ce qui se cache derrière : Minecraft interrompt le démarrage, car au moins un datapack n'a pas pu être chargé. Le serveur reste éteint tant que ce problème n'est pas résolu. Le plus souvent, le pack est conçu pour une version de Minecraft plus ancienne ou plus récente, ou un fichier qu'il contient est corrompu. La ligne du dessous indique la raison ; Overworld settings missing désigne par exemple un pack qui modifie la génération du monde.

Voici comment le corriger :

  1. Crée une sauvegarde sous Sauvegardes.
  2. Sous Fichiers, ouvre le dossier du monde (par défaut world), puis le dossier datapacks qu'il contient.
  3. Supprime le pack ajouté en dernier. Si tu veux le conserver, télécharge-le d'abord.
  4. Redémarre le serveur. Une fois qu'il fonctionne de nouveau, réinstalle le pack dans une version adaptée à ta version de Minecraft.
  5. Si tu ne sais pas quel pack est en cause, retire les packs un par un et redémarre à chaque fois.

Bon à savoir : Tu n'as pas besoin du paramètre de démarrage --safeMode mentionné dans le message. Si tu supprimes un pack qui modifie la génération du monde, les nouveaux chunks seront de nouveau créés selon les règles normales ; à la limite avec les anciens chunks, on voit souvent une arête. Après un changement de version, Changer de version de Minecraft et de modloader en toute sécurité peut t'aider.

Une fonction de datapack contient une commande inconnue

Voici à quoi ressemble le message :

Failed to load function <pack>:<chemin>
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 4: Unknown or incomplete command, see below for error at position 0: <--[HERE]

Ce qui se cache derrière : Les datapacks pilotent leurs processus via des fonctions : des fichiers texte avec l'extension .mcfunction, qui contiennent des commandes. Dans l'un de ces fichiers se trouve une commande que ta version de Minecraft ne connaît pas ou attend sous une autre forme ; le plus souvent, le pack est conçu pour une autre version. Seule cette fonction échoue, le serveur continue de tourner ; les parties du pack qui en dépendent ne fonctionnent pas.

Voici comment le corriger :

  1. Lis la première ligne : avant les deux-points se trouve l'espace de noms du pack, après lui le chemin de la fonction. line 4 indique la ligne, position 0 l'emplacement dans celle-ci ; à 0, c'est déjà le nom de la commande qui est inconnu.
  2. Remplace le pack dans le dossier datapacks de ton monde par la version adaptée à ta version de Minecraft.
  3. Pour tes propres packs, ouvre data/<pack>/function/<chemin>.mcfunction (dans les anciens packs, le dossier s'appelle functions) et corrige la ligne indiquée.
  4. Redémarre le serveur ou saisis reload dans la Console. Sur Paper et Spigot, reload recharge tous les plugins ; utilises-y minecraft:reload.

Bon à savoir : Certains packs contiennent des fonctions pour des mods optionnels, dont les commandes sont inconnues sans le mod. Si le message ne concerne que de telles parties supplémentaires, tu peux l'ignorer.

Le pack est conçu pour une autre version de Minecraft

Voici à quoi ressemble le message :

Couldn't load file/<Pack>.zip pack metadata: Pack declares support for version newer than <Nombre>, but is missing mandatory fields min_format and max_format
Couldn't load file/<Pack>.zip pack metadata: Pack declares support for format <Nombre>, but game versions supporting formats …

Ce qui se cache derrière : Chaque datapack et resourcepack possède dans son dossier racine le fichier pack.mcmeta. Il y indique, sous forme de nombre, le format de pack pour lequel il a été conçu, et chaque version de Minecraft ne prend en charge que certains formats. Si un pack déclare être conçu pour des formats plus récents, le serveur exige en plus les champs min_format et max_format. S'ils manquent ou si le nombre ne correspond pas, le serveur ne charge pas le pack. Il continue de tourner, simplement sans ce pack.

Voici comment le corriger :

  1. Le nom de fichier après file/ indique quel pack est concerné.
  2. Vérifie sous Version quelle version de Minecraft ton serveur utilise.
  3. Sur la page du pack, télécharge la version correspondant exactement à cette version, remplace avec elle l'ancien fichier dans le dossier datapacks de ton monde et redémarre.
  4. Pour tes propres packs, indique dans pack.mcmeta le pack_format correspondant à ta version et, pour les versions plus récentes, aussi min_format et max_format. Le wiki Minecraft donne les nombres pour chaque version.

Bon à savoir : Les indications de version dans le nom du fichier indiquent seulement pour quoi l'auteur a prévu le pack. Ce qui compte, c'est ce qui figure dans pack.mcmeta.

Un tag de datapack renvoie à des entrées manquantes

Voici à quoi ressemble le message :

Couldn't load tag minecraft:load as it is missing following references: <pack>:tick (from file/<Pack>.zip)
Couldn't load tag <espace-de-noms>:<tag> as it is missing following references: <mod>:<entrée> (from <mod>.jar)

Ce qui se cache derrière : Un tag est une liste nommée. minecraft:load et minecraft:tick listent des fonctions exécutées au chargement ou en continu ; d'autres tags regroupent des blocs, des objets ou des créatures. Ici, un tag mentionne des entrées qui n'ont pas pu être chargées. Le plus souvent, la fonction concernée contient elle-même une erreur, ou un autre pack ou un mod est manquant. Entre parenthèses figure l'origine du tag. Minecraft ignore alors le tag entier, y compris pour les autres packs qui l'utilisent ; avec minecraft:load ou minecraft:tick, leurs processus ne démarrent pas.

Voici comment le corriger :

  1. Corrige d'abord les messages « Failed to load function » du même pack. Souvent, ce message disparaît alors aussi.
  2. Si l'entrée manquante appartient à un autre pack ou à un mod, installe-le dans la version adaptée à ta version de Minecraft.
  3. Si même des entrées précédées de minecraft: manquent, le pack est presque toujours conçu pour une autre version. Remplace-le par la version adaptée.
  4. Redémarre ou recharge les datapacks (reload, sur Paper et Spigot minecraft:reload).

Bon à savoir : Si un fichier .jar figure entre parenthèses, le tag provient d'un mod : Erreurs de mods sur les serveurs Forge, NeoForge et Fabric.

Une recette ou un autre fichier de datapack ne correspond pas au format de données

Voici à quoi ressemble le message :

Couldn't parse data file '<pack>:<nom>' from '<pack>:recipe/<nom>.json': DataResult.Error['List is too short: 0, expected range [1-9]']

Ce qui se cache derrière : Les datapacks décrivent les recettes, les progrès (advancements), les prédicats et les tables de butin (loot tables) dans des fichiers JSON. Le JSON est un format texte composé d'accolades, de noms de champs et de valeurs. Le fichier mentionné est certes un JSON valide, mais il utilise des champs ou des références que ta version de Minecraft ne connaît pas. Minecraft ignore cette seule entrée. Une recette concernée ne peut alors pas être fabriquée, le serveur continue de tourner normalement.

Voici comment le corriger :

  1. La partie après from indique le pack et le fichier, le texte dans DataResult.Error[…] indique ce qui ne convient pas. List is too short: 0 signifie par exemple : une liste est vide alors que des entrées sont attendues.
  2. Télécharge la version du datapack adaptée à ta version de Minecraft et remplace l'ancienne dans le dossier datapacks de ton monde.
  3. Pour tes propres packs, adapte le fichier au format actuel. Le wiki Minecraft décrit la structure de chaque type de fichier.
  4. Redémarre le serveur.

Bon à savoir : Not a string: {"item":"minecraft:tnt"} signifie que le fichier utilise un ancien format de recette. Cette version n'attend à cet endroit que le nom sous forme de texte, donc "minecraft:tnt".

Une entrée d'un datapack ou d'un mod est illisible

Voici à quoi ressemble le message :

Couldn't read tag list <espace-de-noms>:<tag> from <espace-de-noms>:tags/block/<tag>.json in data pack mod/<mod>
java.lang.IllegalStateException: Failed to parse either. First: Not a string: null; Second: Not a JSON object: null

Ce qui se cache derrière : Pour certaines entrées, Minecraft accepte deux écritures. « Failed to parse either » signifie : le contenu ne correspond à aucune des deux ; après First et Second figure la raison de l'échec de chacune. Le plus souvent, l'entrée provient d'un mod conçu pour une autre version de Minecraft, ou d'un datapack corrompu. Le groupe concerné, par exemple une liste de blocs ou d'objets, reste vide. Cela peut perturber les recettes ou la génération du monde.

Voici comment le corriger :

  1. Trouve l'origine : in data pack mod/<mod> désigne un mod, file/<Pack>.zip un datapack. L'espace de noms avant les deux-points aide aussi.
  2. Vérifie sous Mods ou dans le dossier datapacks de ton monde que tous les mods et datapacks correspondent à ta version de Minecraft.
  3. Mets à jour le dernier mod ou le dernier pack ajouté.
  4. Si le message est apparu directement après l'installation d'un datapack, retire-le pour tester et redémarre.

Bon à savoir : Si le message concerne un mod, les sections de l'article Erreurs de mods sur les serveurs Forge, NeoForge et Fabric t'aideront.

Progrès (Advancements) d'un datapack manquants

Voici à quoi ressemble le message :

Couldn't load advancements: [<pack>:<progress>, <pack>:<progress>]

Ce qui se cache derrière : les advancements sont les progrès que les joueurs débloquent en jeu. Minecraft n'a pas pu résoudre les entrées indiquées lors du chargement des datapacks, par exemple parce qu'elles font référence à quelque chose qui n'existe pas dans cette version. De nombreux datapacks et mods utilisent aussi les progrès de façon invisible comme déclencheurs, par exemple pour détecter qu'un joueur a trouvé une structure. Ces fonctions ne marchent alors plus. Le serveur continue de tourner.

Voici comment le corriger :

  1. L'espace de noms avant les deux-points indique quel datapack ou quel mod fournit les progrès.
  2. Mets à jour ce pack ou ce mod avec la version correspondant à ta version de Minecraft. Si tu n'en as pas besoin, supprime-le.
  3. Redémarre le serveur ou recharge les datapacks (reload, sur Paper et Spigot minecraft:reload).
  4. Si le message est toujours là ensuite, lis les lignes qui le précèdent dans logs/latest.log. Le serveur y indique souvent quelle partie d'une entrée pose problème.

Bon à savoir : même si l'espace de noms est minecraft, l'expéditeur peut être un datapack. Les packs peuvent créer leurs propres entrées sous ce nom.

Le prédicat du datapack a un format incorrect

Voici à quoi ressemble le message :

Couldn't parse element predicates:<pack>:<name> - Not a json array: {"condition":"minecraft:any_of","terms":[…]}

Ce qui se cache derrière : un prédicat est une condition enregistrée qu'un datapack vérifie, par exemple si un joueur a un certain score. Les commandes et les tables de butin y font appel. Ta version de Minecraft attend ici une liste entre crochets [ … ], mais le pack fournit un objet unique entre accolades { … }. Minecraft ne charge donc pas le prédicat. Tout ce qui dépend de lui dans le pack se comporte mal ou pas du tout. Le serveur lui-même continue de tourner.

Voici comment le corriger :

  1. Le nom après predicates: indique le pack et le prédicat.
  2. Télécharge la version du datapack correspondant à ta version de Minecraft et remplace l'ancienne dans le dossier datapacks de ton monde.
  3. Pour tes propres packs, ouvre data/<pack>/predicate/<name>.json (dans les anciens packs, le dossier s'appelle predicates) et mets le fichier au format actuel, comme le décrit le wiki Minecraft.
  4. Redémarre ou recharge les datapacks.

Le texte d'invite du pack de ressources du serveur est mal formaté

Voici à quoi ressemble le message :

Failed to parse resource pack prompt '<Hint>'
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setStrictness(Strictness.LENIENT) to accept malformed JSON at line 1 column 1 path $

Ce qui se cache derrière : avec resource-pack-prompt dans server.properties, tu définis le texte que voient les joueurs lorsque le serveur leur propose un pack de ressources. Minecraft attend ici un composant de texte au format JSON, pas une simple phrase. Si le serveur ne peut pas lire la valeur, il omet l'invite. Le serveur continue de tourner normalement, seul ton texte d'invite personnalisé n'apparaît pas.

Voici comment le corriger :

  1. Dans Fichiers, ouvre le fichier server.properties dans le dossier principal du serveur.
  2. Écris la valeur sous forme de texte JSON, par exemple resource-pack-prompt={"text":"<Hint>"}.
  3. Si tu n'as pas besoin d'invite personnalisée, laisse la valeur vide après le signe égal.
  4. Enregistre le fichier et redémarre le serveur.

Bon à savoir : les autres valeurs du fichier sont expliquées dans Configurer le fichier server.properties de Minecraft.

Le fichier pack.mcmeta d'un pack est défectueux

Voici à quoi ressemble le message :

Couldn't load file/<Pack>.zip pack metadata: com.google.gson.stream.MalformedJsonException: <Details>

Ce qui se cache derrière : pack.mcmeta est la fiche d'identité de chaque pack et se trouve dans son dossier racine. Ici, ce n'est pas du JSON valide : il manque par exemple une virgule, un guillemet ou une accolade. Minecraft ne peut donc pas identifier le pack et ne le charge pas. Le serveur continue de tourner sans le pack.

Voici comment le corriger :

  1. Le plus simple est de retélécharger le pack depuis sa page officielle et de remplacer le fichier dans le dossier datapacks de ton monde.
  2. Pour tes propres packs, ouvre pack.mcmeta. Si le pack est une archive ZIP, télécharge-la, corrige le fichier sur ton ordinateur et renvoie l'archive.
  3. Vérifie le contenu avec un validateur JSON, c'est-à-dire un site web ou un éditeur qui signale les erreurs de syntaxe, et corrige l'endroit signalé. Le message indique souvent la ligne et la colonne.
  4. Redémarre le serveur.

Bon à savoir : les erreurs typiques sont une virgule après la dernière entrée, des guillemets typographiques au lieu de guillemets droits et une accolade fermante manquante.

Une recette mentionne un objet qui n'existe pas

Voici à quoi ressemble le message :

Expected item to be an item, was unknown string '<mod>:<item>'

Ce qui se cache derrière : une recette mentionne un objet qui n'existe pas sur le serveur. Presque toujours, il manque le mod qui apporte cet objet, ou il est présent dans une version où l'objet porte un autre nom. Seule la recette concernée est ignorée. Le serveur démarre normalement, mais cette recette précise ne peut pas être fabriquée en jeu.

Voici comment le corriger :

  1. Lis le nom entre guillemets. Avant les deux-points se trouve le mod concerné : pour horsepower:flour, il s'agit du mod « horsepower ».
  2. Vérifie dans Mods si ce mod est installé.
  3. S'il est installé, compare sa version avec celle prévue par ton modpack et aligne-la.
  4. Redémarre le serveur et vérifie si le message disparaît.

Bon à savoir : si le mod manque volontairement, par exemple parce que tu l'as retiré du modpack, tu peux ignorer le message. Seule cette recette sera alors absente. Pour savoir comment les mods et le modpack s'accordent, consulte Configurer correctement les mods et modpacks Minecraft.

Une recette utilise un type de traitement inconnu

Voici à quoi ressemble le message :

com.google.gson.JsonSyntaxException: Unknown recipe '<mod>:<recipe-type>'

Ce qui se cache derrière : de nombreux mods apportent leurs propres types de recettes, par exemple pour un moulin ou une presse. Ici, une recette utilise un type de traitement que le serveur ne connaît pas. Le mod qui le définit est absent ou trop ancien. La recette est ignorée, le serveur continue de tourner.

Voici comment le corriger :

  1. Le nom avant les deux-points indique le mod concerné.
  2. Installe-le dans Mods ou mets-le à jour vers une version compatible avec ton modpack.
  3. Si la recette provient d'un datapack que tu as ajouté toi-même, supprime la recette dans ce pack ou retire tout le pack du dossier datapacks de ton monde.
  4. Redémarre le serveur.

Bon à savoir : si un mod manque complètement, le message apparaît souvent de nombreuses fois d'affilée avec le même nom avant les deux-points. Il suffit alors d'installer ce seul mod. S'il manque volontairement, seules les recettes qui utilisent son type de traitement sont absentes.

Fichier JSON vide dans les données d'un mod ou d'un datapack

Voici à quoi ressemble le message :

com.google.gson.JsonParseException: java.io.EOFException: End of input at line 1 column 1 path $

Ce qui se cache derrière : Lors du chargement des données du jeu, c'est-à-dire les recettes, les tables de butin, les tags et autres, Minecraft a trouvé un fichier JSON vide. « End of input at line 1 column 1 » signifie que le fichier se termine avant le premier caractère. Il provient souvent d'un mod, d'un datapack ou d'un envoi incomplet ou corrompu. L'entrée concernée est ignorée, le serveur continue de tourner.

Voici comment le corriger :

  1. Dans la Console ou dans logs/latest.log, lis les lignes juste avant et juste après. Elles indiquent généralement quel fichier ou quel mod est concerné.
  2. Si le fichier se trouve dans un datapack que tu as créé toi-même, remplace-le par une version complète ou supprime-le.
  3. S'il appartient à un mod ou à un datapack téléchargé, télécharge-le à nouveau et renvoie-le sur le serveur. Veille à ce que l'envoi se termine complètement.
  4. Redémarre le serveur.

Bon à savoir : Pour de nombreux fichiers ou des fichiers volumineux, un programme SFTP est souvent plus pratique que l'envoi via le navigateur : Modifier les fichiers du serveur dans le panel et se connecter via SFTP.

L'archive du pack de ressources a une structure invalide

Voici à quoi ressemble le message :

<Pack> does not contain a valid pack_manifest.json or manifest.json
The resource pack <Pack> is invalid and failed to load

Ce qui se cache derrière : Le pack de ressources n'a pas pu être chargé. Cela concerne surtout les packs Bedrock : ils nécessitent un fichier manifest.json ou pack_manifest.json qui décrit le pack. La cause la plus fréquente est un niveau de dossier supplémentaire : dans l'archive, un dossier se trouve d'abord à la racine et le fichier n'est qu'à l'intérieur. Une archive corrompue ou un format de pack inadapté provoquent aussi ce message. Le pack est alors absent, le serveur continue de tourner.

Voici comment le corriger :

  1. Lis le message détaillé dans les lignes autour de ce message ; il indique la raison exacte.
  2. Ouvre l'archive sur ton ordinateur. manifest.json ou pack_manifest.json doit se trouver directement au niveau le plus haut, pas dans un sous-dossier.
  3. Si le fichier se trouve dans un sous-dossier, recompresse le contenu de ce dossier en archive ZIP et renvoie-la sur le serveur.
  4. Si l'archive est corrompue, télécharge à nouveau le pack. Un pack de ressources Java avec pack.mcmeta au lieu d'un manifeste ne convient pas ici ; il doit être recréé au format Bedrock.
  5. Redémarre le serveur.

Bon à savoir : D'autres messages Bedrock sont expliqués dans Serveur Bedrock et Geyser : messages dans le log.

Un bloc Jigsaw indique un bloc de remplacement inconnu

Voici à quoi ressemble le message :

Failed to parse jigsaw replacement state '<Block>' at BlockPos{x=<x>, y=<y>, z=<z>}

Ce qui se cache derrière : Les blocs Jigsaw sont des blocs techniques qui permettent d'assembler des structures à partir de plusieurs éléments. Chaque bloc Jigsaw définit par quel bloc il est remplacé après l'assemblage. Ici, ce bloc de remplacement est inconnu, le plus souvent à cause d'une faute de frappe comme minecrat: au lieu de minecraft:. Lors de la génération, le bloc reste vide à cet endroit. Le serveur continue de tourner, la structure a simplement un trou.

Voici comment le corriger :

  1. Note la position indiquée dans BlockPos{…} : x, y et z.
  2. Rends-toi à cet endroit en mode créatif avec les droits OP, par exemple avec /tp <x> <y> <z>.
  3. Ouvre le bloc Jigsaw par un clic droit et corrige le nom dans le champ du bloc de remplacement (dans le client en anglais « Turns into »).
  4. Si la structure provient d'un datapack ou d'un mod, l'erreur se trouve dans son fichier de structure. Dans ce cas, une version corrigée du pack ou du mod est nécessaire ; signale l'erreur à son auteur.

Bon à savoir : Le message est sans danger pour le fonctionnement. Il n'affecte que l'apparence de la structure à cet endroit précis. Pour savoir comment attribuer les droits OP, consulte Droits OP et commandes sur le serveur Minecraft.

Ton message n'y figure pas ?

Lis le message en entier dans la Console ou dans logs/latest.log, y compris les lignes juste avant : on y voit souvent quel pack était en cours de chargement. L'espace de noms avant les deux-points et des indications comme file/<Pack>.zip ou mod/<mod> révèlent l'origine du message. Si une stacktrace suit, c'est-à-dire des lignes indentées avec at …, les noms de dossiers et de paquets qu'elle contient indiquent le mod ou le plugin concerné. Avant de modifier des fichiers du monde ou d'un pack, crée une sauvegarde sous Sauvegardes. Si tu es bloqué, ouvre un ticket et indique l'heure du message.