Aqui encontras as mensagens que aparecem no registo do servidor relacionadas com jogadores Bedrock. Surgem de duas origens: num servidor Java, o plugin Geyser traduz a ligação dos jogadores Bedrock e o Floodgate permite que entrem sem uma conta Java. Num servidor Bedrock nativo (Bedrock Dedicated Server), as mensagens vêm normalmente de add-ons, ou seja, pacotes de comportamento e de recursos.

Cada secção trata exatamente de uma mensagem. Podes encontrar o texto completo na Consola e, nos servidores Java, também em Ficheiros em logs/latest.log. Lê aí também as linhas imediatamente abaixo, porque costumam indicar o pacote afetado ou o verdadeiro motivo.

Antes de alterares ficheiros de configuração, add-ons ou ficheiros do mundo, cria uma cópia de segurança em Cópias de segurança. Assim podes voltar ao estado anterior a qualquer momento.

O Geyser não consegue carregar os seus ficheiros de idioma

Este é o aspeto da mensagem:

java.lang.AssertionError: Unable to load Geyser locale map for <Idioma>
    at Geyser-Spigot.jar//org.geysermc.geyser.text.GeyserLocale.loadGeyserLocale(GeyserLocale.java:141)

O que está por trás: Para cada jogador de Bedrock, o Geyser precisa do ficheiro de idioma do Minecraft correspondente à língua definida por ele, por exemplo alemão ou inglês britânico. O Geyser descarrega estes ficheiros ao iniciar e guarda-os numa pasta própria. Se o descarregamento falhou ao iniciar ou se a pasta está danificada, o Geyser não encontra o ficheiro. A entrada do jogador de Bedrock falha e os jogadores de Java não são afetados.

Como resolver:

  1. Reinicia o servidor através da Consola. O Geyser volta a carregar os ficheiros de idioma.
  2. Acompanha o arranque na consola. Se aparecer "Unable to download and extract … locale", o descarregamento já falhou. Mais abaixo há uma secção própria sobre isso.
  3. Se a mensagem persistir, pára o servidor e, em Ficheiros, apaga a pasta plugins/Geyser-Spigot/locales ou a pasta .cache do Geyser.
  4. Inicia o servidor novamente e pede a um jogador de Bedrock para entrar.

Bom saber: Estas pastas contêm apenas dados que o próprio Geyser volta a descarregar. As tuas definições em config.yml mantêm-se.

O Geyser reporta um erro na sessão de um jogador de Bedrock

Este é o aspeto da mensagem:

[Geyser-Spigot] Exception caught in session of unknown (pre-login)
[Geyser-Spigot] Error thrown in <Jogador>'s event loop!
[Geyser-Spigot] An exception occurred:

O que está por trás: Para cada jogador de Bedrock, o Geyser mantém uma sessão própria e traduz nela tudo o que circula entre o cliente Bedrock e o servidor Java. Se algo correu mal nesta tradução, normalmente só esse jogador é desligado. O servidor e todos os outros jogadores continuam a funcionar. "pre-login" significa que a ligação foi interrompida antes do início de sessão. Uma ReadTimeoutException por baixo indica uma ligação interrompida.

Como resolver:

  1. Anota a hora, o jogador afetado e o que ele estava a fazer, por exemplo ter aberto um menu ou mudado de mundo.
  2. Atualiza o Geyser e o Floodgate para a versão mais recente em Plugins. Se os carregaste tu mesmo, substitui os ficheiros JAR antigos em plugins/ em vez de colocar os novos ao lado.
  3. Reinicia o servidor e pede ao jogador para repetir a ação.
  4. Se o erro voltar a ocorrer sempre com o mesmo jogador ou a mesma ação, reporta-o no Discord do projeto Geyser, com a linha do erro e as linhas abaixo dela.

