Paper and Spigot plugin.yml errors, explained
Each message below was printed by a real Paper 26.3 server while loading a test plugin with one mistake in its plugin.yml. Find the line from your log, see what causes it and how to fix it.
- "Cannot add self-loop edge on node" crashes the server at startup
The plugin lists its own name in
depend,softdependorloadbefore. We reproduced the crash with each of the three keys. - StackOverflowError in PermissibleBase.calculateChildPermissions
A loop in
childrenunderpermissions: two or more permissions that include each other. It crashes at startup when any permission in the loop is given to operators by default (default: op,default: true, or nodefaultat all, which means op), because the console is an operator. Withdefault: falsethe server starts, and the same code runs later when a player is given one of them. - "Restricted name, cannot use 0x20 (space character) in a plugin name"
The
namein plugin.yml contains a space. - "Restricted name, cannot use ... as a plugin name"
The plugin is named
bukkit,minecraft,mojang,spigotorpaper. Upper or lower case does not matter. - "name ... contains invalid characters"
The
namein plugin.yml has a character outside that set. - "main may not be within the org.bukkit namespace"
The
mainvalue starts withorg.bukkit., usually because the class was created inside the wrong package. - "version is not defined" (also "name is not defined", "main is not defined")
plugin.yml has no
version(orname, ormain). It also happens when the key is there but misspelled or indented under another key. - "depend is of wrong type" (also softdepend, loadbefore, authors)
The value is written as plain text instead of a list.
- "commands are of wrong type"
Usually a command written on one line, like
commands: home, or a command whose description is put right after its name. - "load is not a valid choice"
loadis set to something other thanSTARTUPorPOSTWORLD. - "Unsupported API version"
The plugin was built for a newer Minecraft version than the server runs, or
api-versionhas a typo such as26.10instead of26.1. - "Legacy plugin ... does not specify an api-version"
plugin.yml has no
api-version, or it is lower than 1.13. - "'default' key contained unknown value"
The
defaultof a permission is not one of the allowed values:true,false,op,not op(also writtennotop,!op,admin,isopand a few other spellings). - "Child '...' contains invalid value"
Usually
truewritten in quotes, which makes it text instead of a yes/no value. - "Could not load command ... Illegal Characters"
The command or alias name contains
:. The colon is reserved for theplugin:commandform that the server creates on its own. - "Bad artifact coordinates ..., expected format is <groupId>:<artifactId>:<version>"
An entry in
librariesis missing the group, artifact or version part. - "found character '\t(TAB)' that cannot start any token"
A line is indented with a Tab. The line number is in the message.
- "Unknown/missing dependency plugins"
The required plugin is missing, or the name in
dependdoes not match the other plugin'snameexactly (case matters). - paper-plugin.yml: "[api-version] ... A value is required for this field"
paper-plugin.yml has no
api-version. - ClassNotFoundException for the plugin main class
A typo in
main, a package that was renamed without updating plugin.yml, or a jar built without the compiled classes.