Skip to content

Minecraft · Beginner

How to install plugins on a Minecraft server

Plugins add commands, land protection, economy, permissions and much more to your server without players having to install anything. This guide shows how to download a plugin from a trusted source, upload it to the server, verify that it loaded and what to do when it does not.

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):

console
version

Commands in the panel console are typed without a slash. In game the same command is /version (requires permission).

💡 Tip:For a new plugin server we recommend Paper. It is compatible with Spigot/Bukkit plugins and adds optimisations and more detailed performance settings.

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.

CatalogueAddressNote
Modrinthmodrinth.com/pluginsFilter by platform (Paper, Spigot) and game version.
Hangarhangar.papermc.ioThe official PaperMC team catalogue.
SpigotMCspigotmc.org/resourcesThe 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.

💡 Tip:Before installing a larger plugin (economy, land protection) create a backup in the Backups tab. See the guide Backups and version changes.

2Upload the plugin to /plugins

Option A: panel file manager

  1. Open the Files tab.
  2. Click the plugins folder. If it does not exist, the server has not yet been started with Paper/Spigot — start it once and the folder will be created.
  3. 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 fieldValue
ProtocolSFTP
Host and portaddress and port from SFTP Details (the port is usually 2022)
Usernamethe name.xxxxxxxx value from SFTP Details
Passwordyour panel password

Once connected, upload the .jar files into /plugins.

text
/
├── plugins/
│   ├── LuckPerms-Bukkit-5.x.jar
│   ├── Vault.jar
│   └── EssentialsX-2.x.jar
├── world/
├── server.properties
└── server.jar

3Start 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:

log
[Server thread/INFO]: [LuckPerms] Enabling LuckPerms v5.4.x

After startup, list the plugins:

console
plugins

Plugins 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

  1. Stop the server.
  2. In the plugins folder delete the old .jar and upload the new one. Two versions of the same plugin side by side cause an "Ambiguous plugin name" error.
  3. 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).
  4. 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 messageCauseFix
UnknownDependencyExceptionA plugin it depends on is missing.Install the dependency named in the message.
UnsupportedClassVersionErrorThe plugin needs a newer Java.Pick a newer Docker Image in Startup, or an older plugin version.
Ambiguous plugin nameTwo files of the same plugin.Delete the older .jar.
Invalid plugin.ymlNot a Bukkit plugin (e.g. a Fabric/Forge mod or a proxy plugin).Download the Paper/Spigot version.
Plugin missing from the listThe 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.