Os datapacks (pacotes de dados) expandem o Minecraft com funções, receitas, conquistas ou uma nova geração de mundo, e os resourcepacks fornecem texturas e sons. Ambos dependem de um formato de dados que muda em quase todas as versões do Minecraft. Se um pack não for compatível com a versão do teu servidor ou se um ficheiro dentro dele estiver danificado, o servidor escreve uma mensagem no log. Na maioria dos casos, ignora apenas a entrada afetada; num caso, interrompe o arranque.

Cada secção abaixo trata de uma destas mensagens. Encontras a mensagem completa, com as linhas que se seguem, na Consola ou em Ficheiros, em logs/latest.log. A parte antes dos dois pontos em nomes como <pack>:<entrada> chama-se espaço de nomes e revela quase sempre de que pack ou mod vem o erro. Antes de qualquer intervenção na pasta do mundo ou em ficheiros de packs, cria uma cópia de segurança em Cópias de segurança.

„Failed to load datapacks“: o Minecraft cancela o arranque do servidor

Assim aparece a mensagem:

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: Overworld settings missing

O que está por trás: o Minecraft cancela o arranque porque não foi possível carregar os pacotes de dados ou os dados de geração do mundo necessários. O servidor permanece desligado. Na maioria dos casos, um datapack não é compatível com a versão do Minecraft ou contém um ficheiro danificado. Overworld settings missing significa que as definições do mundo principal estão em falta ou não puderam ser lidas.

Como resolver:

  1. Em Cópias de segurança, cria uma cópia de segurança.
  2. Na Consola, lê os erros anteriores e posteriores a esta mensagem. Verifica os datapacks e mods adicionados, atualizados ou removidos mais recentemente.
  3. Em Ficheiros, abre a pasta datapacks do teu mundo. Descarrega uma cópia do último pack adicionado e remove-o para teste.
  4. Reinicia. Se o servidor voltar a funcionar, utiliza uma versão do pack compatível com a versão do Minecraft.
  5. Se o mundo precisar do pack para biomas ou dimensões, restaura uma versão compatível ou o estado anterior completo a partir de uma cópia de segurança.

Bom saber: depois de uma mudança de software, os ficheiros do mundo podem estar organizados de forma diferente. Consulta o guia de migração do respetivo software; para isso, ajuda-te Mudar a versão do Minecraft e o modloader em segurança.

"Failed to load function": não é possível carregar a função do datapack

Este é o aspeto da mensagem:

Failed to load function <Pack>:<Path>
java.lang.IllegalArgumentException: Whilst parsing command on line <Line>: Incorrect argument for command at position <Position>: …
java.lang.IllegalArgumentException: Whilst parsing command on line <Line>: Can't find element '<Pack>:<Entry>' in registry 'minecraft:item_modifier' …

O que está por trás disto: os datapacks controlam processos através de funções: ficheiros de texto com a extensão .mcfunction, que contêm comandos. Um comando é desconhecido, espera outros argumentos ou remete para uma entrada de dados em falta, por exemplo uma alteração de item (item_modifier). Na maioria dos casos, o pack não é compatível com a versão do Minecraft. A função falha; o servidor continua a funcionar, mas as funções do pack que dependem dela deixam de funcionar.

Como resolver:

  1. Em „Failed to load function", lê a linha de erro: line indica a linha, position indica o ponto exato nessa linha. „Can't find element" indica a entrada em falta.
  2. Substitui o pack na pasta datapacks do teu mundo pela versão para a tua versão do Minecraft. Se faltarem entradas, verifica também os pacotes adicionais de que o pack necessita.
  3. Nos packs próprios, corrige a linha indicada em data/<Pack>/function/<Path>.mcfunction; nos packs mais antigos, a pasta chama-se functions.
  4. Reinicia ou introduz reload na Consola. No Paper e no Spigot, usa minecraft:reload, para que apenas os datapacks sejam recarregados.

Bom saber: as funções opcionais de mods precisam do respetivo mod. Ignora estes erros apenas se o autor do pack descrever expressamente estas funções adicionais como opcionais.

"Couldn't load … pack metadata": os metadados do pack não são compatíveis com a versão do Minecraft

Este é o aspeto da mensagem:

Couldn't load file/<Pack>.zip pack metadata: Pack declares support for version newer than <Number>, but is missing mandatory fields min_format and max_format
Couldn't load file/<Pack>.zip pack metadata: Multi-version packs cannot support minimum version of less than <Number>, since this will leave versions in range unable to load pack.

