How to install plugins
Minecraft Java: 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 only work on Paper/Spigot/Purpur server types. If you set up Forge or Fabric, you want Mods instead. Set your server type in the Startup tab as covered in Getting Started.
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.
A 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 stub, kicks, mutes - LuckPerms: The gold-standard permissions plugin. Groups, prefixes, per-world permissions. Pairs with your panel's database feature if you want MySQL-backed permissions
- WorldEdit: Region selection and mass block editing
- WorldGuard: Region protection (claim and protect areas)
- CoreProtect: Block-level logging and rollback. Essential for griefing recovery
- 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
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.
Permissions With LuckPerms
LuckPerms is worth setting up early. The basic flow:
- Install LuckPerms and restart.
- From the panel Console or in-game as op, create groups: ``
/lp creategroup default /lp creategroup vip /lp creategroup admin`` - Grant permissions to groups: ``
/lp group default permission set essentials.home true /lp group vip permission set essentials.fly true`` - Add players to groups: ``
/lp user PlayerName parent set vip``
For larger networks, point LuckPerms at a MySQL database (see the panel's database guide) so permissions sync across multiple servers.
Using a Database With Plugins
Some plugins (LuckPerms, EssentialsX with large player counts, DiscordSRV) can use MySQL. Create a database through the panel Databases tab 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