Bom saber: Os clientes Bedrock recebem atualizações com frequência e um Geyser desatualizado muitas vezes não funciona bem com clientes novos. Uma mensagem isolada com "pre-login", sem qualquer problema reportado por jogadores, podes ignorá-la.

Um add-on reporta um erro de script

Este é o aspeto da mensagem:

[Scripting] [<Add-on>] LocationInUnloadedChunkError: Trying to access location (<x>, <y>, <z>) which is not in a chunk currently loaded and ticking.
[Scripting] [<Add-on>] InvalidEntityError: Failed to get property 'dimension' due to Entity being invalid (has the Entity been removed?).

O que está por trás: Muitos add-ons de Bedrock trazem scripts próprios no pacote de comportamento. Estas linhas são reportadas pelo script do próprio add-on, por isso o erro está no add-on e não no servidor. É típico haver acessos a uma entidade que já não existe ou a uma zona que não está carregada naquele momento. O servidor continua a funcionar e, normalmente, apenas uma função do add-on falha por breves instantes. Com muitas mensagens, o add-on pode prejudicar o desempenho.

Como resolver:

  1. Lê o nome do add-on. Está no segundo par de parênteses retos.
  2. Compara a versão de Bedrock do teu servidor em Versão com as versões indicadas pelo criador do add-on.
  3. Se existir uma edição mais recente do add-on, cria uma cópia de segurança e instala-a seguindo as instruções do criador.
  4. Se o add-on estragar o jogo, desativa-o para teste. Para isso, remove em Ficheiros a respetiva entrada de worlds/<Mundo>/world_behavior_packs.json e reinicia.

Bom saber: Os conteúdos que só o add-on traz podem desaparecer do mundo ao desativá-lo. O erro no script só pode ser corrigido pelo criador; as linhas com "at" ajudam-no nisso.

Os pacotes de add-ons não carregam corretamente

Este é o aspeto da mensagem:

The following issues were found when loading packs:
    behavior_packs/<Pacote>
        The property '/header/min_engine_version' has a version of '<Versão>' which is too high. The highest value we accept is '<Versão>'.

O que está por trás: Cada pacote de add-on tem um ficheiro de descrição manifest.json. Nele constam, entre outros, o nome, o identificador, a versão e a versão de Bedrock que o pacote exige no mínimo. Se o servidor encontrar erros aí ao iniciar, lista-os com avanço por baixo desta linha: primeiro o pacote e, por baixo, o motivo. Consoante o erro, não carrega o pacote de todo ou carrega-o de forma diferente do esperado, por exemplo como pacote de recursos em vez de pacote de comportamento ("Defaulting to resource pack").

Como resolver:

  1. Lê as linhas com avanço por baixo da mensagem. Indicam o pacote e o motivo.
  2. Se aparecer "too high", o add-on precisa de uma versão de Bedrock mais recente do que a do teu servidor. Usa uma edição mais antiga do add-on ou aguarda até que a versão adequada esteja disponível em Versão ou Atualizações.
  3. Noutros casos, normalmente ajuda usar a edição mais recente do add-on, disponibilizada pelo criador.
  4. Se editaste o manifest.json tu mesmo, verifica-o em Ficheiros. Tem de ser JSON válido (parênteses, vírgulas, aspas) e conter todos os campos obrigatórios, por exemplo format_version, header com name, uuid e version, bem como modules.
  5. Reinicia e verifica se a lista desapareceu.

Não é possível ler a configuração do Geyser

Este é o aspeto da mensagem:

[Geyser-Spigot] Failed to read/create config.yml! Make sure it's up to date and/or readable+writable!
org.geysermc.geyser.platform.spigot.shaded.org.spongepowered.configurate.loader.ParsingException: …