O que está por trás disto: o ficheiro pack.mcmeta descreve o formato e o intervalo de versões suportado de um datapack ou resourcepack. Se faltarem campos obrigatórios ou o intervalo indicado for inválido, o servidor não carrega o pack. O servidor continua a funcionar sem esse pack. Um intervalo de versões que recue demasiado também pode causar a mensagem.

Como resolver:

  1. O nome do ficheiro a seguir a file/ indica o pack. Em Versão, verifica a tua versão do Minecraft.
  2. Descarrega a versão adequada do pack e substitui o ficheiro afetado em Ficheiros. Os datapacks encontram-se na pasta datapacks do teu mundo; os resourcepacks substituis no local onde estavam. Depois reinicia.
  3. Nos packs próprios, ajusta os metadados de acordo com os requisitos da tua versão de destino: os formatos mais antigos usam pack_format, os mais recentes min_format e max_format. Para packs compatíveis com várias versões, os campos mais antigos também podem ser necessários.
  4. Verifica se o intervalo de versões indicado é válido e se a mensagem desaparece após o reinício.

Bom saber: alterar as indicações de formato não adapta automaticamente comandos nem outros conteúdos do pack.

"Couldn't load tag": o datapack remete para entradas em falta

Este é o aspeto da mensagem:

Couldn't load tag minecraft:load as it is missing following references: <Pack>:<Function> (from file/<Pack>.zip)
Couldn't load tag <Namespace>:<Tag> as it is missing following references: <Mod>:<Entry> (from <Mod>.jar)
Couldn't load tag <Namespace>:<Tag> as it is missing following references: #<Mod>:<Tag> (from mod/<Mod>)

O que está por trás disto: uma tag é uma lista com nome. minecraft:load e minecraft:tick listam funções; outras tags agrupam, por exemplo, blocos ou itens. Não foi possível carregar uma entrada necessária, porque uma função está com erros ou falta um pack ou mod. Também pode faltar outra tag: reconheces isso pelo #. A tag afetada fica então indisponível; no caso das tags de funções, os processos associados falham.

Como resolver:

  1. Resolve primeiro as mensagens „Failed to load function" do mesmo pack.
  2. Verifica a origem indicada entre parênteses. Se a entrada em falta pertencer a outro pack ou mod, instala a versão adequada do mesmo.
  3. Se faltarem entradas com minecraft: à frente, verifica também se o pack é compatível com a tua versão do Minecraft.
  4. Depois de alterações a mods, reinicia. Podes recarregar os datapacks na Consola com reload; no Paper e no Spigot, usa minecraft:reload.

Bom saber: .jar ou mod/ como origem indica um mod: Erros de mods em servidores Forge, NeoForge e Fabric.

"Couldn’t parse data file …": o ficheiro do datapack tem um formato incorreto

Este é o aspeto da mensagem:

Couldn't parse data file '<Pack>:<Entry>' from '<Pack>:recipe/<File>.json': DataResult.Error['Unknown registry key …']
Couldn't parse data file '<Pack>:<Entry>' from '<Pack>:recipe/<File>.json': DataResult.Error['List is too short: 0, expected range [1-9]']
Couldn't parse data file '<Pack>:<Entry>' from '<Pack>:recipe/<File>.json': DataResult.Error['Not a string: {"item":"minecraft:tnt"}; List must have contents']

O que está por trás disto: Os datapacks descrevem, entre outras coisas, receitas e progressos em JSON, um formato de texto para dados estruturados. Os mods também incluem ficheiros deste tipo. O ficheiro é JSON válido, mas contém campos incorretos, listas vazias ou referências a entradas desconhecidas, por exemplo um serializador de receitas que processa o formato da receita. O Minecraft ignora a entrada afetada; a receita fica em falta, mas o servidor continua a funcionar.

Como resolver:

  1. Lê depois de from qual é o ficheiro afetado; DataResult.Error[…] indica o erro.
  2. Se vier de um datapack, substitui-o em Ficheiros, na pasta datapacks do teu mundo, pela versão correspondente à tua versão do Minecraft.
  3. Se vier de um mod, verifica a versão dele e as dependências necessárias; no caso de um Modpack, atualiza o pacote inteiro.
  4. No caso de packs próprios, adapta o ficheiro ao formato da tua versão do Minecraft. A wiki do Minecraft descreve os formatos dos ficheiros.
  5. Reinicia e verifica a mensagem.

