Los datapacks (paquetes de datos) amplían Minecraft con funciones, recetas, logros o una nueva generación de mundo, y los resourcepacks aportan texturas y sonidos. Ambos dependen de un formato de datos que cambia con casi cada versión de Minecraft. Si un pack no encaja con la versión de tu servidor o un archivo dentro de él está dañado, el servidor escribe un mensaje en el log. Normalmente solo omite la entrada afectada, pero en un caso cancela el inicio.

Cada apartado de abajo trata uno de estos mensajes. Encontrarás el mensaje completo, junto con las líneas siguientes, en la Consola o en Archivos dentro de logs/latest.log. La parte anterior a los dos puntos en nombres como <pack>:<entrada> se llama espacio de nombres y casi siempre revela de qué pack o mod procede el error. Antes de tocar la carpeta del mundo o los archivos de un pack, crea una copia en Copias de seguridad.

El servidor no arranca: no se puede cargar un datapack

Así se ve el mensaje:

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: <Motivo>

Qué significa: Minecraft cancela el arranque porque no se ha podido cargar al menos un datapack. El servidor permanece apagado hasta que se solucione. Normalmente el pack está hecho para una versión de Minecraft más antigua o más nueva, o un archivo dentro de él está dañado. La línea de debajo indica el motivo; Overworld settings missing, por ejemplo, apunta a un pack que modifica la generación del mundo.

Cómo solucionarlo:

  1. Crea una copia de seguridad en Copias de seguridad.
  2. En Archivos, abre la carpeta del mundo (por defecto world) y dentro de ella la carpeta datapacks.
  3. Elimina el último pack que añadiste. Si quieres conservarlo, descárgalo antes.
  4. Reinicia el servidor. Cuando vuelva a funcionar, vuelve a instalar el pack en una versión adecuada para tu versión de Minecraft.
  5. Si no sabes qué pack tiene la culpa, saca los packs uno por uno y reinicia cada vez.

Bueno saber: No necesitas el parámetro de inicio --safeMode que aparece en el mensaje. Si eliminas un pack que cambia la generación del mundo, los chunks nuevos se generarán de nuevo con las reglas normales; en el límite con los chunks antiguos suele verse un borde. Tras un cambio de versión te ayuda Cambiar de forma segura la versión de Minecraft y el cargador de mods.

Una función del datapack contiene un comando desconocido

Así se ve el mensaje:

Failed to load function <pack>:<ruta>
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]

Qué significa: Los datapacks controlan sus procesos mediante funciones: archivos de texto con la extensión .mcfunction que contienen comandos. En uno de estos archivos hay un comando que tu versión de Minecraft no conoce o espera de otra forma; normalmente el pack está hecho para otra versión. Solo falla esa función y el servidor sigue funcionando; las partes del pack que la necesitan no funcionarán.

Cómo solucionarlo:

  1. Lee la primera línea: antes de los dos puntos está el espacio de nombres del pack y después la ruta de la función. line 4 indica la línea y position 0 la posición dentro de ella; con 0, ya el nombre del comando es desconocido.
  2. Sustituye el pack en la carpeta datapacks de tu mundo por la versión para tu versión de Minecraft.
  3. En el caso de packs propios, abre data/<pack>/function/<ruta>.mcfunction (en packs antiguos la carpeta se llama functions) y corrige la línea indicada.
  4. Reinicia el servidor o escribe reload en la Consola. En Paper y Spigot, reload recarga todos los plugins; allí usa minecraft:reload.

Bueno saber: Algunos packs incluyen funciones para mods opcionales, cuyos comandos son desconocidos sin el mod. Si el mensaje solo afecta a estas partes adicionales, puedes ignorarlo.

El pack está hecho para otra versión de Minecraft

Así se ve el mensaje:

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

