Présentation

Disponible v1.2.1
Plateformes
Paper, Purpur, Spigot, Folia
Minecraft
1.21 à 1.21.11, 26.1, 26.2
Java
21
Requis
Aucun
Facultatif
Aucun

Véritable analyseur de compatibilité des plugins au niveau du bytecode pour les serveurs Paper/Spigot. PluginGuard ne devine pas à partir d'une base de données en ligne ou d'une comparaison de chaînes de version : il ouvre chaque jar de votre dossier plugins/ et inspecte les octets réels : la version du fichier de classe compilé, les métadonnées déclarées dans plugin.yml/paper-plugin.yml, les bibliothèques incluses ou « shadées », les binaires natifs intégrés et le graphe de dépendances entre vos plugins installés. Rien n'est exécuté et rien n'est modifié : PluginGuard ne fait que lire.

Pourquoi cet outil existe #

Chacune des vérifications ci-dessous modélise une manière réelle et précise dont un plugin peut tomber en panne en silence et qu'un vérificateur qui se contente de regarder « le numéro de version semble-t-il correct » manquera :

  • Un plugin est mis à jour et est désormais compilé pour une version de Java plus récente que celle de votre serveur ; il ne se contentera pas de mal se comporter, la JVM refusera purement et simplement de charger la classe (UnsupportedClassVersionError) et le plugin ne pourra pas s'activer, avec une trace de pile déroutante.
  • Un plugin inclut le pilote JDBC SQLite par shading et relocalise le paquet org.sqlite pendant la compilation (une erreur de shading très courante) ; la liaison JNI native repose sur les noms, donc cela casse en silence à l'exécution avec UnsatisfiedLinkError la première fois que le plugin touche à sa base de données, souvent bien après que le serveur a fonctionné sans problème.
  • Deux plugins déclarent le même nom de commande dans leur plugin.yml : un seul d'entre eux est réellement propriétaire de la commande nue ; l'autre se rabat discrètement sur sa forme qualifiée /plugin:command et les administrateurs passent une heure à se demander pourquoi une commande « ne fonctionne pas ».
  • Un plugin déclare une dépendance obligatoire qui n'est pas installée ou qui a été supprimée lors d'une mise à jour ultérieure : il ne pourra pas s'activer, et la vraie raison est enfouie dans un message de journal d'une seule ligne facile à manquer dans un long journal de démarrage.

Installation #

  1. Déposez PluginGuard.jar dans votre dossier plugins/.
  2. Démarrez (ou redémarrez) votre serveur. PluginGuard n'a aucune dépendance obligatoire et ne nécessite aucune configuration : config.yml et les fichiers de langue de lang/ (en, tr, es, de, fr, ru) sont créés automatiquement avec des valeurs par défaut raisonnables, et il lance sa première analyse automatiquement 5 secondes après le démarrage, sauf si vous le désactivez.
  3. Lisez la sortie de la console (ou exécutez vous-même /pluginguard scan à tout moment).

Compatibilité #

  • Minecraft 1.21 à 1.21.11, ainsi que 26.1 et 26.2. Java 21 ou plus récent. Paper, Spigot, forks compatibles Paper et Folia.
  • PluginGuard compare les plugins à la version de Java et d'API que signale le serveur ; il vérifie donc aussi correctement lorsque le serveur exécute une version plus récente de Minecraft/Java.

Assistance #

Merci d'utiliser l'onglet Discussion de la page officielle de la ressource BuiltByBit ou les messages privés BuiltByBit pour les demandes d'assistance et les rapports de bogues.