Aqui tratamos das mensagens relacionadas com o arranque do servidor, o início de sessão dos jogadores e as ligações de rede, por exemplo a portas ou a um proxy como o Velocity ou o BungeeCord. Cada secção aborda exatamente uma mensagem. Algumas impedem o arranque do servidor, outras afetam apenas jogadores individuais ou uma funcionalidade adicional.

Podes encontrar o texto completo na Consola e, em Ficheiros, em logs/latest.log. As mensagens em que um proxy não consegue alcançar o servidor de destino aparecem no log do proxy. Lê sempre também as linhas imediatamente antes e depois.

Antes de alterares server.properties, configurações de plugins 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.

"Address already in use": a porta do servidor ou do plugin está ocupada

Como a mensagem aparece:

**** FAILED TO BIND TO PORT!
java.net.BindException: Address already in use
io.netty.channel.unix.Errors$NativeIoException: bind(..) failed with error(-98): Address already in use

O que está por trás: Uma porta aceita ligações de rede e, neste caso, já está ocupada por outro serviço. Se o Minecraft não conseguir abrir a sua porta de jogo, o servidor não arranca. O Geyser ou o Simple Voice Chat também podem falhar ao abrir a respetiva porta UDP; o UDP é um protocolo de rede usado, por exemplo, para dados de voz. Nesse caso, a respetiva ligação deixa de funcionar; as linhas de registo seguintes mostram se o servidor continua a funcionar.

Como resolver:

  1. Lê as linhas antes e depois do erro. Indicações como Voice chat server error ou Failed to start the udp server ajudam a identificar a origem; só o nome de um plugin não diz se o servidor continua a funcionar.
  2. Se o problema for a porta de jogo, para completamente o servidor na Consola e volta a iniciá-lo. O painel gere a porta de jogo automaticamente; não alteres server-port manualmente.
  3. Se o problema for um serviço adicional, abre em Ficheiros a configuração do respetivo plugin ou mod. Usa uma porta atribuída que nenhum outro serviço com o mesmo protocolo de rede esteja a usar, ou desativa a função. Depois, reinicia.
  4. Se a porta de jogo continuar ocupada, abre um ticket e indica a hora da mensagem.

Bom saber: Configurar o Simple Voice Chat.

"The server is running in online mode": o plugin de login não arranca

Como a mensagem aparece:

[LibreLogin] !!!The server is running in online mode! LibreLogin won't start unless you set it to false!!!
[FastLogin] Server has to be in offline mode

O que está por trás: No modo online (online-mode=true em server.properties), o servidor verifica as contas Java diretamente na Mojang. O plugin de autenticação em causa espera outra configuração de início de sessão e, por isso, recusa-se a arrancar ou não consegue controlar o início de sessão. Assim, o início de sessão através desse plugin deixa de funcionar; o modo online mantém-se ativo e continua a rejeitar jogadores sem uma conta Minecraft válida.

Como resolver:

  1. Se os jogadores com uma conta Minecraft válida devem entrar diretamente, mantém online-mode=true. Para o servidor, remove o plugin de autenticação em causa em Plugins e reinicia.
  2. Se usas um proxy, ou seja, um servidor colocado à frente, verifica a respetiva autenticação, a proteção contra ligações diretas ao servidor que está por trás e o forwarding. O forwarding transmite a esse servidor os dados confirmados dos jogadores.
  3. Define online-mode=false em Ficheiros, no server.properties, exclusivamente por trás de um proxy corretamente protegido, com o forwarding bem configurado e com o servidor parado. Sem este conceito de proteção, o modo online deve permanecer ativado.
  4. Depois das alterações, reinicia e verifica na Consola se o plugin de login arranca como previsto.

Bom saber: Sem um início de sessão protegido, pessoas externas podem assumir nomes de jogadores. Para saber mais: Ativar o modo cracked/offline.

O EULA do Minecraft não foi aceite

Assim aparece a mensagem:

You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