Qué significa: Cada datapack y resourcepack tiene en su carpeta principal el archivo pack.mcmeta. En él figura, como número, el formato de pack para el que fue creado, y cada versión de Minecraft solo admite determinados formatos. Si un pack indica estar creado para formatos más recientes, el servidor exige además los campos min_format y max_format. Si faltan o el número no coincide, el servidor no carga el pack. Sigue funcionando, solo que sin ese pack.

Cómo solucionarlo:

  1. El nombre de archivo que aparece tras file/ indica qué pack está afectado.
  2. Comprueba en Versión qué versión de Minecraft tiene tu servidor.
  3. Descarga de la página del pack la versión para exactamente esa versión, sustituye con ella el archivo antiguo en la carpeta datapacks de tu mundo y reinicia.
  4. En el caso de packs propios, introduce en pack.mcmeta el pack_format que corresponda a tu versión y, en versiones más recientes, además min_format y max_format. Los números de cada versión los indica la wiki de Minecraft.

Bueno saber: Las indicaciones de versión en el nombre del archivo solo dicen para qué pensó el autor el pack. Lo decisivo es lo que figura en pack.mcmeta.

La etiqueta del datapack hace referencia a entradas que faltan

Así se ve el mensaje:

Couldn't load tag minecraft:load as it is missing following references: <pack>:tick (from file/<Pack>.zip)
Couldn't load tag <espacio-de-nombres>:<etiqueta> as it is missing following references: <mod>:<entrada> (from <mod>.jar)

Qué significa: Una etiqueta (tag) es una lista con nombre. minecraft:load y minecraft:tick enumeran funciones que se ejecutan al cargar o de forma continua; otras etiquetas agrupan bloques, objetos o criaturas. Aquí una etiqueta menciona entradas que no se han podido cargar. Normalmente la función correspondiente tiene un error, o falta otro pack o un mod. Entre paréntesis se indica de dónde procede la etiqueta. Minecraft descarta entonces la etiqueta completa, también para otros packs que la usan; con minecraft:load o minecraft:tick, sus procesos no se inician.

Cómo solucionarlo:

  1. Soluciona primero los mensajes «Failed to load function» del mismo pack. A menudo este mensaje desaparece también.
  2. Si la entrada que falta pertenece a otro pack o mod, instálalo en la versión para tu versión de Minecraft.
  3. Si faltan incluso entradas con minecraft: delante, el pack casi siempre está hecho para otra versión. Sustitúyelo por la versión adecuada.
  4. Reinicia o recarga los datapacks (reload, en Paper y Spigot minecraft:reload).

Bueno saber: Si entre paréntesis aparece un archivo .jar, la etiqueta procede de un mod: Errores de mods en servidores Forge, NeoForge y Fabric.

Una receta u otro archivo del datapack no coincide con el formato de datos

Así se ve el mensaje:

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

Qué significa: Los datapacks describen recetas, logros (advancements), predicados y tablas de botín (loot tables) en archivos JSON. JSON es un formato de texto compuesto por llaves, nombres de campo y valores. El archivo indicado es JSON válido, pero usa campos o referencias que tu versión de Minecraft no conoce. Minecraft omite esa entrada. Una receta afectada no se puede fabricar, y el servidor sigue funcionando con normalidad.

Cómo solucionarlo:

  1. La parte tras from muestra el pack y el archivo; el texto en DataResult.Error[…] dice qué no encaja. List is too short: 0 significa, por ejemplo: una lista está vacía aunque se esperan entradas.
  2. Descarga la versión del datapack para tu versión de Minecraft y sustituye la antigua en la carpeta datapacks de tu mundo.
  3. En el caso de packs propios, adapta el archivo al formato actual. La wiki de Minecraft describe cómo se estructura cada tipo de archivo.
  4. Reinicia el servidor.

Bueno saber: Not a string: {"item":"minecraft:tnt"} significa que el archivo usa un formato de receta más antiguo. Esta versión espera en ese lugar solo el nombre como texto, es decir, "minecraft:tnt".

Una entrada de un datapack o mod no se puede leer

Así se ve el mensaje:

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

