Muitos plugins não funcionam sozinhos. Os plugins premium verificam uma chave de licença ao iniciar, as ligações ao Discord, Telegram ou VK precisam de um token (uma espécie de palavra-passe para um bot ou uma interface), os plugins de chat de voz abrem uma porta de rede própria e alguns descarregam bibliotecas ou bases de dados da internet. Se um destes elementos faltar ou for rejeitado, o plugin escreve uma mensagem no log. Na maioria dos casos, apenas a função desse plugin deixa de funcionar; num caso, o plugin pára o servidor de propósito.
Cada secção abaixo trata de uma mensagem. Encontras a mensagem completa na Consola ou, em Ficheiros, em logs/latest.log, e a configuração dos plugins em plugins/<Plugin>/. Antes de fazeres alterações, cria uma cópia de segurança em Cópias de segurança. Chaves e tokens são secretos: não os mostres a ninguém e corta-os das capturas de ecrã.
O DonutShop rejeita a chave de licença
Esta é a mensagem que aparece:
[DonutShop] DONUTSHOP ERROR
[DonutShop] The licensing server rejected this key.
O que está por trás disto: o DonutShop é um plugin de loja que, ao arrancar, verifica a sua chave de licença no servidor de licenças do autor. Esta verificação falhou no último arranque. Mesmo um valor preenchido e não vazio pode ser inválido, ter expirado ou ter sido emitido para outra instalação. O servidor de Minecraft pode continuar a funcionar, mas o DonutShop não fica disponível de forma fiável: os jogadores não podem contar com a loja.
Como resolver:
- Obtém ou verifica a chave de licença gratuita através da página oficial do projeto DonutShop no Modrinth.
- Em Ficheiros, abre a configuração do DonutShop (
plugins/DonutShop/config.yml) e introduz a chave emlicense-key. Coloca-a entre aspas, sem espaços antes nem depois. - Guarda o ficheiro e reinicia o servidor.
- Consulta a Consola: só quando o banner "DONUTSHOP ERROR" deixar de aparecer no novo arranque é que o erro está resolvido.
Bom saber: se copiaste a chave de outro servidor, obtém uma própria para este servidor.
O LibreLogin pára o servidor: não é possível carregar a biblioteca
Esta é a mensagem que aparece:
[LibreLogin] Failed to load libraries, stopping server to prevent damage
… Failed to download library <Biblioteca>
O que está por trás disto: o LibreLogin é um plugin de autenticação com o qual os jogadores iniciam sessão com uma palavra-passe. Ao arrancar, descarrega bibliotecas, ou seja, partes de programa que não traz consigo, entre elas o PacketEvents. Se este download falhar, o LibreLogin pára o servidor de propósito, em vez de continuar a funcionar de forma incompleta. Por isso, o servidor não arranca até o problema ser resolvido.
Como resolver:
- Reinicia o servidor uma vez. Se a fonte de download esteve apenas brevemente inacessível, muitas vezes funciona na tentativa seguinte.
- Em Plugins, atualiza o LibreLogin para a versão mais recente para o teu software de servidor. Se o PacketEvents estiver instalado como plugin separado, atualiza-o também.
- Reinicia e verifica na Consola se as bibliotecas são agora carregadas.
- Se a mensagem aparecer em todos os arranques, o servidor não consegue aceder ao endereço de download. Isto pode dever-se ao acesso à Internet, à resolução de nomes (DNS, que traduz endereços em números IP) ou ao próprio endereço. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.
Bom saber: como atualizar e substituir plugins, explica-o Instalar e gerir plugins de Minecraft.
O Simple Voice Chat descarta pacotes de voz
Esta é a mensagem que aparece:
[voicechat] Packet queue has <Quantidade> packets
[voicechat] Dropping voice chat packets!
O que está por trás disto: o Simple Voice Chat transmite voz entre jogadores que estão próximos no jogo. A mensagem significa: o chat de voz não consegue acompanhar o processamento, e os pacotes de voz acumulam-se numa fila ou são descartados. A causa é um servidor momentaneamente sobrecarregado, com TPS baixos (ticks por segundo, o ritmo do Minecraft; o normal são 20) ou carga de CPU elevada. Os jogadores ouvem então a voz entrecortada ou em falta. O servidor em si continua a funcionar.
Como resolver:
- Descobre o que gera a carga, por exemplo com o spark: spark: encontrar e compreender o lag no servidor de Minecraft.
- Reduz a distância de visão (
view-distance) e a distância de simulação (simulation-distance) nas Definições ou emserver.properties. Assim, o servidor carrega menos chunks, ou seja, secções do mundo de 16 × 16 blocos. - Diminui o número de entidades (criaturas, animais, objetos no chão) em locais específicos e verifica os plugins que geram muita carga.
- Se isto não chegar, muda para mais desempenho em Definições e subscrição → Plano.
Bom saber: mensagens isoladas logo após o arranque ou ao explorar novas áreas são inofensivas, desde que voltem a cessar.
O Simple Voice Chat não consegue obter a sua porta UDP
Esta é a mensagem que aparece:
[voicechat] Failed to run voice chat at UDP port <Porta>
[voicechat] Disabling Simple Voice Chat
O que está por trás disto: o Simple Voice Chat transmite voz através de uma porta UDP própria. O UDP é o método de rede para dados rápidos em tempo real, como a voz. A porta configurada não pertence ao teu servidor ou já está ocupada, por exemplo porque ainda está definido o valor predefinido das instruções do plugin. Sem porta, o chat de voz desliga-se; o jogo em si continua a funcionar normalmente.
Como resolver:
- Em Ficheiros, abre o ficheiro
plugins/voicechat/voicechat-server.properties. Se o Simple Voice Chat estiver instalado como mod, o ficheiro encontra-se emconfig/voicechat/voicechat-server.properties. - Define
portcom o número da porta do teu servidor. A tua porta de jogo está liberta para TCP e UDP. - Guarda o ficheiro e reinicia o servidor.
- Verifica na Consola se a mensagem deixa de aparecer e testa o chat de voz no jogo.
Pormenores: Configurar o Simple Voice Chat no servidor de Minecraft.
Bom saber: uma porta UDP só pode ser aberta por um programa de cada vez. Se outro plugin já usa a mesma porta, por exemplo o Geyser para jogadores de Bedrock, um dos dois precisa de outra porta atribuída ao teu servidor.
O plugin de Discord não tem um token de bot válido
Esta é a mensagem que aparece:
[DiscordSRV] No bot token has been set in the config; a bot token is required to connect to Discord.
[DiscordSRV] The bot token is invalid
[EssentialsDiscord] An error occurred while logging into Discord
O que está por trás disto: plugins de Discord como o DiscordSRV ou o EssentialsX Discord iniciam sessão no Discord com um bot próprio. Para isso precisam do token do bot, uma sequência longa de caracteres que funciona como uma palavra-passe. Na configuração não consta nenhum, ou o Discord rejeita o que foi introduzido, por exemplo porque entretanto foi reposto. A ligação ao Discord fica então desativada, e o servidor de Minecraft continua a funcionar normalmente.
Como resolver:
- No Discord Developer Portal, cria uma aplicação com um bot ou escolhe o teu bot existente. Na secção "Bot", copia o token ou gera um novo.
- Em Ficheiros, abre o
config.ymldo plugin, por exemploplugins/DiscordSRV/config.yml, e introduz o token (no DiscordSRV, no campoBotToken). - Convida o bot para o teu servidor de Discord, caso ainda não o tenhas feito.
- Guarda o ficheiro e reinicia o servidor.
Bom saber: se depois de "could not connect to Discord because:" aparecer uma referência a intents, ativa no Developer Portal, no bot, os "Privileged Gateway Intents" pedidos. Se um token se tornou público, repõe-no aí e introduz o novo.
O plugin não consegue descarregar a base de dados de países
Esta é a mensagem que aparece:
[AuthMe] Could not download GeoLiteAPI database [FileNotFoundException]: plugins/AuthMe/GeoLite2-Country.mmdb (No such file or directory)
O que está por trás disto: alguns plugins, como o AuthMe, associam endereços IP a um país. Para isso, descarregam uma base de dados de países, normalmente a GeoLite2 do fornecedor MaxMind. Este download falhou. O plugin continua a funcionar; apenas as funções dependentes do país, como os bloqueios por país, ficam inativas enquanto a base de dados estiver em falta.
Como resolver:
- Normalmente trata-se de um problema temporário do lado remoto. O próximo reinício tenta o download novamente; não precisas de fazer nada de imediato.
- Se a mensagem persistir ao longo de vários arranques, consulta a configuração do plugin em
plugins/<Plugin>/. Muitas vezes o plugin precisa de uma chave de licença própria para o download, e a configuração indica o campo para isso. - Introduz a chave, guarda e reinicia o servidor.
Bom saber: se não usas funções dependentes do país, podes ignorar a mensagem. O início de sessão e todas as restantes funções do plugin continuam a funcionar na mesma.
O DonutShop está bloqueado sem chave de licença
Este é o aspeto da mensagem:
[DonutShop] DONUTSHOP LOCKED
[DonutShop] No license key is set in config.yml.
[DonutShop] Then run: /link <your-key>
O que está por trás disto: o DonutShop só arranca com uma chave de licença. Na sua config.yml não está registada nenhuma, por isso a loja permanece bloqueada. A chave é gratuita, mas tens de a pedir uma vez ao autor. O servidor de Minecraft em si não é afetado.
Como resolver:
- Pede ao autor do plugin a chave gratuita. O caminho para isso, uma ligação do Discord, é indicado pela mensagem nas linhas à volta do banner.
- Executa
/link <a-tua-chave>, como a mensagem indica, ou introduz a chave emplugins/DonutShop/config.yml. - Reinicia o servidor.
- Verifica na Consola se o banner "DONUTSHOP LOCKED" desapareceu.
Bom saber: se depois aparecer "DONUTSHOP ERROR", a chave foi rejeitada. Nesse caso, a secção sobre a licença rejeitada do DonutShop ajuda-te.
O token VK do plugin é rejeitado
Este é o aspeto da mensagem:
com.vk.api.sdk.exceptions.ApiAuthException: User authorization failed (5): User authorization failed: invalid access_token (4).
O que está por trás disto: alguns plugins ligam-se ao VK, a rede social VKontakte. Para isso precisam de um token de acesso, uma espécie de palavra-passe para a interface. O VK rejeitou o token registado ("invalid access_token"), ou seja, é inválido, expirou ou foi revogado. As funções VK do plugin ficam desativadas, o resto do servidor funciona normalmente.
Como resolver:
- Gera no VK um novo token de acesso com as permissões que o plugin exige. Quais são, consta nas instruções do plugin.
- Em Ficheiros, abre a configuração do plugin em
plugins/<Plugin>/e substitui o token antigo pelo novo. - Guarda o ficheiro e reinicia o servidor.
- Verifica na Consola se a mensagem deixa de aparecer.
Bom saber: o plugin afetado é indicado pelo stacktrace que se segue, ou seja, as linhas indentadas com at …. Ao lado de com.vk.api aparece aí o nome do pacote do plugin.
O plugin não consegue disponibilizar o seu resourcepack
Este é o aspeto da mensagem:
java.io.IOException: HTTP 403 dla http://<Address>/<Pack>.zip
Failed to start resourcepack server: Server is not publicly reachable on <Address>:<Port>
O que está por trás disto: alguns plugins fornecem aos jogadores um resourcepack próprio. Para isso, descarregam-no de um endereço, montam-no eles próprios ou iniciam um pequeno servidor web integrado, a partir do qual os jogadores o obtêm. Um destes passos falhou. Os jogadores deixam de receber o pack, e as texturas ou funções que dependem dele ficam em falta. O servidor continua a funcionar.
Como resolver:
- Lê o estado HTTP na mensagem: 403 significa acesso negado, 404 significa ficheiro não encontrado.
- Abre no navegador o endereço do pack indicado na configuração do plugin. Tem de descarregar diretamente o ficheiro ZIP e não pode mostrar uma página de pré-visualização ou de início de sessão.
- Corrige o endereço ou carrega o pack para um local que o disponibilize publicamente.
- Se o plugin usar um servidor web integrado, indica aí apenas uma porta que esteja atribuída ao teu servidor no painel e seja acessível publicamente.
- Reinicia o servidor.
O plugin precisa de uma chave de API para um serviço externo
Este é o aspeto da mensagem:
Please set your <Service> API key
Get your API key from: https://<Provider>/…
accessToken=MISSING
O que está por trás disto: o plugin trabalha em conjunto com um serviço externo, por exemplo para estatísticas ou para uma ligação a um site. Para isso precisa de uma chave de API ou de dados de acesso. Uma chave de API é um identificador com o qual o plugin se identifica perante o serviço. Na configuração, está em falta. Até ser introduzida, o plugin não funciona; o resto do servidor continua a funcionar.
Como resolver:
- Lê a mensagem: normalmente indica o serviço, o ficheiro e o campo, e muitas vezes também o endereço onde obténs a chave ("Get your API key from:").
- Cria uma conta no serviço e gera lá a chave.
- Em Ficheiros, abre o ficheiro indicado em
plugins/<Plugin>/e introduz a chave. O ficheiro está normalmente em formato YAML, em que a indentação com espaços define a estrutura; não a alteres e coloca o valor entre aspas. - Guarda o ficheiro e reinicia o servidor.
Bom saber: se depois o plugin indicar que não consegue ler o ficheiro, O ficheiro de configuração de um plugin está com erros ajuda-te.
O plugin premium não encontra uma chave de licença válida
Este é o aspeto da mensagem:
No License Key Found!
Please enter a valid key in license.yml
Authentication failed! API key is invalid
O que está por trás disto: o plugin é um plugin premium ou precisa de uma chave do fornecedor e não encontra uma válida na sua configuração. Por isso, desativa-se por completo ou desliga algumas funções. O servidor continua a funcionar, apenas sem as funções deste plugin.
Como resolver:
- Procura a chave da tua compra, por exemplo na conta do site onde compraste o plugin, ou pergunta ao fornecedor.
- Em Ficheiros, abre o ficheiro indicado na mensagem, normalmente
plugins/<Plugin>/license.ymlouplugins/<Plugin>/config.yml, e introduz a chave. - Guarda o ficheiro e reinicia o servidor.
- Se não tiveres chave, remove o plugin em Plugins, em vez de o deixares a funcionar permanentemente com erros.
Bom saber: descarrega plugins premium apenas do site oficial de venda. Versões de fontes não oficiais, em que a verificação de licença foi removida, contêm com frequência software malicioso.
O bot do Telegram do plugin não arranca
Este é o aspeto da mensagem:
Error removing old webhook
O que está por trás disto: um plugin com ligação ao Telegram regista-se no arranque com um bot no Telegram. Para isso, remove primeiro um webhook antigo, ou seja, um endereço registado para o qual o Telegram enviaria novas mensagens. Isso falhou, normalmente porque o token do bot é inválido ou o Telegram não estava acessível naquele momento. A função do Telegram permanece desligada, o servidor de Minecraft continua a funcionar normalmente.
Como resolver:
- No Telegram, abre a conversa com @BotFather e pede para te mostrar o token do teu bot ou para gerar um novo.
- Em Ficheiros, abre a configuração do plugin em
plugins/<Plugin>/e substitui o token. Copia-o por completo, um token de bot começa com um número e dois pontos. - Guarda o ficheiro e reinicia o servidor.
- Verifica na Consola se a mensagem deixa de aparecer.
Bom saber: se a mensagem aparecer apenas uma vez e no arranque seguinte já não, o Telegram esteve brevemente inacessível. Nesse caso, não precisas de alterar nada.
O plugin não obtém uma porta de rede própria
Assim aparece a mensagem:
Failed to bind to /<Address>:<Port>
[PlasmoVoice] Failed to start the udp server
O que está por trás: Alguns plugins abrem uma porta de rede própria, por exemplo para um chat de voz como o Plasmo Voice ou para uma página web com mapa ou estatísticas. O endereço ou a porta configurados não estão disponíveis no teu servidor: a porta não lhe está atribuída, já está ocupada, ou a configuração tem um endereço IP fixo que o servidor não pode utilizar assim. A funcionalidade do plugin fica desativada, o resto do servidor continua a funcionar.
Como resolver:
- Em Ficheiros, abre a configuração do plugin em
plugins/<Plugin>/e procura as entradas da porta e do endereço. - Indica uma porta que esteja atribuída ao teu servidor no painel e que ainda esteja livre.
- Deixa o endereço vazio ou define
0.0.0.0. Isto significa: acessível em todas as interfaces de rede do servidor. - Guarda o ficheiro, reinicia o servidor e verifica na Consola se a mensagem deixa de aparecer.
Bom saber: Uma porta só pode ser aberta por um programa de cada vez. Se dois plugins usarem a mesma, cada um precisa da sua própria. Mais informações sobre portas: Verificar portas do Minecraft e erros de ligação.
Plugin ou serviço adicional não consegue obter a sua porta
Assim se apresenta a mensagem:
[<Plugin>] Failed to start HTTP server: Address already in use
java.net.BindException: Address already in use
O que está por trás disto: Um plugin ou um serviço adicional, como chat de voz, um site próprio, Query ou RCON, quer abrir uma porta própria que já está ocupada. Muitas vezes, na configuração dele está a porta do jogo, e essa já foi aberta pelo próprio servidor no arranque. O servidor continua a funcionar normalmente e os jogadores podem entrar, apenas essa funcionalidade fica inativa.
Como resolver:
- Na Consola, lê o nome entre parênteses retos antes da mensagem, por exemplo
[<Plugin>]. Em Saúde do servidor, aparece em „Plugin ou serviço afetado“. - Em Ficheiros, abre a configuração em
plugins/<Plugin>/e procura a entrada da porta. No caso de Query e RCON, sãoquery.portercon.portnoserver.properties. - Indica uma porta que não seja a porta do jogo e que nenhum outro plugin utilize. Todas as portas do teu servidor são apresentadas no separador Ports.
- Para o Simple Voice Chat e outros plugins conhecidos, os assistentes em Plugins configuram automaticamente uma porta livre.
- Guarda o ficheiro, reinicia o servidor e verifica na Consola se a mensagem deixa de aparecer.
Bom saber: Reiniciar não basta, enquanto a configuração tiver a mesma porta. Mais informações sobre portas: Verificar as portas do Minecraft e os erros de ligação.
A tua mensagem não está aqui?
Lê a mensagem completa na Consola ou em logs/latest.log, incluindo as linhas anteriores. O nome entre parênteses retos no início da linha, por exemplo [DiscordSRV], normalmente indica o plugin. Se não aparecer, o stacktrace ajuda: nas linhas indentadas com at … surgem nomes de pacotes e de pastas que apontam para o plugin ou o mod. As chaves, os tokens ou as portas de que um plugin precisa estão explicados na página do projeto. Antes de alterares a configuração, cria uma cópia de segurança. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.