Visão geral
- Plataformas
- Paper, Purpur, Spigot, Folia
- Minecraft
- 1.21 a 1.21.11, 26.1, 26.2
- Java
- 21
- Obrigatório
- Nenhum
- Opcional
- Nenhum
Verdadeiro analisador de compatibilidade de plugins no nível do bytecode para servidores Paper/Spigot. O PluginGuard não adivinha a partir de um banco de dados online nem de uma comparação de textos de versão: ele abre cada jar da sua pasta plugins/ e inspeciona os bytes reais: a versão do arquivo de classe compilado, os metadados declarados em plugin.yml/paper-plugin.yml, as bibliotecas incluídas ou empacotadas com shade, os binários nativos embutidos e o grafo de dependências entre os plugins instalados. Nada é executado e nada é modificado - o PluginGuard apenas lê.
Por que ele existe #
Cada uma das verificações abaixo modela uma maneira real e específica pela qual um plugin pode quebrar em silêncio e que um verificador que apenas olha "o número da versão parece certo" deixará passar:
- Um plugin é atualizado e agora está compilado para uma versão do Java mais nova do que a que o seu servidor executa; ele não vai apenas se comportar mal, a JVM vai se recusar de vez a carregar a classe (
UnsupportedClassVersionError) e o plugin não será ativado, com um stack trace confuso. - Um plugin inclui o driver JDBC do SQLite com shade e realoca o pacote
org.sqlitedurante a compilação (um erro de shading muito comum); a ligação JNI nativa é baseada em nomes, então isso quebra em silêncio em tempo de execução comUnsatisfiedLinkErrorna primeira vez que o plugin toca no banco de dados, muitas vezes bem depois de o servidor estar funcionando sem problemas. - Dois plugins declaram o mesmo nome de comando no
plugin.yml- só um deles realmente é dono do comando simples; o outro recua discretamente para a forma qualificada/plugin:commande os administradores passam uma hora se perguntando por que um comando "não está funcionando". - Um plugin declara uma dependência obrigatória que não está instalada ou que foi removida em uma atualização posterior - ele não será ativado, e o motivo real fica enterrado em uma mensagem de log de uma linha, fácil de passar despercebida em um log de inicialização longo.
Instalação #
- Coloque
PluginGuard.jarna sua pastaplugins/. - Inicie (ou reinicie) o servidor. O PluginGuard tem zero dependências obrigatórias e não precisa de configuração - o
config.ymle os arquivos de idioma emlang/(en, tr, es, de, fr, ru) são criados automaticamente com padrões sensatos, e ele executa a primeira análise automaticamente 5 segundos após a inicialização, a menos que você a desative. - Leia a saída do console (ou execute
/pluginguard scanvocê mesmo a qualquer momento).
Compatibilidade #
- Minecraft 1.21 até 1.21.11, além de 26.1 e 26.2. Java 21 ou mais recente. Paper, Spigot, forks compatíveis com Paper e Folia.
- O PluginGuard compara os plugins com a versão do Java e da API que o servidor informa, então também verifica corretamente quando o servidor executa uma versão mais nova do Minecraft/Java.
Suporte #
Use a aba de Discussão da página oficial do recurso no BuiltByBit ou as mensagens diretas do BuiltByBit para pedidos de suporte e relatos de bugs.