How to Install Plugins on a Minecraft Server: Paper, Safe Downloads and Fixes
Quick answer
To install plugins, your server needs plugin-capable software such as Paper, Purpur or Spigot. Download the plugin's .jar from an official source like Hangar, Modrinth or SpigotMC, place it in the server's plugins folder and restart the server rather than using /reload. On first start the plugin creates its own folder with a config file. If a plugin does not load, search for its name in logs/latest.log, where a missing dependency, the wrong Minecraft version or an outdated Java version will usually show up.
What is the difference between Minecraft plugins and mods?
A plugin runs only on the server, and players do not need to install anything: anyone with a regular Minecraft client can join a plugin server. Plugins do not add new blocks or items. They extend the existing game with rules, commands, menus and protection. A mod changes the game's code, often adds new content, and most mods require players to install the same mods on their side.
That split also decides which server software you need. Plugins run on Bukkit API software such as Paper, Purpur and Spigot, while Fabric and NeoForge are mod loaders. Mixing them does not work: drop a Fabric mod into Paper's plugins folder and the server will not even see it. Setting up a server from scratch is covered in our guide to making a Minecraft server; this one focuses on adding plugins to a server that is already running.
| Aspect | Plugin | Mod |
|---|---|---|
| Where it runs | Server only | Usually server and client |
| Players install anything | No | Yes, for most mods |
| Server software | Paper, Purpur, Spigot | Fabric, NeoForge, Forge |
| New blocks and items | No, works with vanilla content | Yes |
| Typical use | Permissions, protection, economy, minigames | New dimensions, machines, content packs |
Should you use Paper, Purpur or Spigot for plugins?
Paper is the most common choice for a plugin server today. It builds on Spigot, adds performance improvements and bug fixes, and runs the vast majority of plugins written for Spigot. Purpur is a fork of Paper: it carries everything Paper does and adds a long list of extra options in purpur.yml, from rideable mobs to adjustable gameplay mechanics.
Spigot still works and may be the only option for a few older plugins, but newer plugins that use Paper-specific APIs will not run on it. The short rule: start with Paper unless you have a specific reason not to, and move to Purpur if you want to fine-tune gameplay. Switching from Paper to Purpur is usually just a matter of replacing the server .jar, though you should still take a backup first.
Where can you download Minecraft plugins safely?
Only download plugins from well-known sources: Hangar, run by the PaperMC team; Modrinth, which hosts both mods and plugins; the SpigotMC resources section; and the plugin's own official website or GitHub releases page. These platforms tie files to developer accounts and show version history and supported Minecraft versions. Checking download counts, the last update date and recent reviews is still a good habit.
Cracked or leaked copies of paid plugins are a real risk. A plugin runs as Java code with full access to your server, so malicious code hidden inside can hand players operator rights, delete files or use your machine for something else entirely. The fractureiser incident in 2023 showed that malware spread through compromised accounts can turn up even on well-known platforms. If you do not want to pay for a plugin, look for a free alternative instead of a pirated copy.
- Hangar: hangar.papermc.io, for the Paper ecosystem
- Modrinth: modrinth.com, for plugins and mods
- SpigotMC Resources: Spigot and Paper compatible plugins
- The developer's own site or GitHub Releases page
How do you install a plugin in the plugins folder?
Installation is simple: put the plugin's .jar file in the plugins folder inside the server's main directory and restart the server. On a rented server you do this through the panel's file manager or over SFTP; in the TheCrewHost game panel you can drag the .jar straight into the plugins folder. If a plugin arrives as a zip, extract it first. Only the .jar belongs in the plugins folder.
When the server starts, the plugin creates a folder with its own name inside plugins, usually containing a config.yml. Confirm the install with the /plugins command in game or in the console: plugins shown in green are running, red ones were loaded but disabled. A plugin that does not appear in the list at all failed to load.
Add plugins one at a time. If you drop ten plugins in at once and something breaks, finding the culprit gets much harder. After each one, start the server, check the log and try its basic commands.
Why restart the server instead of using /reload?
The /reload command shuts down and reloads every plugin, but most plugins are not written to survive that. The result can be stale data left in memory, event listeners that fire twice, broken database connections and features that quietly stop working without any error. That is why Paper meets the command with a warning and asks for confirmation, and the warning deserves to be taken seriously.
The correct approach is a full restart. If you only changed one plugin's settings, many plugins ship their own reload command, such as /essentials reload for EssentialsX. Those only re-read that plugin's config and are generally safe. Loading and unloading plugins live with tools like PlugMan carries the same risks as /reload and is best kept to test servers.
How do you edit plugin config files?
Most plugin settings are in YAML, and YAML is sensitive to indentation. Use spaces rather than tabs, leave a space after each colon and put text with special characters in quotes. A single indentation mistake can make the plugin unable to read its config, so it falls back to defaults and sometimes even resets the file.
Copy the file before you edit it, apply the change with the plugin's own reload command or a restart, and watch the log for warnings from that plugin. Running a file you are unsure about through an online YAML validator saves time. The same rules apply when you translate message files; save them as UTF-8 so accented and non-Latin characters survive.
Why do dependency plugins and version compatibility matter?
Some plugins cannot run without others. The best-known examples are Vault (and its maintained fork VaultUnlocked), which bridges economy plugins with shop and rank plugins; LuckPerms, the permission system many plugins hook into; and ProtocolLib or PacketEvents, which plugins use to work with network packets. The plugin page lists what it needs. In plugin.yml, entries under depend are required and entries under softdepend are optional.
Version compatibility is the other big topic. Every plugin is written for certain Minecraft versions, and plugins that deal with packets or server internals in particular need a new release after each major Minecraft update. Before moving your server to a new Minecraft version, check that every plugin supports it. If one critical plugin is not ready, waiting beats running a half-broken server. New Minecraft versions can also require a newer Java version, so review that too.
Which plugins does a server actually need?
Every server is different, but most community servers share the same core needs: a permission system that decides who can do what, a way to protect builds, logging and rollback against griefers, and a profiler to diagnose performance problems. The table below lists common, actively developed options for each need.
Fewer plugins usually means a more stable server. Avoid installing two plugins that do the same job, such as two protection systems or two economy plugins, because they will clash. For performance, spark ships with Paper from 1.21 onward, and /spark tps and /spark profiler show which plugin is causing load. General lag causes are covered in a separate guide; what matters here is measuring with spark whether a new plugin slows the server down.
| Purpose | Common plugins | Note |
|---|---|---|
| Permissions and ranks | LuckPerms | Manage permissions in a web editor |
| Core commands | EssentialsX | Homes, teleports, kits, messaging |
| Region protection | WorldGuard + WorldEdit | For spawn and special areas |
| Player land claims | GriefPrevention | Lets players protect their own builds |
| Anti-grief logging | CoreProtect | Block logs and rollbacks |
| Economy bridge | Vault / VaultUnlocked | Dependency for economy plugins |
| Performance profiling | spark | Bundled with Paper |
| Bedrock players | Geyser + Floodgate | For mobile and console players |
How do you update plugins safely?
Before updating, back up the plugins folder and the world, then read the release notes for the new version. Some updates change the config format or migrate a database, and rolling those back without a backup is painful. Stop the server, delete the old .jar, add the new one and start the server. Leaving two versions of the same plugin in the folder makes it unpredictable which one loads.
Bukkit-based servers also have a plugins/update folder: a .jar you place there with the same file name replaces the old one on the next start. If you run many plugins, update the critical ones first and work through the rest one at a time rather than all at once, so a problem points straight to its cause.
How do you find out why a plugin will not load?
The server writes to logs/latest.log every time it starts. If a plugin is missing from /plugins or shows in red, search that file for the plugin's name and focus on the first ERROR or WARN line. The top few lines of the long Java stack trace below it usually state the cause, and most problems fit one of a handful of patterns.
If the error still makes no sense, go to the plugin's support channel, GitHub issues or Discord with the full error, your server software and version, and the plugin version. Before sharing a log, make sure it contains no IP addresses or passwords you would rather keep private.
| What the log says | Likely cause | Fix |
|---|---|---|
| Unknown dependency or missing dependency | A required dependency plugin is not installed | Install the named plugin and restart |
| UnsupportedClassVersionError | The server's Java version is too old | Switch to the Java version the plugin requires |
| Invalid plugin.yml / Invalid description | Corrupt or wrong file, possibly a mod | Download the right file again from an official source |
| NoSuchMethodError / NoClassDefFoundError | Plugin built for a different Minecraft version | Find a compatible release or remove it |
| Ambiguous plugin name | Two .jar files of the same plugin | Delete the old version |
| Error loading config or a YAML error | Indentation mistake in the config | Fix the YAML or restore the backup |
Install a plugin on your Minecraft server in 7 steps
- 1
Check your server software
Make sure the server runs Paper, Purpur or Spigot and note its Minecraft version; Fabric and NeoForge do not run plugins.
- 2
Download from an official source
Get the .jar from Hangar, Modrinth, SpigotMC or the developer's site, picking a release that supports your server version.
- 3
Work out the dependencies
Also download any dependencies the plugin page lists, such as Vault, LuckPerms, ProtocolLib or PacketEvents.
- 4
Take a backup
Back up the plugins folder and the world so you can roll back if something goes wrong.
- 5
Add the file to plugins
Stop the server, upload the .jar files to the plugins folder and start the server again rather than using /reload.
- 6
Confirm it loaded
Check that the plugin shows in green under /plugins and look through logs/latest.log for errors.
- 7
Configure it
Edit the config.yml created in the plugin's folder, mind the YAML indentation, and apply the change with the plugin's reload command or a restart.
Frequently Asked Questions
Do players need to download anything for plugins?
No. Plugins run only on the server, and players connect with the normal Minecraft client. The one exception is resource packs: some plugins send a resource pack for custom visuals or sounds and ask the player to accept it. Even then the player installs nothing by hand, because the pack downloads automatically when they join.
How many plugins can a server run?
There is no fixed limit; what the plugins do matters far more than how many there are. Twenty plugins that only add commands can cost less than one badly written plugin that runs every tick. Measuring tick times with spark after each new plugin is a much better guide than counting. Removing plugins you do not use also speeds up startup.
Do Spigot plugins work on Paper?
The vast majority do, because Paper carries Spigot's API. Plugins written for Paper or Purpur may not work on Spigot, since they use Paper-only features. Very old plugins, or ones that reach directly into server internals, can cause trouble; check whether the plugin page mentions Paper compatibility.
How do I remove a plugin completely?
Stop the server, delete the plugin's .jar from the plugins folder and start the server. The folder the plugin created holds its settings and data; keep it if you might come back to the plugin, or delete it for a clean slate. Check whether other plugins depend on it first, or they will stop loading too.
Can I install plugins on a Fabric server?
Bukkit plugins do not run directly on Fabric or NeoForge. Fabric has server-side mods that do the same jobs, and some projects such as LuckPerms and spark also ship Fabric versions. Hybrid server software exists for people who want mods and plugins together, but it is more prone to compatibility problems.
I found a free download of a paid plugin. Should I use it?
No. Leaked and cracked plugins are one of the most common ways malicious code reaches servers, and that code runs with full access to your machine. Backdoors that grant hidden operator rights and code that deletes files have both turned up in such copies. You also lose updates and support. A free, open-source alternative almost always exists.
Do plugins slow down the server?
They can. Frequent scheduled tasks, heavy database queries or plugins that handle every block event all add to tick time. A spark profile shows clearly which plugin the load comes from. Lag causes beyond plugins, such as view distance, entity counts and pre-generating the world, belong in a separate performance guide.