Qué significa: Para algunas entradas, Minecraft acepta dos formas de escritura. «Failed to parse either» significa: el contenido no encaja con ninguna de las dos; tras First y Second se indica en qué falló cada una. Normalmente la entrada procede de un mod creado para otra versión de Minecraft o de un datapack dañado. El grupo afectado, por ejemplo una lista de bloques u objetos, queda vacío. Esto puede afectar a las recetas o a la generación del mundo.

Cómo solucionarlo:

  1. Averigua el origen: in data pack mod/<mod> indica un mod, file/<Pack>.zip un datapack. El espacio de nombres antes de los dos puntos también ayuda.
  2. Comprueba en Mods o en la carpeta datapacks de tu mundo si todos los mods y datapacks son compatibles con tu versión de Minecraft.
  3. Actualiza el último mod o pack que añadiste.
  4. Si el mensaje apareció justo después de instalar un datapack, quítalo como prueba y reinicia.

Bueno saber: Si el mensaje afecta a un mod, te ayudan los apartados del artículo Errores de mods en servidores Forge, NeoForge y Fabric.

Faltan logros (advancements) de un datapack

Así se ve el mensaje:

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

Qué hay detrás: Los advancements son los logros que los jugadores desbloquean en el juego. Minecraft no pudo resolver las entradas indicadas al cargar los datapacks, por ejemplo porque hacen referencia a algo que no existe en esta versión. Muchos datapacks y mods también usan los logros de forma invisible como desencadenantes, por ejemplo para detectar que un jugador ha encontrado una estructura. Esas funciones dejan de funcionar. El servidor sigue funcionando.

Cómo solucionarlo:

  1. El espacio de nombres antes de los dos puntos indica qué datapack o qué mod aporta los logros.
  2. Actualiza ese pack o ese mod a la versión para tu versión de Minecraft. Si no lo necesitas, elimínalo.
  3. Reinicia el servidor o recarga los datapacks (reload, en Paper y Spigot minecraft:reload).
  4. Si el mensaje sigue apareciendo después, lee las líneas anteriores en logs/latest.log. Ahí el servidor suele indicar qué parte de una entrada no encaja.

Bueno saber: Aunque el espacio de nombres sea minecraft, el origen puede ser un datapack. Los packs pueden crear entradas propias bajo ese nombre.

El predicado del datapack tiene un formato incorrecto

Así se ve el mensaje:

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

Qué hay detrás: Un predicado es una condición guardada que comprueba un datapack, por ejemplo si un jugador tiene una determinada puntuación. Los comandos y las tablas de botín recurren a ella. Tu versión de Minecraft espera aquí una lista entre corchetes [ … ], pero el pack entrega un único objeto entre llaves { … }. Por eso Minecraft no carga el predicado. Todo lo del pack que dependa de él se comporta mal o no funciona. El servidor en sí sigue funcionando.

Cómo solucionarlo:

  1. El nombre tras predicates: indica el pack y el predicado.
  2. Descarga la versión del datapack para tu versión de Minecraft y sustituye la antigua en la carpeta datapacks de tu mundo.
  3. En packs propios, abre data/<pack>/predicate/<name>.json (en packs antiguos la carpeta se llama predicates) y adapta el archivo al formato actual, tal como lo describe la wiki de Minecraft.
  4. Reinicia o recarga los datapacks.

El texto de aviso del resource pack del servidor tiene un formato incorrecto

Así se ve el mensaje:

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 $

Qué hay detrás: Con resource-pack-prompt en server.properties defines el texto que ven los jugadores cuando el servidor les ofrece un resource pack. Minecraft espera ahí un componente de texto en formato JSON, no una frase sencilla. Si el servidor no puede leer el valor, omite el aviso. El servidor sigue funcionando con normalidad, solo que tu texto de aviso no aparece.

Cómo solucionarlo:

  1. En Archivos, abre el archivo server.properties en la carpeta principal del servidor.
  2. Escribe el valor como texto JSON, por ejemplo resource-pack-prompt={"text":"<Hint>"}.
  3. Si no necesitas un aviso propio, deja vacío el valor tras el signo igual.
  4. Guarda el archivo y reinicia el servidor.