Bom saber: Not a string significa aqui: nesta posição é esperado texto em vez de um objeto.

"Couldn't parse data file": os dados do pack ou mod não são legíveis

Este é o aspeto da mensagem:

Couldn't read tag list <Namespace>:<Tag> from <File> in data pack mod/<Mod>
Couldn't parse data file '<Namespace>:<Entry>' from '<File>.json': … Failed to parse either …
java.lang.IllegalStateException: Failed to parse <Namespace>:<Entry> from pack file/<Pack>.zip

O que está por trás disto: o Minecraft não consegue ler uma entrada de dados. „Failed to parse either" significa que o seu conteúdo não corresponde a nenhuma das formas de escrita esperadas; First e Second indicam os respetivos erros. Na maioria dos casos, um mod ou datapack não é compatível com a versão do Minecraft ou o pack está danificado. Também receitas, tabelas de saque e progressos podem ser afetados. A entrada falha; no caso de listas de tags, um grupo inteiro pode ficar vazio. Isto pode afetar receitas ou a geração do mundo.

Como resolver:

  1. No erro completo, procura a origem: mod/<Mod> ou um .jar indica um mod, file/<Pack>.zip indica um datapack. O namespace é outra pista.
  2. Em Mods ou na pasta datapacks do teu mundo, verifica se as versões são compatíveis com a tua versão do Minecraft. Unknown registry key indica uma entrada de dados em falta; verifica os pacotes adicionais necessários.
  3. Guarda o estado atual, pára o servidor e atualiza o último mod ou pack adicionado.
  4. Se o erro começou depois de um novo datapack, remove-o para teste e reinicia.

Bom saber: para erros de mods, ajuda Erros de mods em servidores Forge, NeoForge e Fabric.

"Couldn’t load advancements": faltam progressos ou são inválidos

Este é o aspeto da mensagem:

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

O que está por trás disto: Os advancements são os progressos que os jogadores desbloqueiam no jogo. O Minecraft não conseguiu resolver as entradas indicadas ao carregar os datapacks, por exemplo porque remetem para algo que não existe nesta versão. Muitos datapacks e mods também usam progressos de forma invisível como gatilho, por exemplo para detetar que um jogador encontrou uma estrutura. Essas funções deixam então de funcionar, enquanto o servidor continua a correr.

Como resolver:

  1. O espaço de nomes antes dos dois pontos ajuda a encontrar o datapack ou o mod responsável. Para isso, verifica os conteúdos instalados e as linhas antes da mensagem.
  2. Atualiza esse pack ou esse mod para a versão correspondente à tua versão do Minecraft. Se não precisares dele, remove-o depois de fazeres uma cópia de segurança em Cópias de segurança.
  3. Após alterações a mods, reinicia o servidor. No caso de alterações apenas a datapacks, também podes usar reload na Consola, e em Paper e Spigot minecraft:reload.
  4. Se a mensagem continuar a aparecer, lê as linhas anteriores em logs/latest.log. Aí, o servidor indica muitas vezes que parte de uma entrada não está correta.

Bom saber: Mesmo que o espaço de nomes seja minecraft, a origem pode ser um datapack. Os packs podem criar entradas próprias sob este nome.

O predicado do datapack tem o formato errado

Assim aparece a mensagem:

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

O que está por trás: Um predicado é uma condição guardada que um datapack verifica, por exemplo se um jogador tem determinada pontuação. Os comandos e as tabelas de saque recorrem a ele. A tua versão do Minecraft espera neste ponto uma lista entre parênteses retos [ … ], mas o pack fornece um único objeto entre chavetas { … }. Por isso, o Minecraft não carrega o predicado. Tudo o que depende dele no pack comporta-se de forma errada ou não funciona. O servidor em si continua a funcionar.

Como resolver:

  1. O nome a seguir a predicates: indica o pack e o predicado.
  2. Descarrega a versão do datapack para a tua versão do Minecraft e substitui a antiga na pasta datapacks do teu mundo.
  3. No caso de packs próprios, abre data/<pack>/predicate/<name>.json (em packs mais antigos a pasta chama-se predicates) e coloca o ficheiro no formato atual, tal como descrito na wiki do Minecraft.
  4. Reinicia ou volta a carregar os datapacks.