O que está por trás: O Geyser lê as suas definições a partir de plugins/Geyser-Spigot/config.yml. O ficheiro está escrito em YAML, um formato de texto em que o avanço com espaços e os dois pontos determinam a estrutura. Uma ParsingException por baixo significa que o ficheiro está danificado em algum ponto, muitas vezes após uma edição manual. Mais raramente, está desatualizado ou não pode ser lido ou escrito. Sem uma configuração válida, o Geyser normalmente não arranca e os jogadores de Bedrock não conseguem entrar no servidor. Os jogadores de Java não notam nada.

Como resolver:

  1. Pára o servidor e abre o ficheiro plugins/Geyser-Spigot/config.yml em Ficheiros.
  2. Verifica as linhas indicadas na mensagem de erro: tabulações em vez de espaços, avanço deslocado, dois pontos em falta ou aspas não fechadas.
  3. Se não encontrares o erro, renomeia o ficheiro, por exemplo para config.yml.alt. O Geyser cria um novo ficheiro predefinido no próximo arranque.
  4. Depois, transfere da versão antiga apenas os valores necessários. A porta de Bedrock tem de corresponder à porta UDP que o painel atribui ao teu servidor.
  5. Inicia o servidor e verifica na Consola se o Geyser arranca sem erros.

Bom saber: Se mesmo um ficheiro acabado de ser criado reportar o erro, é mais provável que o problema esteja nas permissões dos ficheiros. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.

O Floodgate está carregado em duplicado

Este é o aspeto da mensagem:

java.lang.IllegalArgumentException: Duplicate handler name: floodgate-init

O que está por trás: Ao iniciar, o Floodgate integra-se na ligação de rede do servidor para poder reconhecer jogadores de Bedrock. Esta intervenção só pode existir uma vez. A mensagem indica que o Floodgate foi carregado uma segunda vez. Normalmente existem dois ficheiros do Floodgate na pasta plugins/, por exemplo uma versão antiga e uma nova. Por vezes, outro plugin também traz o Floodgate incluído. Os jogadores de Bedrock podem então falhar ao entrar.

Como resolver:

  1. Em Ficheiros, abre a pasta plugins/ e procura todos os ficheiros que tenham "floodgate" no nome e terminem em .jar.
  2. Mantém apenas um deles, de preferência o mais recente, e apaga os restantes.
  3. Nos plugins instalados recentemente, verifica se, segundo a descrição, incluem o Floodgate. Nesse caso, só precisas de uma das duas fontes.
  4. Reinicia o servidor e pede a um jogador de Bedrock para entrar.

Bom saber: A pasta plugins/floodgate não é um segundo plugin. Contém as definições e a chave do Floodgate e deve ser mantida.

Um add-on contém entradas que o servidor não compreende

Este é o aspeto da mensagem:

[FeatureRegistry] Feature rule <add-on>:<name> can't place internal feature type.
[Animation] Error: can't find animation <name>

O que está por trás disto: Os add-ons descrevem criaturas, objetos, blocos, animações e partes da geração do mundo em ficheiros próprios. Se o servidor Bedrock não compreender uma destas entradas na sua versão, escreve uma linha deste tipo no registo. „Feature rule“ refere-se, por exemplo, a regras que distribuem plantas ou estruturas pelo mundo. Essa parte do add-on deixa então de funcionar ou funciona apenas parcialmente, mas o resto e o servidor continuam a funcionar. Na maioria dos casos, o add-on foi criado para outra versão do Bedrock.

Como resolver:

  1. Encontra o pacote afetado. A parte antes dos dois pontos costuma ser a abreviatura do add-on; outras linhas indicam o caminho behavior_packs/….
  2. Verifica em Versão qual é a versão do Bedrock do teu servidor.
  3. Cria uma cópia de segurança, descarrega junto do autor a edição do add-on que corresponde a essa versão e substitui o pacote antigo.
  4. Reinicia e verifica se as linhas desaparecem.

Bom saber: Depois de uma atualização do servidor Bedrock, estas linhas surgem frequentemente em maior número, até os autores adaptarem os seus add-ons.

