Pre-launch Ordering isn’t open yet. Email us and we’ll tell you when it is

Plugins & mods

Install plugins on a Paper server

Stop the server, drop the plugin’s .jar into the plugins folder, start it again and check /plugins. When a plugin doesn’t load, it’s almost always the wrong version or a missing dependency, and the log tells you which.

Updated 2 November 2026

Wispdock’s control panel isn’t built yet. Where a step says “in your control panel”, use whatever your host gives you for files, the console and start/stop. The Minecraft side works the same everywhere.

Keep a list of plugin versions and dependencies when planning plugin server hosting, so compatibility can be checked before installation.

This guide assumes the server already runs Paper. Plugins also load on Spigot and Purpur, and the steps are the same there. If you’re on vanilla, Fabric or Forge, plugins won’t load at all: choose your server software explains what runs where.

Check the plugin fits your server

Before you download anything, look at three things on the plugin’s page.

  • Minecraft version. Plugin pages list the versions they support. A plugin last updated for 1.16 might still work on 1.21, but plenty don’t, especially ones that touch packets, world generation or NMS (the server’s internal code).
  • Platform. Bukkit and Spigot plugins run on Paper. Some newer plugins are Paper-only and won’t run on Spigot. Velocity and BungeeCord plugins are for proxies and do nothing in a Paper server’s plugins folder.
  • Java version. Minecraft 1.20.5 and newer need Java 21, and many current plugins are built for it too. A plugin built for a newer Java than the server runs fails with UnsupportedClassVersionError in the log.

Run /version in the console if you’re not sure which Minecraft version and Paper build you’re on.

Download it from a real source

Get plugins from the places authors publish them:

  • Hangar (hangar.papermc.io), PaperMC’s own plugin site.
  • Modrinth, which lists plugins next to mods. Filter by Paper or Bukkit so you don’t grab a Fabric mod by mistake.
  • SpigotMC’s resources section.
  • The author’s GitHub releases page, which many plugins link to.

Skip reupload and “free premium plugin” sites. A plugin runs with the same access as the server, so a tampered jar can read your files, add ops or join a botnet. If a plugin costs money, buy it from the author.

You want the .jar file. If a download comes as a .zip, open it on your PC and read what’s inside. Some authors ship several jars for different platforms in one archive, and only one of them belongs on Paper.

New to plugins and not sure which ones you need? The best Minecraft server plugins sorts the well-known ones by job.

Stop the server and upload the jar

  1. Take a backup if the server has a world you care about. A new plugin rarely breaks a world, but protection and world-editing plugins can change a lot quickly. The backups guide covers how.

  2. Stop the server in your control panel.

  3. Open the file manager or connect with SFTP, go into the plugins folder next to server.properties, and upload the .jar. The jar goes straight into plugins, not into a subfolder.

Paper creates the plugins folder on its first start. If it isn’t there, the server has never run, or it isn’t running Paper.

Start the server and check it loaded

Start the server and watch the console. Each plugin prints a line when it loads and another when it enables. Then run:

plugins

That’s the console form. In game it’s /plugins or /pl. Green names are enabled. A red name means the plugin loaded but failed to enable. If a plugin is missing from the list entirely, Paper couldn’t load the jar at all.

In both cases the reason is in logs/latest.log. Search for the plugin’s name and read the first error after it. The common ones:

In the logWhat it means
UnknownDependencyExceptionThe plugin needs another plugin that isn’t installed. The message names it.
UnsupportedClassVersionErrorThe plugin needs a newer Java than the server runs.
Ambiguous plugin nameTwo jars of the same plugin are in plugins. Delete the old one.
NoSuchMethodError or ClassNotFoundExceptionUsually a version mismatch: the plugin was built for a different Minecraft or dependency version.

Most plugins also make their own folder on first start, such as plugins/LuckPerms or plugins/Essentials. That folder is where the plugin keeps its config and, often, its data.

Configure it

Settings usually live in config.yml inside the plugin’s folder. Some plugins split them across several files, and some store messages in a separate messages.yml or language file.

These are YAML files, and YAML is fussy:

  • Indent with spaces, never tabs.
  • Keep the indentation of the line you’re editing. Moving a key one space left puts it in a different section.
  • Put text with a colon or a leading special character in quotes.

