Os plugins guardam normalmente as suas definições em ficheiros YAML na pasta plugins/<Plugin>/. O YAML é um formato de texto que constrói a sua estrutura através da indentação com espaços. Basta um tabulador ou umas aspas em falta para um plugin deixar de conseguir ler um ficheiro. Cada secção abaixo trata de uma mensagem. Se chegaste aqui através de "Saber mais" na Saúde do servidor, já estás no sítio certo.

Podes encontrar o texto completo na Consola ou em Ficheiros, em logs/latest.log. Quase sempre indica o ficheiro e, muitas vezes, também a linha e a coluna. A seguir surge com frequência um stacktrace, uma lista de linhas at indentadas que mostra em que ponto do programa o erro ocorreu. Antes de qualquer alteração a ficheiros de configuração ou de mundo, cria uma cópia de segurança em Cópias de segurança. O melhor é editares os ficheiros com o servidor parado, pois alguns plugins sobrescrevem a configuração ao encerrar.

Erro de sintaxe YAML num ficheiro de plugin

Este é o aspeto da mensagem:

Cannot load plugins/<Plugin>/<File>.yml
Cannot load configuration from stream
org.bukkit.configuration.InvalidConfigurationException: while parsing a block mapping

O que está por trás disto: O plugin não consegue ler a sua configuração YAML. O YAML é um formato de texto cuja estrutura depende da indentação. while parsing a block mapping e expected <block end> indicam uma estrutura incorreta; sequence entries are not allowed here indica um item de lista no sítio errado. Consoante o plugin, faltam algumas definições ou o plugin inteiro.

