A plugin needs another plugin that is not installed
The server or proxy skipped a plugin because a plugin it depends on is missing, so that plugin and its commands are not available.
PluginsPaper, Spigot, Bukkit, Velocity, BungeeCord, Waterfall[09:21:44 INFO]: [bootstrap] Loading Paper 1.21.1-130-main@4f2a6c1 for Minecraft 1.21.1
[09:21:47 ERROR]: [ModernPluginLoadingStrategy] Could not load 'plugins/ChestShopPlus.jar' in 'plugins'
org.bukkit.plugin.UnknownDependencyException: Unknown/missing dependency plugins: [Vault]. Please download and install these plugins to run 'ChestShopPlus'.
at io.papermc.paper.plugin.entrypoint.strategy.modern.ModernPluginLoadingStrategy.loadProviders(ModernPluginLoadingStrategy.java:82) ~[paper-1.21.1.jar:1.21.1-130-4f2a6c1]
at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:38) ~[paper-1.21.1.jar:1.21.1-130-4f2a6c1]Your log will have other names, versions and times. Search a line of it from all failures.
What it means
Many plugins are built on top of other plugins: an economy shop needs Vault, a protection add-on needs WorldGuard, a chat plugin may need LuckPerms. A plugin lists these hard dependencies in its plugin.yml (depend:), or in velocity-plugin.json or bungee.yml on a proxy.
When the server starts, it checks that every dependency is in the plugins folder. If one is missing, it does not load the plugin that needs it. The rest of the server starts normally, but that plugin, its commands and its features are gone until the dependency is installed.
Why it happens
- The dependency was never installed. A plugin’s page usually says what it needs, and it is easy to miss.
- The dependency was removed. Deleting a plugin that others rely on breaks them at the next start.
- The dependency failed to load itself. If the needed plugin is in the folder but could not be loaded (a damaged jar, a build for another server), it counts as missing. Look for a separate load error about it in the same log.
- The wrong edition of the dependency. A Velocity or BungeeCord plugin needs the proxy edition of its dependency, not the one for Paper.
How to fix
- Read the names in the error: the plugin that was skipped and the one it needs.
- Download the missing plugin from its official page, in the build for your server software and Minecraft version, and put the jar in the
pluginsfolder. - Restart the server. A plugin added while the server runs is not loaded until the next start.
- If you do not need the plugin that was skipped, removing it is also a fix.
- If the dependency is already installed, search the log for an error about the dependency itself and fix that first.
- Proxies: install the dependency on the proxy, in its Velocity or BungeeCord edition. Installing it on the backend servers does not help a proxy plugin.
In Perland
The issue appears in the server’s Diagnosis tab with the plugin that was skipped and the one it needs. Plugin Studio adds plugins from Modrinth, Hangar or an uploaded jar; for a plugin from a catalog it adds the required dependencies along with it, and it warns when a plugin needs one that nothing provides. You can also upload a jar to the plugins folder in the Files tab and restart the server.
References
Details the diagnosis reports
Perland's server diagnosis returns this failure as the code plugin_missing_dependency with these parameters, each present only when the log names it.
| Parameter | Meaning |
|---|---|
missing | The plugin or plugins that are needed and not installed, as the log lists them (several are separated by commas; Velocity names them by their lower-case ids). |
plugin | The plugin that needs them. Absent on older Bukkit and Spigot servers, whose error names only the missing plugin. |
Log lines this page covers
UnknownDependencyException: Unknown/missing dependency plugins: [...]. Please download and install these plugins to run '...'org.bukkit.plugin.UnknownDependencyException: ...Can't load plugin ... due to missing dependency ...... (required by ...) is unavailable