Bueno saber: Los demás valores del archivo se explican en Configurar server.properties de Minecraft.

El archivo pack.mcmeta de un pack es defectuoso

Así se ve el mensaje:

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

Qué hay detrás: pack.mcmeta es el archivo de identificación de cada pack y se encuentra en su carpeta principal. Aquí no es un JSON válido: falta, por ejemplo, una coma, unas comillas o un paréntesis o llave. Por eso Minecraft no puede identificar el pack y no lo carga. El servidor sigue funcionando sin el pack.

Cómo solucionarlo:

  1. Lo más sencillo es volver a descargar el pack desde su página oficial y sustituir el archivo en la carpeta datapacks de tu mundo.
  2. En packs propios, abre pack.mcmeta. Si el pack está como archivo ZIP, descárgalo, corrige el archivo en tu ordenador y vuelve a subir el archivo comprimido.
  3. Comprueba el contenido con un validador de JSON, es decir, una página web o un editor que marque los errores de sintaxis, y corrige el punto marcado. El mensaje suele indicar la línea y la columna.
  4. Reinicia el servidor.

Bueno saber: Los errores típicos son una coma después de la última entrada, comillas tipográficas en lugar de comillas rectas y una llave de cierre que falta.

Una receta menciona un objeto que no existe

Así se ve el mensaje:

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

Qué hay detrás: Una receta menciona un objeto que no existe en el servidor. Casi siempre falta el mod que aporta ese objeto, o está en una versión en la que el objeto tiene otro nombre. Solo se omite la receta afectada. El servidor se inicia con normalidad, pero esa receta concreta no se puede fabricar en el juego.

Cómo solucionarlo:

  1. Lee el nombre entre comillas. Antes de los dos puntos aparece el mod responsable: en horsepower:flour es el mod «horsepower».
  2. Comprueba en Mods si ese mod está instalado.
  3. Si está instalado, compara su versión con la que prevé tu modpack y ajústala.
  4. Reinicia el servidor y comprueba si el mensaje deja de aparecer.

Bueno saber: Si el mod falta a propósito, por ejemplo porque lo quitaste del modpack, puedes ignorar el mensaje. Entonces solo falta esa receta. Cómo encajan los mods y el modpack se muestra en Configurar correctamente mods y modpacks de Minecraft.

Una receta usa un tipo de procesamiento desconocido

Así se ve el mensaje:

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

Qué hay detrás: Muchos mods incluyen sus propios tipos de receta, por ejemplo para un molino o una prensa. Aquí una receta usa un tipo de procesamiento que el servidor no conoce. El mod que lo define falta o es demasiado antiguo. La receta se omite y el servidor sigue funcionando.

Cómo solucionarlo:

  1. El nombre antes de los dos puntos indica el mod responsable.
  2. Instálalo en Mods o actualízalo a una versión que encaje con tu modpack.
  3. Si la receta procede de un datapack que añadiste tú mismo, elimina la receta de ahí o quita todo el pack de la carpeta datapacks de tu mundo.
  4. Reinicia el servidor.

Bueno saber: Si falta un mod por completo, el mensaje suele aparecer muchas veces seguidas con el mismo nombre antes de los dos puntos. Entonces basta con instalar ese único mod. Si falta a propósito, solo faltan las recetas que usan su tipo de procesamiento.

Archivo JSON vacío en los datos de mods o datapacks

Así se ve el mensaje:

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

Qué hay detrás: Al cargar los datos del juego, es decir, recetas, tablas de botín, tags y similares, Minecraft ha encontrado un archivo JSON vacío. «End of input at line 1 column 1» significa: el archivo termina antes de que aparezca el primer carácter. Con frecuencia proviene de un mod, de un datapack o de una subida incompleta o dañada. La entrada afectada se omite y el servidor sigue funcionando.