Como resolver:

  1. Em Ficheiros, abre o ficheiro indicado. Se aparecer Cannot load configuration from stream, procura nas linhas de registo à volta o plugin e a respetiva configuração, em vez de presumires um nome de ficheiro.
  2. Verifica a linha indicada e as entradas anteriores. line e column indicam a linha e a coluna; a causa pode estar mais acima.
  3. Substitui os tabuladores na indentação por espaços. Entradas do mesmo nível têm de ter a mesma indentação. Numa lista sob uma chave, cada entrada iniciada por - fica numa linha própria.
  4. Coloca entre aspas os valores de texto que começam com carateres especiais, como &, { ou um backtick, e fecha corretamente todas as aspas. Remove as delimitações Markdown de três backticks que tenham sido copiadas por engano.
  5. Verifica o ficheiro corrigido com um validador de YAML e reinicia. Remove os valores secretos antes de enviares o ficheiro para um verificador online.

Item ou local guardado num ficheiro de plugin não é legível

Este é o aspeto da mensagem:

[org.bukkit.configuration.serialization.ConfigurationSerialization] Could not call method 'public static org.bukkit.Location org.bukkit.Location.deserialize(java.util.Map)' of class org.bukkit.Location for deserialization
java.lang.IllegalArgumentException: unknown world

O que está por trás: Os plugins guardam objetos (kits, artigos de lojas, itens de menus) e locais (homes, warps, pontos de spawn) como blocos de dados nos seus ficheiros YAML. Um item guardado numa versão mais antiga do Minecraft por vezes já não pode ser lido pelo formato de itens atual ("Could not deserialize found primitive"). Se abaixo da mensagem aparecer Location e unknown world, um local guardado aponta para um mundo que já não existe ou que ainda não estava carregado no momento da leitura. O servidor continua a funcionar, apenas faltam estas entradas.

Como resolver:

  1. Encontra o plugin afetado. As linhas imediatamente antes e depois da mensagem costumam indicar o plugin ou o seu ficheiro.
  2. Cria uma cópia de segurança, abre o ficheiro em Ficheiros e remove ou renova as entradas de itens afetadas.
  3. Depois, volta a criar os itens no jogo, por exemplo o kit ou o artigo da loja.
  4. Em caso de unknown world: elimina o local ou define-o novamente com os comandos do plugin. Se o mundo ainda existir, garante que está carregado.
  5. Reinicia o servidor e verifica a Consola.

Bom saber: Se eliminaste ou renomeaste um mundo, as homes e warps antigas apontam para o vazio. A mensagem só desaparece quando essas entradas forem removidas.

DeluxeMenus: dois menus usam o mesmo comando

Este é o aspeto da mensagem:

[DeluxeMenus] open_command specified for menu: <Menu> already exists for another menu!
Skipping menu: <Menu>

O que está por trás: No DeluxeMenus, cada menu pode ter um comando próprio com o qual os jogadores o abrem. Está no ficheiro do menu em open_command. Se dois ficheiros de menu tiverem o mesmo comando, o DeluxeMenus ignora o segundo menu e este fica inacessível no jogo. A linha "Skipping menu" indica o menu ignorado. Todos os outros menus e o servidor continuam a funcionar normalmente. Causa mais comum: um ficheiro de menu foi copiado como modelo e o comando não foi alterado.

Como resolver:

  1. Abre em Ficheiros a pasta plugins/DeluxeMenus/gui_menus.
  2. Procura o ficheiro do menu ignorado e o ficheiro que usa o mesmo open_command.
  3. Atribui ao menu ignorado um comando próprio que ainda esteja livre.
  4. Guarda e recarrega o DeluxeMenus com /dm reload, no jogo com barra, na Consola sem barra.
  5. Abre o menu, a título de teste, com o novo comando.

Bom saber: Se um menu só for aberto a partir de outro menu, normalmente não precisa de um comando próprio. Nesse caso, também podes omitir o open_command aí.

„Failed to autoload world …“: o Multiverse não carrega um mundo

Assim aparece a mensagem:

[Multiverse-Core] Failed to autoload world '<Mundo>': Failure{reason=WORLD_FOLDER_INVALID}
[Multiverse-Core] Failed to import world <Mundo>: Failure{reason=WORLD_FOLDER_INVALID}
[Multiverse-Core] Failed to autoload world '<Mundo>': Failure{reason=BUKKIT_NAMESPACED_KEY_MISMATCH}: Namespace mismatch detected! …

O que está por trás: o Multiverse-Core gere os mundos em plugins/Multiverse-Core/worlds.yml; se não existir uma pasta de mundo válida, não consegue carregar o mundo. No caso de BUKKIT_NAMESPACED_KEY_MISMATCH, o mundo já está carregado, mas com um identificador interno diferente do esperado pelo Multiverse. Também mundos Nether/End registados em duplicado ou mundos importados mas não carregados (WORLD_EXIST_UNLOADED) causam problemas de carregamento; o servidor e os outros mundos continuam a funcionar.

Como resolver:

  1. No caso de WORLD_FOLDER_INVALID, verifica em Ficheiros se a pasta do mundo está completa e se corresponde à estrutura de pastas do software do teu servidor. Restaura os dados em falta a partir de uma cópia de segurança.
  2. Se o mundo já não existir, remove a entrada obsoleta com /mv remove <Mundo>.
  3. Se existir, mas não estiver carregado, utiliza /mv load <Mundo>.
  4. No caso de BUKKIT_NAMESPACED_KEY_MISMATCH, compara os dois identificadores na mensagem. Acerta a atribuição do Multiverse seguindo o guia para a versão do teu servidor.
  5. Não registes o Nether e o End adicionalmente se o servidor os carregar através de server.properties ou bukkit.yml, respetivamente.
  6. Reinicia e verifica a Consola.

Bom saber: substitui indicações antigas sobre o Chunkster por uma restauração a partir de cópias de segurança; consulta Dados do mundo danificados, desatualizados ou impossíveis de guardar.

DeluxeMenus: o ficheiro de menu é inválido

Este é o aspeto da mensagem:

[DeluxeMenus] Detected invalid configuration in file: <Menu>.yml
org.bukkit.configuration.InvalidConfigurationException: while scanning a simple key
 in 'reader', line <Line>, column <Column>:

O que está por trás: O DeluxeMenus não consegue processar o ficheiro de menu indicado e não carrega esse menu. Os jogadores não veem nenhuma interface ao usar o comando correspondente, todos os outros menus continuam a funcionar. O motivo exato é indicado nas linhas imediatamente abaixo da mensagem, normalmente um erro de YAML com linha e coluna. Típico é a falta de um espaço depois dos dois pontos, ou seja, hide_attributes:true em vez de hide_attributes: true.

Como resolver:

  1. Lê as linhas abaixo da mensagem e anota a linha e a coluna.
  2. Abre o ficheiro de menu em Ficheiros, normalmente na pasta plugins/DeluxeMenus/gui_menus.
  3. Corrige o local: um espaço depois de cada dois pontos, apenas espaços para indentar, textos com & ou # entre aspas.
  4. Se não houver nenhum erro de YAML, verifica as opções com o guia do DeluxeMenus, por exemplo nomes de materiais ou a escrita das condições.
  5. Recarrega com /dm reload e abre o menu para testar.

Bom saber: Um # depois de um espaço inicia um comentário em YAML. Sem aspas, falta então o resto da linha, por exemplo nas cores hexadecimais.

„FileNotFoundException“: ficheiro do plugin em falta ou impossível de criar

Este é o aspeto da mensagem:

java.io.FileNotFoundException: plugins/DigitalClockRemastered/terrainbackups/<Ficheiro> (No such file or directory)
java.io.FileNotFoundException: plugins/AuctionHouse/auctions.dat (No such file or directory)
java.io.FileNotFoundException: plugins/MagicSpells/spellbooks/<Ficheiro> (No such file or directory)

O que está por trás disto: Um plugin não consegue ler ou criar um ficheiro necessário em plugins/. A causa pode ser um ficheiro eliminado ou uma subpasta em falta ou renomeada; no primeiro arranque, alguns ficheiros de dados ainda não existem. FileOutputStream ou FileWriter na pilha de chamadas abaixo do erro indicam uma tentativa de escrita, que também falha se a pasta superior não existir. Consoante o plugin, o ficheiro é criado mais tarde, uma função parcial deixa de funcionar ou o plugin desativa-se.

Como resolver:

  1. Reinicia o servidor uma vez e verifica se a mensagem volta a aparecer.
  2. Em Ficheiros, verifica o caminho completo, incluindo as subpastas. Os nomes têm de corresponder à mensagem, incluindo maiúsculas e minúsculas.
  3. Se continuarem a faltar pastas de dados ou ficheiros, para o servidor e restaura-os a partir de uma cópia em Cópias de segurança.
  4. Se isto não ajudar, faz uma cópia de segurança da pasta do plugin e reinstala o plugin de acordo com as respetivas instruções.

Bom saber: Um ficheiro recém-criado começa com dados vazios ou valores predefinidos. Podes recuperar dados de jogadores perdidos a partir de uma cópia de segurança adequada.

O gerador de mundo definido não está instalado

Este é o aspeto da mensagem:

Could not set generator for default world '<World>': Plugin '<Plugin>' does not exist

O que está por trás: Um gerador de mundo é o programa que cria paisagem nova. No bukkit.yml ou na configuração do mundo está indicado, para o mundo, um gerador de um plugin, mas esse plugin não está instalado ou não foi carregado. O servidor cria então novas áreas com o gerador normal. As zonas já exploradas mantêm-se como estão, mas nos limites a paisagem pode continuar de forma pouco coerente.

Como resolver:

  1. Em Ficheiros, abre o bukkit.yml e procura a secção worlds:. Por baixo do nome do mundo encontras generator: <Plugin>.
  2. Se quiseres manter o gerador, instala o plugin indicado em Plugins, numa versão compatível.
  3. Se já não precisares dele, remove a entrada generator.
  4. Reinicia o servidor e verifica na Consola se a mensagem desapareceu.

Bom saber: O nome a seguir a generator: tem de corresponder exatamente ao nome do plugin. Um erro de digitação provoca a mesma mensagem, mesmo que o plugin esteja instalado.

A configuração é mais recente do que o plugin ou o software do servidor

Este é o aspeto da mensagem:

Warning: This command deletes or removes game content. Create a backup first and check the command’s target.

[Configurations] Loading a newer configuration than is supported (<FileVersion> > <supported version>)! You may have to backup & delete your global config file to start the server.

O que está por trás: A configuração foi escrita por uma versão mais recente do que aquela que está agora em execução. É típico depois de um downgrade, ou seja, de uma mudança para uma versão mais antiga do plugin ou do Minecraft. O primeiro número entre parênteses é a versão do ficheiro, o segundo é a mais alta que o programa instalado conhece. As definições mais recentes são ignoradas. Se a mensagem falar do "global config file", provém do próprio Paper e refere-se normalmente a config/paper-global.yml.

Como resolver:

  1. Verifica se recentemente passaste um plugin ou, em Versão, a versão do servidor para uma versão anterior.
  2. Ou: atualiza novamente para a versão com a qual a configuração é compatível.
  3. Ou: em Cópias de segurança, repõe a configuração a partir de uma cópia do estado da versão antiga.
  4. Se não houver nenhuma cópia adequada, descarrega o ficheiro em Ficheiros, apaga-o e reinicia. É criado um ficheiro novo e as tuas personalizações transferes depois à mão.

Bom saber: Como mudar de versão em segurança está explicado em Mudar a versão do Minecraft e o modloader em segurança.

O MinecraftWarriors3 não encontra a pasta do mapa

Este é o aspeto da mensagem:

[MinecraftWarriors3] [Offizielle Map] Quell-Ordner der Map nicht gefunden: ./plugins/MinecraftWarriors3/maps/<Map-Folder>

O que está por trás: O MinecraftWarriors3 obtém o mapa oficial a partir de uma pasta de origem indicada na sua configuração. Essa pasta não existe. Por isso, o mapa não pode ser copiado nem iniciado e tudo o que depende dele deixa de funcionar. O servidor em si continua a funcionar.

Como resolver:

  1. Em Ficheiros, abre o caminho indicado na mensagem. O ponto no início (./) representa o diretório principal do servidor.
  2. Se a pasta não existir, envia o mapa para lá. Os ficheiros do mundo têm de estar diretamente na pasta, não numa subpasta adicional, como muitas vezes acontece ao extrair um arquivo.
  3. Se o mapa estiver noutro local ou a pasta tiver outro nome, corrige o caminho na configuração em plugins/MinecraftWarriors3/. Maiúsculas e minúsculas contam.
  4. Reinicia o servidor e verifica a Consola.

Bom saber: Como carregar um mundo por completo está explicado em Carregar um mundo do Minecraft e mudá-lo em segurança.

O plugin não consegue carregar um menu, holograma ou ficheiro de texto

Este é o aspeto da mensagem:

Failed to load hologram from file '<File>'
[YamlStorage] Failed to load npc file: <File>
Could not load messages.yml!

O que está por trás: Um plugin não conseguiu ler um dos seus ficheiros, por exemplo um menu, um ficheiro de idioma, um holograma ou um NPC (uma personagem controlada pelo servidor). Normalmente trata-se de um erro de formatação no ficheiro, de um nome duplicado ou de uma condição com a sintaxe errada. Nos plugins de menus, as condições são muitas vezes pequenas expressões JavaScript e a mensagem é então "Error in requirement javascript syntax". A parte afetada falta no jogo, o resto continua a funcionar.

Como resolver:

  1. Lê as linhas por baixo da mensagem. Muitas vezes indicam a linha e o motivo.
  2. Abre o ficheiro em Ficheiros e compara-o com o exemplo do manual do plugin.
  3. Se não encontrares o erro, em vez de apagares o ficheiro, muda-lhe o nome, por exemplo para messages.yml.alt. No caso de ficheiros de configuração e de idioma, o plugin cria um novo ao reiniciar.
  4. Transfere os teus textos e definições aos poucos a partir do ficheiro antigo e reinicia novamente.

Bom saber: Em ficheiros com hologramas, NPCs ou menus, um ficheiro novo faz perder as respetivas entradas. Nesse caso, é preferível recuperá-los a partir das Cópias de segurança.

Indentação ou dois pontos incorretos: ficheiro do plugin ilegível

Este é o aspeto da mensagem:

org.bukkit.configuration.InvalidConfigurationException: mapping values are not allowed here
Caused by: while parsing a block mapping
The file plugins/<Plugin>/<File>.yml is broken, it has been renamed …

O que está por trás: O YAML constrói a sua estrutura com indentação e dois pontos. "mapping values are not allowed here" significa normalmente que, num valor, há dois pontos seguidos de um espaço sem que o valor esteja entre aspas, ou que uma linha está mal indentada. "while parsing a block mapping" aponta para uma linha com mais ou menos indentação do que as vizinhas. O plugin deixa então de usar o ficheiro e recorre aos valores predefinidos ou nem sequer arranca. O EssentialsX muda o nome a um ficheiro danificado e cria um novo.

Como resolver:

  1. Abre o ficheiro indicado em Ficheiros e vai à linha da mensagem. Observa também a linha acima.
  2. Indenta apenas com espaços e as chaves do mesmo nível exatamente com a mesma largura.
  3. Coloca entre aspas os textos que tenham dois pontos, por exemplo message: "Achtung: Neustart".
  4. Um verificador de YAML no navegador mostra-te o local do erro. Depois, reinicia o servidor.

Bom saber: Se o EssentialsX mudou o nome ao ficheiro, a tua versão antiga fica ao lado. Transfere as tuas alterações para o ficheiro novo em vez de copiares o danificado de volta.

Fórmula de cálculo inválida na configuração de um plugin

Este é o aspeto da mensagem:

net.objecthunter.exp4j.tokenizer.UnknownFunctionOrVariableException: Unknown function or variable '<Expression>' …

O que está por trás: Alguns plugins calculam valores a partir de fórmulas na sua configuração, como preços, recompensas ou tempos de recarga. A biblioteca de cálculo usada para isso, a exp4j, só conhece números, operadores, funções integradas e as variáveis que o plugin disponibiliza. Se a fórmula contiver outra coisa, por exemplo "100t" em vez de "100", o cálculo é interrompido. A função correspondente do plugin não funciona como esperado. O servidor continua a funcionar.

Como resolver:

  1. Anota a expressão entre plicas que aparece na mensagem.
  2. Descobre o plugin através do stacktrace, as linhas at indentadas por baixo. Aí costuma aparecer o nome do ficheiro do plugin, por exemplo <Plugin>.jar//.
  3. Procura a expressão nos ficheiros de configuração desse plugin. Se houver muitos ficheiros, ajuda descarregar a pasta por SFTP e pesquisar no teu computador.
  4. Substitui-a por um número ou por uma fórmula válida. As variáveis permitidas constam do manual do plugin.
  5. Recarrega o plugin ou reinicia o servidor.

Bom saber: O acesso SFTP configura-se assim: Editar os ficheiros do servidor no painel e ligar por SFTP.

FancyNpcs: ação de NPC com intervalo aleatório vazio

É assim que a mensagem aparece:

Exception in thread "FancyNpcs-ActionExecutor" java.lang.IllegalArgumentException: bound must be positive

O que está por trás: Uma ação de um NPC do FancyNpcs deve escolher algo ao acaso, por exemplo uma de várias ações seguintes. Se a seleção estiver vazia ou o intervalo numérico for negativo, não é possível gerar um número aleatório e a ação é interrompida. Os jogadores notam isso porque, ao clicar no NPC, não acontece nada ou apenas parte do que devia acontecer. O servidor e os outros NPCs continuam a funcionar.

Como resolver:

  1. Atualiza o FancyNpcs para a versão mais recente compatível com a versão do teu servidor.
  2. Verifica as ações do NPC afetado. Cada seleção aleatória precisa de pelo menos uma entrada e os limites numéricos têm de ser positivos.
  3. Os dados dos NPCs encontram-se em Ficheiros, na pasta plugins/FancyNpcs. Antes de fazeres alterações, cria uma cópia de segurança e edita os ficheiros apenas com o servidor parado.
  4. Inicia o servidor e clica no NPC para testar.

Bom saber: A mensagem não indica qual é o NPC. Se tiveres vários NPCs com ações aleatórias, testa-os um a um e observa a Consola enquanto o fazes.

Texto com códigos de cor antigos num campo MiniMessage

É assim que a mensagem aparece:

Legacy formatting codes have been detected in a MiniMessage string …

O que está por trás: O MiniMessage é uma forma de escrever a formatação de texto com etiquetas entre chavetas angulares, como <red> ou <bold>. Muitos plugins atuais usam-no para o chat, títulos e menus. O MiniMessage não entende os códigos de cor antigos com & ou §. Se um destes códigos estiver num texto, este aparece mal formatado ou não aparece. O servidor continua a funcionar.

Como resolver:

  1. Descobre qual é o plugin. A linha antes da mensagem ou o stacktrace por baixo costuma indicá-lo.
  2. Em Ficheiros, abre o ficheiro de configuração ou de idioma do plugin e substitui os códigos antigos por etiquetas:
    • &c passa a <red>, &a passa a <green>, &e passa a <yellow>
    • &l passa a <bold>, &o passa a <italic>, &r passa a <reset>
    • &#37FF00 ou §x§3§7… passa a <#37FF00>
  3. Se o plugin oferecer nas suas definições um modo legacy para códigos antigos, podes ativá-lo em vez disso.
  4. Recarrega o plugin ou reinicia o servidor e verifica o texto no jogo.

Bom saber: Nunca mistures os dois estilos de escrita no mesmo texto. Basta um único & esquecido para a mensagem aparecer.

Paxel: falta um valor para um nível de ferramenta

É assim que a mensagem aparece:

[Paxel] Setting "<Definição>" for tier "<Nível>" is not defined in the config!

O que está por trás: Um Paxel é uma ferramenta que reúne picareta, machado e pá. O plugin Paxel oferece-o em vários níveis e cada nível precisa de determinados valores obrigatórios na configuração. Para o nível indicado, falta um deles. Esse Paxel não pode então ser criado nem entregue. Isto acontece frequentemente após uma atualização, quando a nova versão espera uma definição que ainda não existe no ficheiro antigo.

Como resolver:

  1. Em Ficheiros, abre a configuração na pasta plugins/Paxel.
  2. Procura o nível indicado na mensagem e acrescenta a definição referida. Um nível completo no mesmo ficheiro serve-te de modelo.
  3. Em alternativa, muda o nome do ficheiro e reinicia. O plugin escreve então a configuração padrão da versão atual e tu transferes as tuas personalizações.
  4. Reinicia o servidor e verifica a Consola.

Bom saber: Ao acrescentares valores, usa a mesma indentação dos restantes valores do nível, caso contrário ocorre um erro de YAML.

Permissão inválida no plugin.yml de um plugin

É assim que a mensagem aparece:

Permission node '<Plugin>.<Permissão>' in plugin description file for <Plugin> v<Versão> is invalid

O que está por trás: Cada plugin descreve no seu plugin.yml, um ficheiro dentro do JAR do plugin, as permissões que traz consigo. Uma destas descrições não pôde ser carregada. O nome indicado pode estar totalmente correto. Muitas vezes falta uma propriedade da descrição ou esta está mal formatada. Normalmente o plugin arranca na mesma, mas esta permissão não é criada com os seus valores padrão.

Como resolver:

  1. Lê na mensagem qual é o plugin afetado.
  2. Atualiza-o para uma build compatível com a versão do teu servidor. Para isso, substitui o JAR com o servidor parado.
  3. Se for um plugin teu, verifica todo o bloco permissions do plugin.yml face ao formato Bukkit, e não apenas o nome. Cada entrada é uma secção com propriedades como description, default (true, false, op ou not op) e children.
  4. Reinicia o servidor.

Bom saber: Se atribuis as permissões tu próprio com um plugin de permissões como o LuckPerms, a mensagem costuma ter pouco efeito nos teus jogadores.

SuntexSocial: proxy SOCKS5 sem endereço

É assim que a mensagem aparece:

[SuntexSocial] … SOCKS5 proxy is enabled, but telegram.proxy.host is empty

O que está por trás: O SuntexSocial liga o teu servidor a um bot do Telegram. Na configuração está definido que o bot acede à internet através de um proxy SOCKS5. Um proxy é um servidor intermediário por onde passa a ligação. No entanto, o endereço deste proxy (telegram.proxy.host) está vazio. Por isso, o bot do Telegram não arranca, mas o servidor de Minecraft continua a funcionar normalmente.

Como resolver:

  1. Em Ficheiros, abre a configuração na pasta plugins/SuntexSocial.
  2. Se precisares do proxy, em telegram e proxy, indica em host o nome do anfitrião e também a porta correspondente. Ambos são fornecidos pelo fornecedor do proxy.
  3. Se não precisares de proxy, desativa o proxy SOCKS5 na mesma configuração.
  4. Reinicia o servidor e verifica se o bot responde.

Bom saber: Só é necessário um proxy se o Telegram não estiver diretamente acessível a partir da rede do servidor. Sem essa razão, deixa-o desativado.

Plugin de gerador de mundo arranca demasiado tarde

É assim que a mensagem aparece:

Could not set generator for default world '<Mundo>': Plugin '<Plugin>' is not enabled yet

O que está por trás: Para o mundo principal está definido um gerador de um plugin, mas o plugin só arranca depois de o servidor ter carregado os mundos. O mundo usa então o gerador normal, pelo que as novas zonas ficam diferentes do planeado. Nas zonas já geradas nada muda. O servidor funciona normalmente.

Como resolver:

  1. Lê nas instruções do plugin de gerador como o configurar para o mundo principal.
  2. Normalmente, o gerador pertence ao bukkit.yml, em worlds:, junto ao nome do mundo principal.
  3. O plugin tem de carregar no arranque do servidor, ou seja, antes dos mundos. Isto é definido pelo programador no plugin.yml com load: STARTUP. Se a mensagem continuar a aparecer, verifica se a versão instalada é compatível com a versão do teu servidor.
  4. Reinicia o servidor e verifica a Consola.

Bom saber: As zonas que já foram criadas com o gerador normal mantêm-se assim. Se quiseres que o mundo inteiro seja criado com o novo gerador, precisas de um mundo novo. Faz antes uma cópia do antigo em Cópias de segurança.

O LuckPerms não consegue ler o ficheiro de importação

Este é o aspeto da mensagem:

[LuckPerms] Error whilst reading from the import file

O que está por trás disto: Com a importação, o LuckPerms assume grupos, permissões e dados de jogadores a partir de um ficheiro criado previamente com a exportação, por exemplo ao mudares de outro servidor. O LuckPerms não conseguiu ler o ficheiro escolhido ou processar o respetivo formato. A importação é interrompida. O servidor continua a funcionar.

Como resolver:

  1. Verifica em Ficheiros se o ficheiro está na pasta plugins/LuckPerms e se o nome corresponde exatamente ao indicado no comando.
  2. Carrega o ficheiro sem alterações, tal como a exportação o gerou, ou seja, sem o descompactar, renomear ou editar.
  3. Lê a mensagem de erro diretamente abaixo desta linha. Ela indica o ponto exato em que a leitura falhou.
  4. Depois, inicia novamente a importação com /lp import <Ficheiro>.

Bom saber: Como configurar e verificar grupos e permissões no LuckPerms, explica-o Configurar o LuckPerms: permissões e grupos.

A configuração do Paper contém um valor desconhecido

Este é o aspeto da mensagem:

Encountered an unexpected exception
org.spongepowered.configurate.serialize.SerializationException: [<Setting path>] <unknown value> …

O que está por trás disto: o Paper lê as suas definições a partir de config/paper-global.yml, config/paper-world-defaults.yml e, por mundo, a partir de paper-world.yml na pasta do mundo. Num destes ficheiros existe um valor que a versão do teu servidor não reconhece, por exemplo um item ou um componente de dados que só existe numa versão mais recente ou que foi renomeado. A definição não é aplicada. É algo típico depois de mudares para uma versão mais antiga ou quando se copiaram ficheiros de outro servidor.

Como resolver:

  1. Lê a mensagem: entre parênteses retos está o caminho da definição, ou seja, as chaves de fora para dentro, seguido do valor desconhecido.
  2. Abre o ficheiro correspondente em Ficheiros, na pasta config ou na pasta do mundo, e segue o caminho indicado.
  3. Corrige o valor para um nome que a tua versão reconheça, ou remove-o.
  4. Reinicia o servidor.

Bom saber: se removeres uma definição inteira, o Paper volta a inserir o valor predefinido no próximo arranque.

BMenu: o identificador do menu já está em uso („key already exists“)

Este é o aspeto da mensagem:

[BMenu] key already exists <Namespace>:<Menu>

O que está por detrás disto: o BMenu gere os menus através de identificadores únicos. Se um identificador já ocupado for registado novamente, o plugin descarta a nova entrada e mantém a existente. Por isso, podem faltar alterações da segunda definição do menu ou aparecer um menu diferente do esperado. O servidor continua a funcionar.

Como resolver:

  1. Em Cópias de segurança, cria uma cópia de segurança das tuas definições antes de editares os ficheiros dos menus.
  2. Lê o identificador completo na Consola. Em Ficheiros, compara os identificadores das definições de menu do BMenu e verifica também se há definições duplicadas nos menus importados.
  3. Remove uma cópia redundante ou atribui um identificador único ao segundo menu. Ajusta também as referências a um identificador alterado.
  4. Reinicia o servidor por completo e testa os menus afetados. Se a mensagem continuar a aparecer apesar de as definições serem únicas, comunica o sucedido ao autor do BMenu, juntamente com o registo de arranque completo.

Bom saber: a ordem de registo determina qual das entradas é mantida. Por isso, não contes com uma determinada ordem dos ficheiros.

SCore: o identificador da cabeça é rejeitado pela base de dados de cabeças

Este é o aspeto da mensagem:

[SCore] Error when creating the Head: <Head value> invalid head database id ! (<Head value>)

O que está por trás: o SCore deve criar uma cabeça personalizada, mas não consegue resolver o valor definido através da base de dados de cabeças. Um identificador de base de dados remete para uma cabeça guardada nela; um valor de textura, por sua vez, descreve o aspeto da cabeça. A cabeça afetada não aparece, enquanto o servidor continua a funcionar.

Como resolver:

  1. Verifica na Consola qual plugin do SCore está a carregar a cabeça neste momento. Abre a respetiva definição da cabeça em Ficheiros.
  2. Compara o formato definido com o guia desse plugin. Utiliza um identificador de cabeça válido; um valor de textura só deve ser inserido no campo documentado para esse efeito.
  3. Se estiver integrada uma base de dados de cabeças, verifica as mensagens de arranque da mesma e aguarda até estar totalmente carregada. Depois, testa novamente a cabeça.
  4. Reinicia o servidor após a correção e controla a apresentação ou o item afetado.

Multiverse: o nome do mundo predefinido entra em conflito com outro mundo

Este é o aspeto da mensagem:

[Multiverse-Core] Unable to migrate default world's name caused by level-name change.
[Multiverse-Core] We have detected a clash between the default name '<World>' and an existing non-default world in your worlds.yml file.
[Multiverse-Core] Please change the level-name in server.properties to something else and restart the server.

O que está por trás: após uma alteração de level-name, o Multiverse deve assumir o nome do mundo predefinido. O novo nome já está atribuído a outro mundo na configuração de mundos. Por isso, a transferência é cancelada e a atribuição do mundo predefinido tem de ser corrigida.

Como resolver:

  1. Cria uma cópia de segurança em Cópias de segurança e para o servidor antes de fazeres alterações.
  2. Em Ficheiros, compara a entrada level-name em server.properties com o ficheiro worlds.yml do Multiverse. Verifica qual dos mundos existentes deve realmente ser o mundo predefinido.
  3. Se a alteração foi involuntária, repõe o nome anterior desse mundo predefinido. Para uma mudança de nome planeada, resolve primeiro o conflito de acordo com o guia do Multiverse.
  4. Inicia o servidor e verifica na Consola se a atribuição é bem-sucedida. Depois, confirma se entras no mundo pretendido.

UltimateDonutSmp: o comando de recompensa de uma caixa falha

Este é o aspeto da mensagem:

[UltimateDonutSmp] Failed to grant crate reward <Reward> from crate <Crate> to <Player>
org.bukkit.command.CommandException: Unhandled exception executing <Command>

O que está por trás: o UltimateDonutSmp executa um comando para a recompensa de uma caixa. Esse comando termina com um erro, pelo que a ação de recompensa afetada falha. O servidor continua a funcionar; a configuração da caixa e o rasto de erro completo mostram qual é o comando afetado.

Como resolver:

  1. Abre a mensagem completa na Consola ou em Ficheiros, em logs/latest.log. Lê também as linhas de causa que se seguem.
  2. Em Ficheiros, verifica o comando de recompensa da caixa afetada. Compara a sua sintaxe e os marcadores de posição do jogador com o guia da tua versão do UltimateDonutSmp.
  3. Atualiza o plugin em Plugins para uma versão adequada e reinicia o servidor após a correção.
  4. Testa a recompensa de forma controlada. Antes de a atribuíres novamente, verifica se partes já foram pagas ou entregues, para que nada seja distribuído em duplicado.

Configurar o dashboard do NovaSync em segurança e substituir as credenciais predefinidas

Este é o aspeto da mensagem:

[NovaSyncPlugin] [CRITICAL] dashboard.creds: no OWNER account configured AND defaults still in vault

O que está por trás disto: No dashboard do NovaSync falta uma conta de proprietário, ou seja, a conta para gerir o dashboard. Ao mesmo tempo, o armazenamento de credenciais do plugin ainda contém credenciais predefinidas. Assim, a configuração inicial segura está incompleta e tem de ser concluída. O servidor de jogo continua a funcionar; o aviso diz respeito ao acesso ao dashboard do plugin.

Como resolver:

  1. Lê a mensagem completa na Consola ou em Ficheiros, em logs/latest.log.
  2. No teu dashboard do NovaSync, abre o caminho indicado /dashboard e executa o assistente de configuração até ao fim. Configura aí a tua conta de proprietário.
  3. Substitui as credenciais predefinidas por credenciais próprias, com uma palavra-passe forte e utilizada apenas aqui. Depois, verifica se o NovaSync volta a emitir o aviso.

Bom saber: As credenciais não devem ser incluídas num ticket nem num excerto de registo partilhado publicamente. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.

DonutShop: o comando de compra falha e os shards são reembolsados

Este é o aspeto da mensagem:

[DonutShop] Shard shop command failed for <Jogador> ("<Comando>"); refunding <Quantidade> Shard.

O que está por trás disto: O DonutShop tenta atribuir o item comprado através de um comando configurado. Esse comando falha e o plugin indica o reembolso dos shards. O servidor continua a funcionar; apenas esta compra é afetada.

Como resolver:

  1. Na Consola, lê as mensagens imediatamente anteriores ao comando de compra. Podem indicar um comando desconhecido ou um parâmetro inválido.
  2. Abre em Ficheiros a entrada da loja afetada. Compara o nome do comando, os argumentos e os marcadores de posição do jogador com a documentação do plugin responsável.
  3. Verifica se o plugin que executa o comando está instalado em Plugins e se, segundo a Consola, foi carregado com êxito.
  4. Aplica a correção seguindo as instruções do DonutShop. Em seguida, testa uma única compra e verifica a recompensa e o saldo de shards.

ExecutableItems: falta true ou false no comando especial

Este é o aspeto da mensagem:

[ExecutableItems] INVALID COMMAND A SCommand contains an invalid boolean: <Valor> for command: <Comando>

O que está por trás disto: O ExecutableItems verifica os argumentos de um comando especial. Um valor booleano é uma indicação de sim/não escrita como true ou false. Na posição prevista consta outro valor. Por isso, a ação do item em causa é inválida; o servidor continua a funcionar.

Como resolver:

  1. Abre a mensagem na Consola e procura o comando indicado na configuração do item afetado em Ficheiros.
  2. Faz uma cópia de segurança do ficheiro antes de o editares. Compara toda a sequência de argumentos com a documentação da tua versão instalada do ExecutableItems.
  3. Introduz true ou false na posição prevista. Verifica também a posição dos comandos seguintes, caso os argumentos tenham sido deslocados.
  4. Reinicia o servidor depois de guardares e testa exatamente esta ação do item.

ExecutableItems: mundo inválido em disableItemsPerWorld

Este é o aspeto da mensagem:

[ExecutableItems] Invalid world: <Mundo> in the option disableItemsPerWorld

O que está por trás disto: O ExecutableItems deve bloquear determinados itens por mundo. Um mundo registado para isso não é reconhecido pelo plugin como um mundo carregado válido. Por isso, a regra de bloqueio desta entrada não pode ser associada corretamente. O servidor continua a funcionar.

Como resolver:

  1. Verifica na Consola se o mundo pretendido foi carregado com êxito. Resolve primeiro qualquer erro de carregamento aí indicado.
  2. Faz uma cópia de segurança da configuração do ExecutableItems em Ficheiros e procura a opção disableItemsPerWorld.
  3. Compara a entrada com o nome real do mundo carregado. Corrige a grafia e remove as entradas de mundos que foram removidos definitivamente.
  4. Reinicia o servidor por completo. Verifica a Consola e testa se os itens previstos ficam bloqueados no mundo em causa.

BAirDropFNV: the fixed drop location’s world is not loaded

What the message looks like:

[BAirDropFNV] World error in airdrop default static location not loaded!

What's behind it: BAirDropFNV uses a fixed location from its configuration for an airdrop. The associated world is not loaded, so that location cannot be used. This airdrop is unavailable while the server keeps running.

How to fix it:

  1. Check the Console to see which worlds load during startup and whether an earlier error explains why the intended world failed to load.
  2. Stop the server and save a copy of the BAirDropFNV configuration through Files.
  3. Compare the world reference for the fixed drop location with the actual name of a loaded world. Correct the setting to use the intended existing world.
  4. If an additional world is required, resolve its loading error. Restart and test the airdrop again.

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 aparece aí qual o plugin que está a carregar os seus ficheiros. No stacktrace abaixo, reconheces o plugin pelo nome do ficheiro JAR ou pela pasta plugins/<Plugin>/ no caminho. Se a mensagem indicar um ficheiro com linha e coluna, trata-se quase sempre de um erro de formato como nas secções acima. Cria uma cópia de segurança antes de qualquer alteração. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.