O que está por trás: O EULA é o contrato de licença da Mojang ou da Microsoft para servidores Minecraft. Um servidor Java só arranca quando o ficheiro eula.txt contém a linha eula=true. Se esta faltar ou se aí estiver eula=false, o servidor termina logo após o arranque. Connosco, este valor é definido automaticamente. Por isso, a mensagem costuma surgir apenas quando eula.txt foi apagado ou substituído, por exemplo ao carregar ficheiros próprios do servidor.

Como resolver:

  1. Em Ficheiros, na pasta principal do servidor, onde também está server.properties, abre o ficheiro eula.txt.
  2. Altera eula=false para eula=true e guarda. Se o ficheiro não existir, cria-o com exatamente esta linha.
  3. Inicia o servidor e acompanha o arranque na Consola.

Bom saber: Com eula=true aceitas os termos do EULA do Minecraft.

Mais detalhes: EULA do Minecraft e primeiro arranque do servidor

"… tried to join with an invalid session": início de sessão no Minecraft recusado

Este é o aspeto da mensagem:

Username '<Player>' tried to join with an invalid session

O que está por trás disto: O servidor não conseguiu confirmar a sessão de um jogador Java como válida e recusa a entrada no modo online (online-mode=true). Isto acontece com clientes sem uma conta Minecraft válida e comprada, mas também com uma sessão expirada de uma conta válida. O teu servidor está saudável e continua a funcionar normalmente.

Como resolver:

  1. Pergunta ao jogador se comprou o Minecraft: Java Edition com uma conta Microsoft e se tem sessão iniciada com ela no launcher oficial.
  2. Se tiver uma conta válida, deve fechar completamente o cliente Minecraft e reiniciá-lo. Se a sessão continuar inválida, deve iniciar sessão novamente no launcher com a conta correta e voltar a iniciar o jogo.
  3. Se jogar com Bedrock no telemóvel, na consola ou no Windows, pode entrar em alternativa através do endereço de crossplay do teu servidor, desde que o crossplay esteja ativo.
  4. Não desatives o modo online manualmente por causa disto.

Bom saber: Se só quiseres permitir contas legítimas, não precisas de alterar nada. A mensagem mostra então que a proteção está a funcionar.

Mais detalhes: Servidor cracked: login e limites

"Couldn't verify username because servers are unavailable": início de sessão no Minecraft com problemas

Este é o aspeto da mensagem:

Couldn't verify username because servers are unavailable

O que está por trás disto: No modo online, a cada entrada o servidor consulta os servidores de autenticação da Mojang ou da Microsoft para saber se a conta é legítima. Se estes não responderem, o servidor não consegue verificar a conta e não deixa o jogador entrar. A causa não está no teu servidor: quando há uma falha do lado deles, afeta ao mesmo tempo todos os servidores com a verificação premium ativa. Os novos jogadores não conseguem entrar enquanto durar a falha; quem já está online normalmente continua a jogar.

Como resolver:

  1. Aguarda que a falha passe. Normalmente resolve-se sozinha em poucos minutos.
  2. Consulta os avisos oficiais de falhas do Minecraft ou da Mojang/Microsoft.
  3. Pede aos teus jogadores que tentem novamente dentro de alguns minutos.
  4. Não desatives o online-mode por causa disto. Isso abriria o teu servidor de forma permanente a contas falsificadas, em vez de resolver um problema passageiro.

Bom saber: Se os jogadores conseguirem entrar sem problemas noutros servidores e a mensagem persistir durante muito tempo no teu, abre um ticket e indica a hora a que a mensagem apareceu.

"Unable to initialise query system": a porta Query está ocupada

Como a mensagem aparece:

Unable to initialise query system on <IP>:<Port>
java.net.BindException: Address already in use

O que está por trás: O Query é uma interface adicional, através do protocolo de rede UDP, pela qual listas de servidores e ferramentas consultam o número de jogadores e o estado online. Se não arrancar, essas informações deixam de estar disponíveis através do Query. O jogo em si não é afetado, e os jogadores podem entrar normalmente. A BindException abaixo indica o motivo: a porta Query já está ocupada ou entra em conflito com outro serviço, por exemplo o Geyser ou um plugin de chat de voz na mesma porta UDP.

