NO_DESCRIPTOR | CRITICAL | The jar has no plugin.yml or paper-plugin.yml at all - it's not a valid plugin. |
DESCRIPTOR_INVALID_YAML | CRITICAL | The descriptor is not valid YAML - the server cannot load the plugin. |
DESCRIPTOR_TOO_LARGE | WARNING | The descriptor is larger than 5 MB uncompressed and was not read (possible zip bomb or corrupted archive). The jar's other checks are skipped. |
NO_NAME_DECLARED | CRITICAL | The descriptor has no name:. |
INVALID_PLUGIN_NAME | CRITICAL | The plugin name contains characters the server rejects (allowed: letters, digits, space, _, ., -). |
NO_VERSION_DECLARED | CRITICAL | The descriptor has no version:. |
NO_MAIN_DECLARED | CRITICAL | The descriptor doesn't declare a main: class. |
MAIN_CLASS_MISSING | CRITICAL | The declared main class has no matching .class file in the jar. |
MAIN_CLASS_NOT_VISIBLE | INFO | The main class is not stored as a normal .class entry (protected or obfuscated jar), but the server loaded and enabled the plugin, so it works. If the plugin is not running, MAIN_CLASS_MISSING is reported instead. |
MAIN_CLASS_UNREADABLE | WARNING | The main class entry exists but its bytecode header couldn't be read - the jar may be corrupted. |
UNREADABLE_JAR | CRITICAL | The file isn't a valid zip/jar archive at all (truncated download, corrupted rebuild, etc). |
SCAN_ERROR | WARNING | PluginGuard hit an unexpected error while inspecting this jar; the scan continued with the other jars. |
JAVA_VERSION_TOO_NEW | CRITICAL | The main class was compiled for a newer Java version than this server is running - the JVM will refuse to load it. |
LIBRARY_JAVA_VERSION_TOO_NEW | WARNING | Other classes inside the jar (usually a bundled library) were compiled for a newer Java version than the server runs. The plugin starts, but fails when it uses those classes. |
MISSING_API_VERSION | WARNING | No api-version is declared; the server treats the plugin as a legacy plugin. |
API_VERSION_INVALID | WARNING | The declared api-version is not a valid version such as 1.21. |
API_VERSION_NEWER_THAN_SERVER | WARNING | The plugin declares api-version for a newer Minecraft/Paper API than this server exposes. |
DUPLICATE_PLUGIN_NAME | CRITICAL | More than one jar declares the same plugin name - the server loads one and rejects the other (typically an old version left behind after an update). |
MISSING_HARD_DEPENDENCY | CRITICAL | A depend: entry isn't installed (and isn't provided by another plugin) - this plugin will fail to enable. |
MISSING_SOFT_DEPENDENCY | INFO | A softdepend: entry isn't installed - optional features will just be disabled. |
CIRCULAR_DEPENDENCY | CRITICAL | Plugins depend on each other in a circle through depend: - none of them can load. |
SHADED_LIBRARY_COLLISION | WARNING | Two or more plugins bundle the same unrelocated library. Usually harmless, occasionally a source of confusing version-mismatch bugs. |
DUPLICATE_NATIVE_LIBRARY | INFO | Multiple plugins bundle their own copy of the same native binary. |
SQLITE_JNI_RELOCATED | CRITICAL | This jar's SQLite JDBC driver was shaded with its org.sqlite package renamed, which breaks the native JNI binding at runtime (only matters if the plugin uses SQLite). |
UPDATE_AVAILABLE | INFO | Modrinth has a newer release of this exact plugin jar (only with integrations.plugin-updates.enabled: true). |
SQLITE_DRIVER_MISSING | WARNING | This jar contains a native SQLite library but not the driver class it belongs to (renamed or removed, for example by an obfuscator). |
BUNDLED_SERVER_API | WARNING | The jar contains its own copy of the Bukkit API classes - almost always a shading mistake. |
COMMAND_COLLISION | WARNING | Two plugins declare the same command name or alias; only one will own the bare command. |
PLUGIN_NOT_LOADED | WARNING | The jar is in plugins/ but the running server has no plugin with that name, and nothing else explains it. Either it failed to load (see the startup log) or it was added after startup. |
PLUGIN_NOT_ENABLED | WARNING | The server loaded the plugin but it is not enabled (it failed while enabling). |
PLUGIN_VERSION_MISMATCH | INFO | The jar on disk has a different version than the running plugin - the update applies after a restart. |