Überblick

Veröffentlicht v1.2.1
Plattformen
Paper, Purpur, Spigot, Folia
Minecraft
1.21 bis 1.21.11, 26.1, 26.2
Java
21
Erforderlich
Keine
Optional
Keine

Echter Plugin-Kompatibilitätsscanner auf Bytecode-Ebene für Paper-/Spigot-Server. PluginGuard rät nicht anhand einer Online-Datenbank oder eines Versionsstring-Vergleichs - es öffnet jedes Jar in deinem Ordner plugins/ und prüft die tatsächlichen Bytes: die Version der kompilierten Klassendatei, die deklarierten Metadaten aus plugin.yml/paper-plugin.yml, die gebündelten bzw. geshadeten Bibliotheken, eingebettete native Binärdateien und den Abhängigkeitsgraphen zwischen deinen installierten Plugins. Nichts wird ausgeführt und nichts verändert - PluginGuard liest nur.

Warum es das gibt #

Jede der folgenden Prüfungen bildet einen realen, konkreten Weg ab, auf dem ein Plugin unbemerkt kaputtgehen kann und den ein Prüfer, der nur schaut, ob die Versionsnummer richtig aussieht, übersieht:

  • Ein Plugin wird aktualisiert und ist nun für eine neuere Java-Version kompiliert, als dein Server ausführt; es verhält sich nicht nur falsch, die JVM weigert sich schlicht, die Klasse zu laden (UnsupportedClassVersionError), und das Plugin lässt sich mit einem verwirrenden Stacktrace nicht aktivieren.
  • Ein Plugin shadet den SQLite-JDBC-Treiber und verschiebt beim Build das Paket org.sqlite (ein sehr verbreiteter Shading-Fehler) - die native JNI-Bindung ist namensbasiert, daher bricht das unbemerkt zur Laufzeit mit UnsatisfiedLinkError, sobald das Plugin zum ersten Mal seine Datenbank anfasst, oft lange, nachdem der Server problemlos gelaufen ist.
  • Zwei Plugins deklarieren in ihrer plugin.yml denselben Befehlsnamen - nur eines von ihnen besitzt tatsächlich den nackten Befehl; das andere fällt stillschweigend auf seine qualifizierte Form /plugin:command zurück, und Administratoren rätseln eine Stunde, warum ein Befehl „nicht funktioniert“.
  • Ein Plugin deklariert eine harte Abhängigkeit, die nicht installiert ist oder in einem späteren Update entfernt wurde - es lässt sich nicht aktivieren, und der wahre Grund steckt in einer einzeiligen Logmeldung, die in einem langen Startlog leicht übersehen wird.

Installation #

  1. Lege PluginGuard.jar in deinen Ordner plugins/.
  2. Starte deinen Server (neu). PluginGuard hat keine erforderlichen Abhängigkeiten und braucht keine Einrichtung - config.yml und die Sprachdateien in lang/ (en, tr, es, de, fr, ru) werden automatisch mit sinnvollen Standardwerten erstellt, und der erste Scan läuft automatisch 5 Sekunden nach dem Start, sofern du das nicht abschaltest.
  3. Lies die Konsolenausgabe (oder führe jederzeit selbst /pluginguard scan aus).

Kompatibilität #

  • Minecraft 1.21 bis 1.21.11 sowie 26.1 und 26.2. Java 21 oder neuer. Paper, Spigot, Paper-kompatible Forks und Folia.
  • PluginGuard vergleicht Plugins mit der Java- und API-Version, die der Server meldet, und prüft daher auch korrekt, wenn der Server eine neuere Minecraft-/Java-Version ausführt.

Support #

Nutze für Support-Anfragen und Fehlermeldungen bitte den Reiter „Discussion“ der offiziellen BuiltByBit-Ressourcenseite oder BuiltByBit-Direktnachrichten.