O Geyser espera o Floodgate, mas o Floodgate não está presente

Este é o aspeto da mensagem:

Auth-type set to Floodgate but Floodgate is not installed

O que está por trás disto: Na configuração do Geyser, o tipo de autenticação está definido como floodgate. Assim, os jogadores Bedrock podem entrar sem uma conta Java adicional. Para isso, o plugin Floodgate tem de estar instalado e ativo. Se faltar, o Geyser desliga-se e os jogadores Bedrock não conseguem entrar no servidor. Os jogadores Java não são afetados.

Como resolver:

  1. Verifica em Plugins ou na pasta plugins/ se o Floodgate existe e se indica algum erro próprio ao iniciar.
  2. Se faltar, instala o Floodgate na pasta plugins/, a partir da mesma fonte do Geyser e compatível com o software do teu servidor.
  3. Se não quiseres usar o Floodgate, define antes o valor auth-type como online em plugins/Geyser-Spigot/config.yml. Nesse caso, os jogadores Bedrock precisam também de uma conta Java.
  4. Reinicia o servidor e testa a entrada com Bedrock.

Em detalhe: Configurar o crossplay Bedrock com Geyser e Floodgate

O Geyser não consegue descarregar os ficheiros de idioma

Este é o aspeto da mensagem:

[Geyser-Spigot] Unable to download and extract <Language> locale!

O que está por trás disto: Ao iniciar, o Geyser descarrega da Mojang os ficheiros de idioma do Minecraft. Aqui, essa ligação foi interrompida; por baixo costuma aparecer „Connection reset“. Até ao próximo arranque bem-sucedido, os jogadores Bedrock veem textos por traduzir ou nem conseguem entrar. O servidor em si e os jogadores Java não são afetados.

Como resolver:

  1. Reinicia o servidor. Muitas vezes, a transferência funciona na tentativa seguinte.
  2. Ao iniciar, observa na Consola se a mensagem volta a aparecer.
  3. Se persistir, pára o servidor e, em Ficheiros, elimina a pasta plugins/Geyser-Spigot/locales ou a pasta .cache do Geyser.
  4. Inicia novamente e testa a entrada com Bedrock.

Bom saber: Se, ao entrar, surgir a mensagem „Unable to load Geyser locale map“, isso costuma ser consequência desta transferência falhada. Se falhar ao longo de vários arranques, abre um ticket e indica a hora da mensagem.

O Geyser não consegue aceder a um serviço de rede necessário

Este é o aspeto da mensagem:

[Geyser-Spigot] Got an error
java.net.ConnectException: Connection refused

O que está por trás disto: Para funcionar, o Geyser estabelece ligações a outros destinos, por exemplo a um destino registado ou a serviços externos. Aqui, uma dessas ligações não foi estabelecida. A linha imediatamente abaixo indica o motivo: ConnectException significa que o destino recusou a ligação, muitas vezes porque lá não está nada em execução. NoRouteToHostException significa que o endereço não é de todo alcançável. O que deixa de funcionar depende do destino.

Como resolver:

  1. Lê por completo as linhas abaixo de „Got an error“. Muitas vezes, aí consta o endereço que o Geyser queria alcançar.
  2. Se alteraste um endereço de destino ou uma porta em plugins/Geyser-Spigot/config.yml, compara-os com os dados do painel e corrige-os.
  3. Se o destino estiver noutro servidor, verifica se esse servidor está a funcionar e acessível.
  4. Atualiza o Geyser em Plugins e reinicia o servidor.

Bom saber: Se a mensagem aparecer apenas uma vez e os jogadores Bedrock continuarem a conseguir entrar no servidor, podes primeiro observar, em vez de intervir de imediato.

O Geyser não consegue abrir a sua porta Bedrock

Este é o aspeto da mensagem:

[Geyser-Spigot] Failed to start Geyser on <IP>:<Port>

