# How to Install Plugins on a Minecraft Server

> Install plugins from Modrinth, Hangar, SpigotMC and CurseForge with Package Manager, or upload the JAR yourself. Which server software runs plugins, permissions, and what the log says when one doesn't load.

Source: https://www.beaconhosting.org/knowledgebase/how-to-install-minecraft-plugins
Category: Minecraft
Last updated: 2026-10-22

Plugins add features to a Minecraft server (permissions, land claims, economy, minigames, Discord chat) without players installing anything.

## Before you start: plugins need Paper

Plugins are written for the **Bukkit API**, which only some server software has.

| Server software | Runs plugins? |
| --- | --- |
| **Paper** or **Purpur** | Yes: Bukkit, Spigot and Paper plugins. The best choice for a plugin server |
| **Spigot** | Bukkit and Spigot plugins, but not Paper-only ones |
| **Folia** | Only plugins built for Folia |
| **Vanilla, Fabric, Forge, NeoForge** | No |

On vanilla, switch to Paper in **Package Manager** first. Your world carries over: see [How to Install Paper](/knowledgebase/how-to-install-spigot-or-papermc-on-a-minecraft-server).

**On a modded server**, a plugin JAR is simply ignored: Forge, NeoForge and Fabric load mods, and have no Bukkit API. Look for a mod that does the same job instead (LuckPerms, for example, has Forge, NeoForge and Fabric versions). On Fabric, **Cardboard** can run some simple plugins: see [How to Run Plugins on Fabric With Cardboard](/knowledgebase/how-to-install-cardboard-on-a-minecraft-java-server).

## Install a plugin with Package Manager

1. Open your server and go to **Package Manager**.
2. Click **Browse packages** and search for the plugin. Results come from **Modrinth**, **Hangar**, **SpigotMC** and **CurseForge**.
3. Open it, pick a version, and click **Install**. By default you only see versions built for your server's Minecraft version.
4. If it needs other plugins, the panel shows **Other packages will be installed too** and adds them for you.
5. Package changes are applied the next time the server starts, so restart it from **Console** when you're done.

The plugin appears under installed packages, and its config folder is created in `plugins` on first start.

## Install a plugin that isn't listed

For a plugin Package Manager doesn't find, or a premium plugin you've bought:

1. **Stop the server** from **Console**.
2. Open **Files** and go into the `plugins` folder.
3. Upload the plugin's `.jar` file. Don't unzip it or put it in a subfolder.
4. Upload any plugins it depends on the same way. The plugin's page lists them; common ones are **Vault**, **ProtocolLib**, **PlaceholderAPI** and **LuckPerms**.
5. **Start the server.**

For large uploads, SFTP is faster: see [How to Configure an SFTP Client](/knowledgebase/how-to-configure-an-sftp-client-for-minecraft). Plugins added by hand aren't tracked, so **Package Manager** can't update them: you update them by replacing the JAR.

Download plugins only from **Modrinth**, **Hangar** or **SpigotMC**. Plugins run with full access to your server, and re-uploads on other sites can contain malware.

> [!WARNING]
> Restart the server to load a new plugin. Don't use `/reload`: it reloads every plugin in place, and many plugins break or leak memory when it's used.

## Check it loaded

Run this in **Console**:

```
plugins
```

Plugins in **green** loaded. A plugin in **red**, or missing from the list, failed, and the startup log says why.

## When a plugin doesn't load

Scroll **Console** back to the server start, or open `logs/latest.log` in **Files**, and search for the plugin's name.

| The log says | What it means | Fix |
| --- | --- | --- |
| `Unknown/missing dependency plugins: [Vault]` | It needs another plugin | Install the one in brackets, then restart |
| `Unsupported API version` | Built for a newer Minecraft version | Use a plugin version that matches your server |
| `UnsupportedClassVersionError` | Needs newer Java than the server runs | Update the server, or use an older plugin version |
| `Could not load 'plugins/X.jar'` | Not a valid plugin for this server | Check it's the plugin itself, for Paper or Spigot |
| `Error occurred while enabling` | It loaded, then crashed starting up | Read the lines below it; often a broken config or missing database |
| `Ambiguous plugin name` | The same plugin is in `plugins` twice | Delete the older JAR |

See [How to Read Server Logs](/knowledgebase/how-to-read-server-logs-on-a-minecraft-server).

## Configure it

Most plugins create `plugins/<PluginName>/config.yml`. Open it in **Files**, change what you need, save, and restart (or use the plugin's own reload command if it has one: that's safe, unlike `/reload`).

## Give players permission to use it

Plugin commands are limited by **permission nodes**, such as `essentials.home`. By default operators get everything and other players only the basics. Making everyone an operator is quick, but gives them every command, including `stop` and `ban`. For anything beyond a few trusted friends, install **LuckPerms** and grant only what each group needs: see [How to Install LuckPerms](/knowledgebase/how-to-install-luckperms-on-a-minecraft-server). Each plugin's page lists its permission nodes.

## Update or remove a plugin

Take a backup first in **Backups**. Then:

- **Installed with Package Manager:** find the plugin under installed packages, and pick a newer version or remove it. Restart afterwards.
- **Uploaded by hand:** stop the server, replace or delete the JAR in `plugins`, and start the server.

Removing a plugin leaves its folder in `plugins`. Delete that too if you don't want to keep its settings and data.

## Popular plugins to start with

- [EssentialsX](/knowledgebase/how-to-install-essentialsx-on-a-minecraft-server): homes, warps, kits and admin commands.
- [LuckPerms](/knowledgebase/how-to-install-luckperms-on-a-minecraft-server): permissions.
- [WorldGuard](/knowledgebase/how-to-protect-builds-with-worldguard-on-a-minecraft-server): protect builds and areas.
- [DiscordSRV](/knowledgebase/how-to-link-minecraft-chat-to-discord-with-discordsrv): link chat to Discord.
- [spark](/knowledgebase/how-to-install-spark-and-run-a-spark-profiler-on-a-minecraft-server): find what's causing lag.