Como resolver:

  1. Vê no painel quais as portas atribuídas ao teu servidor e quais delas o Geyser ou um plugin de chat de voz já está a usar.
  2. Para o servidor e abre o ficheiro server.properties em Ficheiros.
  3. Define enable-query=true e, em query.port, indica uma porta atribuída que nenhum outro serviço UDP esteja a usar.
  4. Guarda e volta a iniciar o servidor. Verifica na Consola se a mensagem deixa de aparecer.

O ícone do servidor não tem 64 × 64 píxeis

Este é o aspeto da mensagem:

Couldn't load server icon
java.lang.IllegalArgumentException: Invalid world icon size [<Largura>, <Altura>], but expected [64, 64]

O que está por trás disto: A imagem server-icon.png na pasta principal aparece na lista de servidores dos jogadores, junto ao nome do servidor. O Minecraft aceita para isso exclusivamente um PNG com exatamente 64 × 64 píxeis. Se a imagem tiver outro tamanho, o servidor não a carrega e os jogadores não veem um ícone próprio. O servidor continua a funcionar normalmente.

Como resolver:

  1. Abre a tua imagem num programa de edição de imagem e redimensiona-a para exatamente 64 × 64 píxeis.
  2. Guarda-a como PNG com o nome server-icon.png.
  3. Carrega-a em Ficheiros para a pasta principal do servidor e substitui o ficheiro antigo.
  4. Reinicia o servidor. O novo ícone aparece assim que os jogadores atualizarem a lista de servidores.

Bom saber: Se não quiseres um ícone próprio, elimina server-icon.png e reinicia o servidor. A mensagem também desaparece.

Um cliente enviou um pacote de início de sessão inválido

Este é o aspeto da mensagem:

Failed to decode packet 'serverbound/minecraft:hello'

O que está por trás disto: „hello“ é o primeiro pacote que um cliente envia ao iniciar sessão, entre outras coisas com o nome do jogador. Se o servidor não o conseguiu ler, o cliente não corresponde à versão do servidor ou ao protocolo esperado, por exemplo devido a uma versão diferente do Minecraft ou a um modloader em falta. O servidor termina apenas essa ligação e continua a funcionar.

Como resolver:

  1. Verifica se, a essa hora, algum jogador quis entrar e não conseguiu.
  2. Se sim, compara a versão do Minecraft dele com a versão do teu servidor em Versão. No caso de um Modpack, ele precisa do mesmo pack com o mesmo modloader.
  3. Se ninguém quis entrar, foi normalmente um scanner de portas automático que anda a sondar servidores na internet. Nesse caso, não tens de fazer nada.

Bom saber: Se quiseres que jogadores com outras versões de cliente possam entrar, em servidores Paper o ViaVersion ajuda.

O proxy não consegue alcançar o servidor de destino a tempo

Este é o aspeto da mensagem:

io.netty.channel.ConnectTimeoutException: connection timed out after <Milissegundos> ms: /<Endereço>:<Porta>

O que está por trás disto: Um proxy como o Velocity ou o BungeeCord é o servidor de entrada através do qual os jogadores entram e são depois distribuídos pelos servidores de destino registados. Aqui, o proxy quis alcançar um servidor de destino e não obteve resposta dentro do tempo de espera. Normalmente o endereço ou a porta não estão corretos, ou o servidor de destino está offline ou em suspensão. Os jogadores não conseguem então entrar nesse servidor de destino, mas o próprio proxy continua a funcionar.

Como resolver:

  1. Lê no fim da mensagem que endereço e que porta o proxy quis alcançar.
  2. Compara-os em velocity.toml (secção [servers]) ou no config.yml do BungeeCord (secção servers) com os dados que o painel mostra para o servidor de destino. Têm de coincidir exatamente.
  3. Inicia o servidor de destino e espera até estar totalmente arrancado. Servidores em suspensão deves acordá-los antes.
  4. Reinicia o proxy para que assuma as entradas alteradas e testa a entrada.

Mais detalhes: BungeeCord: Could not connect to a default or fallback server

