PerlandFailure catalogue

A plugin loaded but failed to start

Errorplugin_enable_failed

A plugin threw an error while the server or proxy was starting it, so the server runs without that plugin.

What the log shows

Written example6 lines
[11:42:08 INFO]: [TownChat] Enabling TownChat v2.4.1
[11:42:08 ERROR]: Error occurred while enabling TownChat v2.4.1 (Is it up to date?)
java.lang.IllegalArgumentException: Unknown channel format: 'global' in config.yml
    at TownChat-2.4.1.jar//dev.example.townchat.ChannelLoader.parse(ChannelLoader.java:57) ~[TownChat-2.4.1.jar:?]
    at TownChat-2.4.1.jar//dev.example.townchat.TownChatPlugin.onEnable(TownChatPlugin.java:31) ~[TownChat-2.4.1.jar:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:288) ~[paper-api-1.21.3-R0.1-SNAPSHOT.jar:?]

Your log will have other names, versions and times. Search a line of it from all failures.

What it means

A plugin starts in two steps. First the server loads it (reads its jar and its description file). Then it enables it: the plugin’s own start-up code runs, reads its configuration, registers its commands and connects to anything it needs. This issue means the first step worked and the plugin’s own code threw an error in the second.

The server disables the plugin and keeps running without it. Its commands, listeners and features are missing until the cause is fixed. On Velocity the error comes from the plugin’s constructor, on BungeeCord and Waterfall from its onEnable.

Why it happens

  • A configuration error. A value the plugin does not accept, a YAML file that does not parse, or a setting left from an older version.
  • The plugin does not fit the server version. A build made for an older or newer Minecraft version calls something the server does not have. Paper prints “Is it up to date?” for this reason.
  • Something it connects to is not there. A database that is down or has the wrong password, a web service that does not answer.
  • A conflict with another plugin. Two plugins that replace the same thing, or a dependency in a version the plugin does not support.
  • A bug in the plugin. The exception under the line shows where the plugin’s code failed.

How to fix

  1. Read the exception printed right under the error line. Its first lines usually name the file or setting that is wrong.
  2. Check the plugin’s configuration in its folder under plugins/. Take a copy of the folder first, then fix the setting the exception names.
  3. Make sure the plugin’s build matches your server software and Minecraft version, and update it if a newer build exists.
  4. If the plugin uses a database, check its address, user and password in the plugin’s configuration.
  5. Restart the server after each change: a plugin is only enabled at start.
  6. If none of this helps, send the plugin’s author the error with the lines under it, and your server software and version.

In Perland

The issue appears in the server’s Diagnosis tab with the plugin’s name and version, and the excerpt shows the plugin’s own error. Plugin Studio can update the plugin or remove it, and its config studio opens the plugin’s configuration files. You can also edit them in the Files tab, then restart the server.

References

Details the diagnosis reports

Perland's server diagnosis returns this failure as the code plugin_enable_failed with these parameters, each present only when the log names it.

ParameterMeaning
pluginThe plugin that failed to start, by its name (its id on Velocity).
versionThe plugin's version as the log prints it. Present on Paper, Spigot and Bukkit; absent on Velocity, BungeeCord and Waterfall, which print no version here.

Log lines this page covers

  • Error occurred while enabling ... v... (Is it up to date?)
  • Can't create plugin ...
  • Exception encountered when loading plugin: ...