Installing a plugin on a Paper server takes four actions: download the `.jar` from the project's official page, put it into `plugins/`, restart the server and check with `/plugins` that it loaded. Its settings appear in plugins/<PluginName>/config.yml after the first start.
Everything else is the details people trip over: the wrong version, the wrong Java, a missing dependency, or /reload instead of a restart. Which plugins to install first is covered in essential server plugins.
Before you install: server software and version
- Plugins, not mods. Bukkit, Spigot and Paper plugins run on Paper and its forks — Leaf, Purpur. Forge and Fabric mods won't run on Paper; if you need mods, see modded servers.
- Minecraft version. The plugin's page lists the versions it supports. On Modrinth and Hangar you see it on every file; after moving the server to a new version, check every plugin again.
- Platform. Proxy plugins (Velocity, BungeeCord) won't load on Paper, and the other way round. The plugin's page shows which platforms have files.
- Java. Paper 1.20–1.21.11 requires Java 21, and 26.1 and newer require Java 25. The server won't load a plugin built for a newer Java than yours.
Step by step
- 1
Download the plugin from its official page
Hangar (Paper's plugin repository), Modrinth, SpigotMC, the project's own GitHub or website. The file must end in
.jar; if you got a.zip, extract it and take the.jarfor your platform — usually labelledbukkitorpaper. - 2
Put the .jar into plugins/
The
plugins/folder sits next to the server jar. Put the file directly in it: the server doesn't look inside subfolders. Keep one version of each plugin — delete the old file. - 3
Restart the server
Stop the server with
stopand start it again, or use the restart button in your host's panel. The plugin loads on startup. - 4
Check that it works
Run
/pluginsin game (orpluginsin the console): enabled plugins are green, disabled ones red./version <Plugin>shows its version and authors. - 5
Configure it
On first start the plugin creates
plugins/<PluginName>/with aconfig.yml. Edit it, then apply the changes with the plugin's own reload command if it has one, or restart the server.
Why not /reload
Paper itself talks you out of /reload: the command asks for confirmation and warns that reloading may cause bugs and memory leaks, that restarting is recommended, and that the command will be removed soon. A reload doesn't unload plugins cleanly: some old state stays in memory, which is where the leaks and hard-to-trace bugs come from.
Plugins that hook into the network layer suffer most: PacketEvents, ViaVersion, anticheats. The ViaVersion developers say outright that a reboot is much better than a reload, and that their plugin won't work properly with plugin managers. The rule is simple: new plugin or new version — restart; changed config — the plugin's own reload command (/co reload, /dguard reload and so on).
Dependencies
Many plugins build on others and won't enable without them. The server says so in the console on startup — for example, Unknown/missing dependency plugins: [Vault] means you need to install Vault first. Common pairs:
| Plugin | What it needs |
|---|---|
| WorldGuard | WorldEdit |
| ViaBackwards | ViaVersion |
| ViaRewind | ViaVersion and ViaBackwards |
| Prefixes in EssentialsX | Vault (and a permissions plugin such as LuckPerms) |
| DGuard | PacketEvents, latest release |
Example: installing the DGuard anticheat
Here's a real example with a dependency and a license key. DGuard runs on Paper and Leaf 1.21–26.3; the main version is 1.21.11, where DGuard is tested and runs on production servers — the others are supported but haven't been run on production servers yet. Java: 21 or newer for 1.21.x and 25 or newer for 26.x — Paper itself requires it.
- 1
Get a key
Sign up and add a server in the panel — it gives you a
dg_…license key. Free: one server with up to 30 players online. The key is shown once, so copy it right away. - 2
Install PacketEvents
DGuard reads packets through the PacketEvents plugin and runs on its latest release only. Download it from Modrinth and put it into
plugins/. Developer builds (dev, SNAPSHOT) won't do. - 3
Add DGuard.jar and paste the key
DGuard.jar goes into
plugins/too. Paste the key intoplugins/DGuard/config.yml, thelicense.keyfield. No file yet? Start the server once and DGuard creates it. - 4
Restart the server
DGuard checks the key and connects to the site — the panel shows the server as Online. To check from the console, run
/dguard license.
license:
key: "dg_…"From then on DGuard updates itself: a new version downloads in the background and installs on the next restart, and /dguard update checks right away. On a BungeeCord or Velocity network, DGuard goes on every game server, each with its own key. Requirements and fixes are on the DGuard install page.
How to update a plugin
- 1Read the changelog on the plugin's page: major versions sometimes change the config or need a newer server.
- 2Back up at least the plugin's folder — especially if it holds a database (like LuckPerms or CoreProtect).
- 3Stop the server, delete the old
.jarand add the new one. Two versions of one plugin inplugins/is a classic cause of errors. - 4Start the server and check the console and
/plugins.
Some plugins update themselves, like DGuard. For the rest, it's worth going through the list once a month and comparing versions with the official pages.
How to remove a plugin
Stop the server and delete the .jar from plugins/. The plugins/<PluginName>/ folder with its config and data stays — delete it if you're done with the plugin, keep it if you might come back. Before removing, check whether anything depends on it: a plugin that needs it won't enable on the next start.
The plugin won't load
The answer is almost always in the console or in logs/latest.log. Find the lines with the plugin's name: the first line or two of the error is usually enough.
| What you see | Cause | Fix |
|---|---|---|
UnsupportedClassVersionError … class file version … | The plugin was built for a newer Java than yours (65.0, for example, is Java 21) | Update Java on the server |
Unsupported API version … | The plugin targets a newer server version than yours | Update the server or get the plugin version for yours |
Unknown/missing dependency plugins: […] | A dependency is missing | Install the plugin named in the brackets |
The plugin isn't in /plugins | The file is in a subfolder, isn't a .jar, or is a Fabric/Forge mod | Put the .jar directly into plugins/ and make sure it's a Paper plugin |
The plugin is red in /plugins | It failed while enabling | Look for the error further up in the log |
| Odd behaviour after an update | Two versions of one plugin in plugins/ | Keep one — the new one |
| DGuard panel: "No PacketEvents" | PacketEvents isn't installed or didn't load | Add the latest release from Modrinth, not a dev build, and restart |
FAQ
Where do I put plugins on a Minecraft server?
Into the plugins/ folder at the root of the server, next to the server jar. The .jar goes directly into that folder, not into a subfolder.
Can I install a plugin without restarting the server?
Technically, with /reload or a plugin manager, but Paper warns about bugs and memory leaks and the command is going away. Install new plugins and new versions with a restart.
Why is my plugin red in /plugins?
Red means it isn't enabled: it failed on startup. The reason is in the console or logs/latest.log — usually the wrong server version, the wrong Java or a missing dependency.
Do Spigot plugins work on Paper?
Generally, yes: Paper grew out of Spigot and runs Bukkit and Spigot plugins. The reverse isn't always true: Paper-only plugins may not work on Spigot.
Can I add mods to a plugin server?
Not on Paper: Forge and Fabric mods don't run on it. Mods need a separate server on Forge, NeoForge or Fabric.
Sources
- Paper: adding plugins
- Paper: source of the /reload command
- ViaVersion: installation
- WorldGuard on Modrinth
- ViaBackwards on GitHub
- EssentialsX on Modrinth
- PacketEvents on Modrinth
- DGuard, the best anticheat for a modern Minecraft server: checks compared with GrimAC, Vulcan, Polar, Intave and Matrix
- DGuard: installation, requirements and troubleshooting
- DGuard: supported Paper and Leaf versions