O suporte Velocity está ativado sem secret

Este é o aspeto da mensagem:

Velocity is enabled, but no secret key was specified. A secret key is required. Disabling velocity...

O que está por trás disto: O Velocity é um proxy que encaminha jogadores para servidores Paper. Para que o Paper possa confiar nesses reencaminhamentos, o proxy e o servidor partilham uma palavra secreta comum, o secret. Na configuração do Paper, o suporte Velocity está ativado, mas falta o secret. Por isso, o Paper desativa o suporte e o reencaminhamento de jogadores através do proxy não funciona.

Como resolver:

  1. Obtém o secret no proxy Velocity. Nas versões atuais do Velocity, está no ficheiro forwarding.secret, para o qual velocity.toml aponta; nas mais antigas, diretamente em velocity.toml.
  2. No servidor Paper, abre em Ficheiros o ficheiro config/paper-global.yml e procura a secção proxies → velocity.
  3. Define enabled: true e introduz em secret exatamente o mesmo secret.
  4. Se não usas nenhum proxy Velocity, define aí antes enabled: false.
  5. Reinicia o servidor Paper e verifica se a mensagem desapareceu.

Bom saber: Em velocity.toml, player-info-forwarding-mode tem de estar definido como modern. Nas versões do Paper anteriores à 1.19, a definição não está em config/paper-global.yml, mas em paper.yml, em settings → velocity-support. Trata o secret como uma palavra-passe.

O servidor de destino recusa a ligação do proxy

Este é o aspeto da mensagem:

io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed with error(-111): Connection refused: /<Endereço>:<Porta>

O que está por trás disto: O proxy alcançou o endereço registado do servidor de destino, mas aí nenhum serviço aceita ligações na porta. Ao contrário de um tempo de espera excedido, o endereço responde, mas nada está à escuta. Causas típicas: o servidor de destino está parado, ainda está a arrancar, ou a porta no proxy não pertence a este servidor. Enquanto isso durar, os jogadores não conseguem entrar nesse servidor de destino.

Como resolver:

  1. Lê no fim da mensagem o endereço e a porta.
  2. Inicia o servidor de destino e espera na respetiva Consola até estar totalmente arrancado.
  3. Compara o endereço e a porta em velocity.toml ou no config.yml do BungeeCord com os dados que o painel mostra para o servidor de destino.
  4. Não introduzas 127.0.0.1 se o proxy e o servidor de destino forem servidores separados. Esse endereço aponta para o próprio proxy.

Bom saber: Enquanto um servidor de destino está a reiniciar, a mensagem é normal e desaparece sozinha.

Mais detalhes: BungeeCord: Could not connect to a default or fallback server

O ícone do servidor tem o formato de imagem errado

Este é o aspeto da mensagem:

Couldn't load server icon
java.io.IOException: Bad PNG Signature: <File signature>

O que está por trás disto: O Minecraft espera um ficheiro PNG para o ícone do servidor. A assinatura do ficheiro, ou seja, o identificador no início do ficheiro, não corresponde aqui a PNG. Por isso, a imagem pretendida não aparece na lista de servidores; o servidor continua a funcionar.

Como resolver:

  1. Abre a imagem pretendida num programa de edição de imagem e exporta-a explicitamente como PNG. Define o tamanho para 64 × 64 píxeis.
  2. Em Ficheiros, substitui o ficheiro server-icon.png na pasta principal do servidor pela imagem recém-exportada.
  3. Reinicia o servidor e verifica na Consola se a mensagem desapareceu. Depois, atualiza a lista de servidores no cliente Minecraft.

Bom saber: Mudar o nome de um ficheiro JPEG para .png não altera o formato da imagem.

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, é aí que está o que falhou primeiro. Se se seguir um stacktrace, ou seja, uma lista de linhas que começam por „at“, os nomes de pastas e ficheiros nele, como plugins/<Plugin> ou <Plugin>.jar, revelam o plugin ou o mod envolvido. Em problemas de proxy, lê os logs do proxy e do servidor de destino à mesma hora. Cria uma cópia de segurança antes de fazeres alterações. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.