Así lo solucionas:

  1. Lee en la Consola o en logs/latest.log las líneas inmediatamente anteriores y posteriores. Normalmente ahí se indica qué archivo o qué mod está afectado.
  2. Si el archivo está en un datapack propio, sustitúyelo por una versión completa o elimínalo.
  3. Si pertenece a un mod o a un datapack descargado, vuelve a descargarlo y a subirlo. Asegúrate de que la subida se complete por completo.
  4. Reinicia el servidor.

Bueno saber: Para muchos archivos o archivos grandes, un programa SFTP suele ser más cómodo que la subida desde el navegador: Editar archivos del servidor en el panel y conectarse por SFTP.

El archivo del paquete de recursos tiene una estructura no válida

Así se ve el mensaje:

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

Qué hay detrás: No se pudo cargar el paquete de recursos. Suele afectar a los packs de Bedrock: necesitan un archivo manifest.json o pack_manifest.json que describa el pack. El motivo más habitual es un nivel de carpeta adicional, en el que dentro del archivo comprimido hay primero una carpeta y el archivo está dentro de ella. También un archivo dañado o un formato de pack inadecuado provocan este mensaje. El pack no se carga, pero el servidor sigue funcionando.

Así lo solucionas:

  1. Lee el mensaje detallado en las líneas alrededor de este mensaje; indica el motivo exacto.
  2. Abre el archivo comprimido en tu ordenador. manifest.json o pack_manifest.json debe estar directamente en el nivel superior, no en una subcarpeta.
  3. Si el archivo está en una subcarpeta, vuelve a empaquetar el contenido de esa carpeta como archivo ZIP y súbelo de nuevo.
  4. Si el archivo comprimido está dañado, vuelve a descargar el pack. Un paquete de recursos de Java con pack.mcmeta en lugar de manifiesto no sirve aquí; hay que recrearlo en formato Bedrock.
  5. Reinicia el servidor.

Bueno saber: Otros mensajes de Bedrock se explican en Servidor Bedrock y Geyser: mensajes en el log.

El bloque Jigsaw indica un bloque de sustitución desconocido

Así se ve el mensaje:

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

Qué hay detrás: Los bloques Jigsaw son bloques técnicos con los que se montan estructuras a partir de piezas individuales. Cada bloque Jigsaw define por qué bloque se sustituye tras el montaje. Aquí ese bloque de sustitución es desconocido, normalmente por una errata como minecrat: en lugar de minecraft:. Al generar, el bloque queda vacío en ese punto. El servidor sigue funcionando, la estructura solo tiene un hueco.

Así lo solucionas:

  1. Anota la posición de BlockPos{…}: x, y y z.
  2. Ve allí con permisos de OP en modo creativo, por ejemplo con /tp <x> <y> <z>.
  3. Abre el bloque Jigsaw con clic derecho y corrige el nombre en el campo del bloque de sustitución (en el cliente en inglés «Turns into»).
  4. Si la estructura proviene de un datapack o de un mod, el error está en su archivo de estructura. Entonces ayuda una versión corregida del pack o del mod; informa del error al autor.

Bueno saber: El mensaje es inofensivo para el funcionamiento. Solo afecta al aspecto de la estructura en ese punto concreto. Cómo asignar permisos de OP se explica en Permisos de OP y comandos en el servidor de Minecraft.

¿Tu mensaje no aparece aquí?

Lee el mensaje completo en la Consola o en logs/latest.log, también las líneas justo anteriores; a menudo ahí se indica qué pack se estaba cargando. El espacio de nombres antes de los dos puntos y datos como file/<Pack>.zip o mod/<mod> muestran el origen. Si sigue un stacktrace, es decir, líneas con sangría que empiezan por at …, los nombres de carpetas y paquetes que contiene revelan el mod o el plugin implicado. Antes de modificar archivos del mundo o de un pack, crea una copia en Copias de seguridad. Si no avanzas, abre un ticket e indica la hora del mensaje.