A broken YAML file usually makes the plugin fall back to defaults or fail to enable, with a parsing error in the log that names the line. After editing, use the plugin’s own reload command if its docs list one (many follow the pattern /<plugin> reload), or restart the server.

Plugins that add commands usually gate them behind permission nodes. Ops get most of them by default. To give a command to players who aren’t op, use a permissions plugin: the whitelist, ops and permissions guide shows how with LuckPerms.

Why not /reload

/reload disables every plugin, unloads it and loads it again inside the running server. Many plugins don’t clean up after themselves when that happens: scheduled tasks keep running twice, database connections stay open, listeners get registered again. The result is memory leaks and plugins that half work until the next restart. Paper prints a warning and asks you to confirm before it does it, and that warning is worth taking seriously.

Restart the server instead. It takes a few seconds longer and you know what state everything is in.

Plugin managers that load and unload single plugins at runtime have the same problem in a smaller dose. Use them for a quick test on a copy of the server if you like, not on the world your friends play on.

Dependencies

Some plugins need another plugin to work. Vault, ProtocolLib and PlaceholderAPI are the common ones. The plugin page says what it needs, usually under “dependencies” or “requirements”.

There are two kinds. A hard dependency must be installed or the plugin won’t load, and the log says UnknownDependencyException with the missing name. A soft dependency is optional: the plugin loads without it and turns on extra features when it’s there. Install dependencies the same way as any plugin, and match their versions to your Minecraft version too.

Vault on its own doesn’t do much. It’s a bridge, so an economy plugin like EssentialsX’s economy needs to be there for Vault to have something to connect to.

Updating a plugin

  1. Read the changelog. Major versions sometimes change the config format or drop features. Some plugins migrate their config on start, others want you to start fresh.

  2. Back up the plugin’s data folder, or the whole server.

  3. Stop the server, delete the old jar and upload the new one. Two versions of the same plugin in plugins cause an “Ambiguous plugin name” error, and only one of them loads, not always the one you wanted.

  4. Start the server and check /plugins and the log again.

There’s also an update folder. Put the new jar in plugins/update with exactly the same file name as the old one, and the server swaps it in on the next start. It’s handy when you can’t stop the server right now, but renaming jars to match is easy to get wrong.

Updating Minecraft itself is where most plugin trouble starts. Check every plugin supports the new version before you change it, and keep the old server jar and a backup until everything loads.

Removing a plugin

Stop the server and delete the plugin’s jar. Its folder in plugins stays and does nothing on its own. Keep it if you might reinstall the plugin later. Delete it if you want a clean start, but check first: some plugins keep their database in there, LuckPerms included by default, so deleting the folder deletes the data.

Blocks and items a plugin added through vanilla mechanics stay in the world. Things that only existed because of the plugin, like protected regions, homes or shop signs that the plugin managed, stop working once it’s gone.

Frequently asked questions

Do Spigot and Bukkit plugins work on Paper?

Generally yes. Paper is built on Spigot, so plugins written for Bukkit or Spigot load on it. The reverse isn’t true: a plugin made only for Paper won’t run on Spigot.

Can I use /reload after adding a plugin?

Don’t. /reload unloads and reloads every plugin in the running server, which many plugins don’t handle, and Paper warns you before doing it. Restart the server instead, or use the plugin’s own reload command after config changes.

Can I put Fabric or Forge mods in the plugins folder?

No. Mods and plugins are both .jar files but they use different loaders. Paper ignores mods, and Fabric or Forge servers don’t load Bukkit plugins. Pick the server software for what you want to run.

How many plugins can a server run?

There’s no fixed limit. What matters is what each plugin does every tick. Twenty small utility plugins can cost less than one badly configured one, so profile with spark if the server slows down after adding something.

How do I remove a plugin completely?

Stop the server and delete the plugin’s .jar from plugins. Its data folder stays behind; delete that too only if you’re sure you don’t want its config and stored data.

Wispdock’s draft 4 GB plan is meant for vanilla and plugin servers. The pricing page has the details; prices are drafts and ordering isn’t open yet.

Still stuck? Send us the details and your latest.log.