O texto de aviso do resource pack do servidor está mal formatado

Assim aparece a mensagem:

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 $

O que está por trás: Com resource-pack-prompt em server.properties defines o texto que os jogadores veem quando o servidor lhes oferece um resource pack. O Minecraft espera aí um componente de texto em formato JSON, não uma frase simples. Se o servidor não conseguir ler o valor, omite o aviso. O servidor continua a funcionar normalmente, apenas o teu texto de aviso não aparece.

Como resolver:

  1. Em Ficheiros, abre o ficheiro server.properties na pasta principal do servidor.
  2. Escreve o valor como texto JSON, por exemplo resource-pack-prompt={"text":"<Hint>"}.
  3. Se não precisares de um aviso próprio, deixa o valor depois do sinal de igual vazio.
  4. Guarda o ficheiro e reinicia o servidor.

Bom saber: Os restantes valores do ficheiro são explicados em Configurar o server.properties do Minecraft.

O ficheiro pack.mcmeta de um pack está com erros

Assim aparece a mensagem:

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

O que está por trás: O pack.mcmeta é o ficheiro de identificação de cada pack e encontra-se na sua pasta de topo. Aqui não é um JSON válido: falta, por exemplo, uma vírgula, umas aspas ou um parêntese. Por isso, o Minecraft não consegue classificar o pack e não o carrega. O servidor continua a funcionar sem o pack.

Como resolver:

  1. O mais simples é descarregares de novo o pack a partir da página oficial e substituíres o ficheiro na pasta datapacks do teu mundo.
  2. No caso de packs próprios, abre o pack.mcmeta. Se o pack estiver num arquivo ZIP, descarrega-o, corrige o ficheiro no teu computador e volta a carregar o arquivo.
  3. Verifica o conteúdo com um validador de JSON, ou seja, uma página web ou um editor que assinale erros de sintaxe, e corrige o ponto assinalado. A mensagem indica muitas vezes a linha e a coluna.
  4. Reinicia o servidor.

Bom saber: Os erros típicos são uma vírgula a seguir à última entrada, aspas tipográficas em vez de aspas retas e um parêntese de fecho em falta.

A receita refere um item que não existe

Assim aparece a mensagem:

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

O que está por trás: Uma receita refere um item que não existe no servidor. Quase sempre falta o mod que traz esse item, ou está numa versão em que o item tem outro nome. Apenas a receita afetada é ignorada. O servidor arranca normalmente, mas essa receita não pode ser fabricada no jogo.

Como resolver:

  1. Lê o nome entre aspas. Antes dos dois pontos está o mod responsável: em horsepower:flour trata-se do mod "horsepower".
  2. Verifica em Mods se esse mod está instalado.
  3. Se estiver instalado, compara a versão dele com a que o teu modpack prevê e ajusta-a.
  4. Reinicia o servidor e verifica se a mensagem deixa de aparecer.

Bom saber: Se o mod falta de propósito, por exemplo porque o removeste do modpack, podes ignorar a mensagem. Nesse caso falta apenas essa receita. Como combinar mods e modpack, mostra-o Configurar corretamente mods e modpacks do Minecraft.

A receita usa um tipo de processamento desconhecido

Assim aparece a mensagem:

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

O que está por trás: Muitos mods trazem tipos de receita próprios, por exemplo para um moinho ou uma prensa. Aqui, uma receita usa um tipo de processamento que o servidor não conhece. O mod que o define falta ou é demasiado antigo. A receita é ignorada e o servidor continua a funcionar.

Como resolver:

  1. O nome antes dos dois pontos indica o mod responsável.
  2. Instala-o em Mods ou atualiza-o para uma versão compatível com o teu modpack.
  3. Se a receita vier de um datapack que adicionaste tu mesmo, remove aí a receita ou retira o pack inteiro da pasta datapacks do teu mundo.
  4. Reinicia o servidor.

Bom saber: Se faltar um mod por completo, a mensagem aparece muitas vezes seguidas com o mesmo nome antes dos dois pontos. Nesse caso, basta instalar esse mod. Se ele falta de propósito, faltam apenas as receitas que usam o seu tipo de processamento.

Ficheiro JSON vazio nos dados de mods ou datapacks

Este é o aspeto da mensagem:

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

