Überblick
- 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 mitUnsatisfiedLinkError, sobald das Plugin zum ersten Mal seine Datenbank anfasst, oft lange, nachdem der Server problemlos gelaufen ist. - Zwei Plugins deklarieren in ihrer
plugin.ymldenselben Befehlsnamen - nur eines von ihnen besitzt tatsächlich den nackten Befehl; das andere fällt stillschweigend auf seine qualifizierte Form/plugin:commandzurü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 #
- Lege
PluginGuard.jarin deinen Ordnerplugins/. - Starte deinen Server (neu). PluginGuard hat keine erforderlichen Abhängigkeiten und braucht keine Einrichtung -
config.ymlund die Sprachdateien inlang/(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. - Lies die Konsolenausgabe (oder führe jederzeit selbst
/pluginguard scanaus).
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.