O que está por trás disto: O Geyser aceita ligações Bedrock através de uma porta UDP própria. O UDP é o protocolo de rede que o Bedrock utiliza para a ligação. O Geyser não conseguiu abrir esta porta: ou já está ocupada por outro serviço, ou não está atribuída ao teu servidor e, por isso, não pode ser utilizada. As ligações Bedrock deixam então de funcionar, mas os jogadores Java continuam a conseguir entrar no servidor.

Como resolver:

  1. Consulta no painel qual é a porta Bedrock (UDP) atribuída ao teu servidor.
  2. Em Ficheiros, abre o ficheiro plugins/Geyser-Spigot/config.yml e compara, na secção bedrock, o valor port. Tem de corresponder exatamente à porta atribuída.
  3. Verifica se outro serviço UDP utiliza a mesma porta, por exemplo a Query (query.port em server.properties) ou um plugin de chat de voz. Cada um destes serviços precisa de uma porta própria.
  4. Guarda, reinicia o servidor e testa a entrada com Bedrock.

Em detalhe: Crossplay Bedrock: Geyser, Floodgate e porta UDP

O script de um add-on bloqueou e foi cancelado

Este é o aspeto da mensagem:

[Watchdog] Unhandled critical exception of type '<Type>' in behavior pack '<Add-on>'

O que está por trás disto: O servidor Bedrock monitoriza os scripts dos add-ons com um vigilante, o Watchdog. Se um script demorar demasiado, o servidor cancela-o para que o mundo inteiro não fique parado. O nome do add-on surge na mensagem depois de „behavior pack“. Nesse momento, o servidor pode ter breves engasgos e funções do add-on deixam de funcionar. O servidor em si continua a funcionar.

Como resolver:

  1. Lê o nome do add-on na mensagem.
  2. Verifica junto do autor se existe uma edição mais recente para a versão do Bedrock do teu servidor (consulta Versão) e instala-a depois de fazeres uma cópia de segurança.
  3. Observa se a mensagem surge numa ação específica, por exemplo ao entrar numa zona ou quando há muitas criaturas no mesmo local.
  4. Se surgir com frequência, desativa o add-on a título de teste e observa se os engasgos desaparecem.

Bom saber: Uma única mensagem não é motivo de preocupação. O que importa é se se repete.

Uma entrada de permissões sem XUID ou nível

Este é o aspeto da mensagem:

xuid or permission missing from permissions file

O que está por trás: Num servidor Bedrock, o ficheiro permissions.json define quem tem que nível de permissão, por exemplo operador. Cada entrada precisa de dois dados: a XUID, ou seja, o identificador fixo da conta Xbox ou Microsoft, e o nível. Se faltar um deles, o servidor não consegue associar a entrada a nenhum jogador e não a aplica. O servidor funciona normalmente, apenas essa permissão não tem efeito.

Como resolver:

  1. Abre a configuração do servidor do teu servidor e, aí, a secção "Permissões (Ops)".
  2. Apaga a linha sem XUID ou acrescenta a XUID do jogador.
  3. Reinicia o servidor a seguir.
  4. É mais simples usar o comando op <jogador> na Consola enquanto o jogador está online. Assim, o próprio servidor regista a XUID.

Bom saber: No Bedrock, o que conta é a XUID, não o nome do jogador. Por isso, uma entrada sem XUID fica sem efeito, mesmo que o nome esteja correto.

A tua mensagem não está aqui?

Lê a mensagem completa na Consola ou em logs/latest.log, incluindo as linhas imediatamente anteriores. Se se seguir um stacktrace, ou seja, uma lista de linhas que começam por „at“, ele mostra onde o erro surgiu. Nomes como Geyser-Spigot.jar ou floodgate indicam o plugin afetado. Nos servidores Bedrock, parênteses retos ou caminhos em behavior_packs/ identificam o add-on. Cria uma cópia de segurança antes de alterares algo. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.