Minecraft · Beginner
How to install plugins on a Minecraft server
Before you start
Plugins only work on server software with the Bukkit API — that is Paper, Spigot or their forks (e.g. Purpur). They will not load on a plain Vanilla server, nor on Fabric, Forge or NeoForge — those use mods instead (see the guide Fabric, Forge and modpacks).
To find out which software and version your server runs, use this command in the panel console (Console / Terminal tab):
versionCommands in the panel console are typed without a slash. In game the same command is /version (requires permission).
Where to download plugins
Only download from official catalogues or directly from the author. A plugin is executable Java code with the same rights as the server — modified or "unlocked" paid plugins from unofficial sites are a common source of malware and backdoors.
| Catalogue | Address | Note |
|---|---|---|
| Modrinth | modrinth.com/plugins | Filter by platform (Paper, Spigot) and game version. |
| Hangar | hangar.papermc.io | The official PaperMC team catalogue. |
| SpigotMC | spigotmc.org/resources | The largest and oldest catalogue; some entries link to an external download. |
You always download a file with the .jar extension. If the author offers several files, pick the one for Paper/Spigot/Bukkit, not Fabric, Forge or Velocity/BungeeCord (proxy).
Compatibility with your server version
Check three things on the plugin page:
- Game version — the plugin must support the version your server runs (e.g. 1.21.x). A plugin for an older version often loads but may misbehave; a plugin for a newer version usually does not load at all.
- Dependencies — some plugins need another plugin (typically Vault, ProtocolLib or PlaceholderAPI). Upload dependencies into the same folder.
- Java version — Minecraft 1.20.5 and newer requires Java 21, versions 1.18 to 1.20.4 Java 17. You choose Java in the Startup tab under Docker Image, if the template offers more than one.
1Stop the server
In the panel click Stop and wait until the status changes to Offline. Plugins load when the server starts; uploading them while it runs and then using /reload is not recommended — Paper and Spigot warn about it themselves, because it often causes memory leaks and errors.
2Upload the plugin to /plugins
Option A: panel file manager
- Open the Files tab.
- Click the
pluginsfolder. If it does not exist, the server has not yet been started with Paper/Spigot — start it once and the folder will be created. - Click Upload and select the downloaded .jar file, or drag it into the window.
Option B: SFTP (many files at once)
You will find the login details in the Settings tab under SFTP Details. The password is the same as your panel password. Connect with a client such as FileZilla or WinSCP:
| Client field | Value |
|---|---|
| Protocol | SFTP |
| Host and port | address and port from SFTP Details (the port is usually 2022) |
| Username | the name.xxxxxxxx value from SFTP Details |
| Password | your panel password |
Once connected, upload the .jar files into /plugins.
/
├── plugins/
│ ├── LuckPerms-Bukkit-5.x.jar
│ ├── Vault.jar
│ └── EssentialsX-2.x.jar
├── world/
├── server.properties
└── server.jar3Start and check the console
Start the server with the Start button and watch the console. A plugin that loaded successfully reports a line similar to this:
[Server thread/INFO]: [LuckPerms] Enabling LuckPerms v5.4.xAfter startup, list the plugins:
pluginsPlugins shown in green are running; red ones failed to load or were disabled because of an error. For a red plugin, search the console (or logs/latest.log) for its name — the error message is usually just above it.
4Configure the plugin
On first start most plugins create their own folder, e.g. plugins/Essentials/ containing config.yml. You can edit it directly in the panel file manager. YAML files are sensitive to indentation — use spaces, not tabs.
For changes to take effect restart the server, or use the plugin's own reload command if it has one (e.g. lp reloadconfig for LuckPerms). Avoid the generic /reload command.
Updating and removing a plugin
- Stop the server.
- In the
pluginsfolder delete the old .jar and upload the new one. Two versions of the same plugin side by side cause an "Ambiguous plugin name" error. - Keep the plugin's config folder — the new version usually picks it up. Back it up before a major update (you can download it via SFTP).
- Start the server and check the console.
Removing a plugin: stop the server and delete its .jar. Only delete its config and data folder if you will not need it again.
Common errors
| Console message | Cause | Fix |
|---|---|---|
UnknownDependencyException | A plugin it depends on is missing. | Install the dependency named in the message. |
UnsupportedClassVersionError | The plugin needs a newer Java. | Pick a newer Docker Image in Startup, or an older plugin version. |
Ambiguous plugin name | Two files of the same plugin. | Delete the older .jar. |
Invalid plugin.yml | Not a Bukkit plugin (e.g. a Fabric/Forge mod or a proxy plugin). | Download the Paper/Spigot version. |
| Plugin missing from the list | The file is in the wrong folder or the server runs Vanilla/Fabric. | Check the /plugins path and the server software with the version command. |
Looking for Minecraft server hosting?
Paper, Fabric, Forge and modpacks in the Pterodactyl panel on our own hardware in Frankfurt am Main. If you get stuck, contact support.