O que está por trás disto: Ao carregar os dados do jogo, ou seja, receitas, tabelas de saque, tags e semelhantes, o Minecraft encontrou um ficheiro JSON vazio. «End of input at line 1 column 1» significa: o ficheiro termina antes de aparecer o primeiro carácter. Muitas vezes provém de um mod, de um datapack ou de um carregamento incompleto ou danificado. A entrada afetada é ignorada e o servidor continua a funcionar.

Como resolver:

  1. Na Consola ou em logs/latest.log, lê as linhas imediatamente antes e depois. Normalmente aí indica-se qual é o ficheiro ou o mod afetado.
  2. Se o ficheiro estiver num datapack teu, substitui-o por uma versão completa ou remove-o.
  3. Se pertencer a um mod ou a um datapack transferido, transfere-o de novo e volta a carregá-lo. Garante que o carregamento é concluído por completo.
  4. Reinicia o servidor.

Bom saber: Para muitos ficheiros ou ficheiros grandes, um programa SFTP costuma ser mais cómodo do que o carregamento pelo navegador: Editar ficheiros do servidor no painel e ligar por SFTP.

O arquivo do resource pack tem uma estrutura inválida

Este é o aspeto da mensagem:

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

O que está por trás disto: Não foi possível carregar o resource pack. Isto afeta sobretudo packs Bedrock: precisam de um ficheiro manifest.json ou pack_manifest.json que descreva o pack. O motivo mais comum é um nível de pasta adicional, em que o arquivo contém primeiro uma pasta e o ficheiro só se encontra dentro dela. Um arquivo danificado ou um formato de pack inadequado também originam esta mensagem. O pack fica então em falta, mas o servidor continua a funcionar.

Como resolver:

  1. Lê a mensagem de detalhe nas linhas em redor desta mensagem; ela indica o motivo exato.
  2. Abre o arquivo no teu computador. O manifest.json ou pack_manifest.json tem de estar diretamente no nível mais alto, não numa subpasta.
  3. Se o ficheiro estiver numa subpasta, volta a compactar o conteúdo dessa pasta num arquivo ZIP e carrega-o novamente.
  4. Se o arquivo estiver danificado, transfere o pack de novo. Um resource pack Java com pack.mcmeta em vez de manifesto não serve aqui; tem de ser recriado no formato Bedrock.
  5. Reinicia o servidor.

Bom saber: Outras mensagens do Bedrock são explicadas em Servidor Bedrock e Geyser: mensagens no registo.

O bloco Jigsaw indica um bloco de substituição desconhecido

Este é o aspeto da mensagem:

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

O que está por trás disto: Os blocos Jigsaw são blocos técnicos com os quais as estruturas são montadas a partir de peças individuais. Cada bloco Jigsaw define por que bloco será substituído depois da montagem. Aqui, esse bloco de substituição é desconhecido, normalmente devido a um erro de escrita como minecrat: em vez de minecraft:. Ao gerar, o bloco fica vazio nesse ponto. O servidor continua a funcionar, a estrutura apenas tem uma falha.

Como resolver:

  1. Anota a posição de BlockPos{…}: x, y e z.
  2. Vai para lá com permissões de OP em modo criativo, por exemplo com /tp <x> <y> <z>.
  3. Abre o bloco Jigsaw com o botão direito do rato e corrige o nome no campo do bloco de substituição (no cliente em inglês, «Turns into»).
  4. Se a estrutura vier de um datapack ou de um mod, o erro está no ficheiro de estrutura respetivo. Nesse caso, ajuda uma versão corrigida do pack ou do mod; comunica o erro ao autor.

Bom saber: A mensagem é inofensiva para o funcionamento. Afeta apenas o aspeto da estrutura nesse único ponto. Como atribuir permissões de OP está explicado em Permissões de OP e comandos no servidor de Minecraft.

A tua mensagem não está aqui?

Lê a mensagem completa na Consola ou em logs/latest.log, incluindo as linhas imediatamente anteriores; muitas vezes indicam qual o pack que estava a ser carregado. O espaço de nomes antes dos dois pontos e indicações como file/<Pack>.zip ou mod/<mod> mostram a origem. Se se seguir um stacktrace, ou seja, linhas indentadas com at …, os nomes das pastas e dos pacotes aí presentes revelam o mod ou o plugin envolvido. Antes de alterares ficheiros do mundo ou de packs, cria uma cópia de segurança em Cópias de segurança. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.