How to install plugins for Minecraft Java Edition
Install jar files to your Paper plugins folder, set up LuckPerms permissions, and connect external databases for essential plugins.
Plugins extend a Paper, Spigot, or Purpur server without changing the base game, so players connect with a vanilla client. This guide covers installing plugins and the essential ones almost every server runs.
Plugins need a Paper, Spigot or Purpur server
Plugins only work on Paper/Spigot/Purpur server types. If you set up Forge, NeoForge or Fabric, you want How to install mods for Minecraft Java Edition instead. Set your server type in the Startup tab as covered in Getting started with your Minecraft server.
Installing Plugins
Plugins are .jar files that drop into the plugins/ folder.
Find plugins on SpigotMC (spigotmc.org/resources), Modrinth (modrinth.com/plugins), or Hangar (hangar.papermc.io).
Download the
.jar.Upload to
plugins/via the File Manager or SFTP.Restart the server (most plugins do not hot-load).
After installing, the plugin's config appears in plugins/<PluginName>/config.yml. Edit as needed and run /reload confirm (or, better, restart) to apply.
Prefer a full restart over
/reloadA note on
/reload: it works but can cause subtle issues with some plugins. A full restart is always safer.
Essential Plugins
These are the plugins most servers end up running:
- EssentialsX: The Swiss army knife.
/home,/sethome,/warp,/kit, economy, kicks, mutes — full setup guide - LuckPerms: The gold-standard permissions plugin. Groups, prefixes, per-world permissions. Pairs with your panel's database feature if you want MySQL-backed permissions — full setup guide
- WorldEdit: Region selection and mass block editing — full guide
- WorldGuard: Region protection (claim and protect areas) — full guide
- CoreProtect: Block-level logging and rollback. Essential for griefing recovery — full guide
- Vault: Economy abstraction layer that many plugins depend on
- ProtocolLib: A dependency required by many plugins; install when a plugin asks for it
- PlaceholderAPI: Powers dynamic placeholders used across many plugins
- GriefPrevention: Automatic land claims and protection
- EssentialsXChat: Better chat formatting and channels
- PlayerVaults: Per-player private storage
- CMI: A comprehensive paid alternative to EssentialsX (do not run both)
- DiscordSRV: Two-way Discord chat bridge
- Multiverse-Core: Several worlds on one server, each with its own game mode and rules — full guide
A Sensible Starter Stack
For a fresh survival server, this stack covers most needs:
- EssentialsX (+ EssentialsXChat)
- LuckPerms
- Vault
- WorldEdit + WorldGuard
- CoreProtect
- GriefPrevention
- DiscordSRV (optional, for a Discord bridge)
Drop them all in plugins/, restart, then configure each in its plugins/<PluginName>/ folder. If the server is for a small group of friends rather than the public, most of that stack is optional — How to Make a Minecraft SMP Server for Friends covers what to leave out, and why.
Permissions With LuckPerms
LuckPerms is worth setting up early. The basic flow:
Install LuckPerms and restart.
From the panel's Console or in-game as op, create groups:
/lp creategroup default /lp creategroup vip /lp creategroup adminGrant permissions to groups:
/lp group default permission set essentials.home true /lp group vip permission set essentials.fly trueAdd players to groups:
/lp user PlayerName parent set vip
A vip group is usually the thing people are paying for, and Mojang's rules on what a Minecraft server may sell are narrower and more specific than most owners assume — Minecraft Server Monetisation: What Mojang Actually Allows quotes them directly.
For larger networks, point LuckPerms at a MySQL database (see the panel's database guide) so permissions sync across multiple servers. Putting several servers behind a single address is the other half of that job, and it needs a proxy — see Minecraft Server Networks: Setting Up a Velocity Proxy.
That is the outline. Group inheritance, per-world and per-server permissions, prefixes and suffixes, tracks for promotion and demotion, and the web editor are covered in How to Set Up LuckPerms Permissions for Minecraft.
Using a Database With Plugins
Some plugins (LuckPerms, EssentialsX with large player counts, DiscordSRV) can use MySQL. Create a database through the Databases tab on your Minecraft server plan and paste the credentials into the plugin's config. See How to Create a Database for the full walkthrough.
Common Issues
- Plugin errors after a Minecraft update: Plugins must be updated for each MC version. Check Modrinth/SpigotMC for a compatible build before updating your server version.
- Plugin loads but does nothing: Check
plugins/<PluginName>/config.ymlfor anenabled: falseflag or a misconfigured setting. The server console logs config errors on boot. - "Plugin X depends on Y": Install the dependency (often Vault, ProtocolLib, or PlaceholderAPI).
- Two economy plugins conflict: Run only one economy provider. Vault routes economy calls to a single backing plugin.
What to Read Next
- Performance and Backups for keeping a plugin-heavy server smooth
- Geyser Cross-Play to let Bedrock players join your Java server
- How to Create a Database for MySQL-backed plugins
- How to Set Up LuckPerms Permissions for Minecraft for groups, inheritance, prefixes and the web editor
- EssentialsX Setup: Homes, Warps, Kits and Economy, Minecraft WorldEdit, Minecraft WorldGuard, CoreProtect and Multiverse for the plugins in the starter stack above
- Minecraft Op Permission Levels: 0 to 4 Explained for the vanilla op levels that permission plugins replace
- Minecraft Server Commands for the command reference itself
- Building a specific gametype? SkyBlock, Prison, Factions and BedWars each list the plugin stack that gametype actually needs, with the version support checked against each plugin's own distribution metadata
Made with 💜 by GameServerKings

Need a Minecraft server?
Deploy an instantly-provisioned Minecraft server on high-clock hardware — DDoS protected, no contracts, cancel anytime.
From $4.80 /month