I've spent the better part of 8 years running Minecraft servers. Started back in 2016 with a janky little survival world hosted on my old laptop—laggy as hell, crashed constantly, but my friends and I loved it. Since then I've managed everything from 10-player private servers to networks pulling 500+ concurrent players.
Along the way, I've installed, configured, broken, fixed, and uninstalled more plugins than I can count. Some were game-changers. Most were forgettable. A few literally corrupted world files and taught me the importance of backups the hard way.
This guide isn't a list I threw together by browsing SpigotMC's most downloaded page. These are the plugins I actually use, the ones I've relied on across dozens of servers over nearly a decade. For each one, I'm giving you the full breakdown: what it does, how to install it, the commands you'll actually use, and the configuration tweaks that matter.
Let's get into it.
Before You Start: Server Requirements
These plugins only work on modded server software. If you're running vanilla Minecraft server, none of this applies to you. Here's what you need:
Recommended: Paper
Fork of Spigot with better performance and more features. This is what most serious servers run. Download from papermc.io
Alternative: Spigot
The original plugin-compatible server. Still works fine, but Paper is better in almost every way.
# Basic plugin installation (same for all plugins):
1. Download the .jar file from SpigotMC or the plugin's official site
2. Drop it in your server's /plugins folder
3. Restart the server (not reload—full restart)
4. Check console for errors, configure as needed
EssentialsX
The foundation of every server
If I could only install one plugin on a new server, it would be EssentialsX. It's not flashy, it's not exciting, but it handles all the basic functionality that players expect from any Minecraft server. Without it, you'd need like 15 separate plugins to cover the same ground.
EssentialsX gives you teleportation commands (/home, /tpa, /spawn, /warp), a basic economy system, player kits, moderation tools, and hundreds of utility commands. The config file is massive but well-documented—you can customize literally everything.
Installation
- 1. Download from essentialsx.net
- 2. You'll see multiple files—grab at minimum:
EssentialsX(core) - 3. Recommended addons:
EssentialsXChat,EssentialsXSpawn - 4. Drop all .jar files in /plugins, restart server
First startup creates config files in /plugins/Essentials/
Essential Commands You'll Actually Use
/sethome [name]Set a home location. Players can have multiple homes.
/home [name]Teleport to a saved home.
/tpa [player]Request to teleport to another player.
/tpacceptAccept a teleport request.
/spawnTeleport to world spawn.
/warp [name]Teleport to a server warp point.
/setwarp [name]Create a warp point (admin only).
/kit [name]Claim a predefined item kit.
/balCheck your money balance.
/pay [player] [amount]Send money to another player.
Config Tips That Actually Matter
Open plugins/Essentials/config.yml and look for these:
teleport-cooldown: 30Seconds between teleports. I usually set this to 60 for survival servers to prevent abuse.
teleport-delay: 3Seconds to wait before teleporting. Prevents instant escape during PvP.
sethome-multiple.default: 3How many homes regular players can set. VIPs can get more via permissions.
starting-balance: 100Money new players start with. Adjust based on your economy.
Pro Tip
EssentialsX requires Vault for the economy to work with other plugins. Install Vault first (covered later in this guide), then EssentialsX will automatically hook into it.
Compatibility: Paper/Spigot • Minecraft 1.8.8 - 1.21 • Official Site
LuckPerms
Permission management done right
Back in the day, I used PermissionsEx. Spent hours editing YAML files, making typos, breaking everything, starting over. It was miserable. Then LuckPerms came along and changed everything.
LuckPerms has a web editor. You run a command, get a link, and manage all your permissions in a browser with a proper UI. Create groups, drag and drop permissions, set up inheritance hierarchies—all visually. When you're done, click save and it syncs to your server instantly. No more YAML nightmares.
Beyond the editor, LuckPerms is just incredibly powerful. Per-world permissions, temporary ranks that expire automatically, permission contexts based on game state, weight-based group priority... it handles everything from simple survival servers to complex networks.
Installation
- 1. Download from luckperms.net
- 2. Choose "Bukkit" for Paper/Spigot servers
- 3. Drop the .jar in /plugins, restart
- 4. Run
/lp editorto open the web interface
Essential Commands
/lp editorOpens the web editor. This is how you'll do 90% of your permission work.
/lp user [player] infoView a player's groups and permissions.
/lp user [player] parent set [group]Put a player in a group. Example: /lp user Steve parent set vip
/lp group [group] permission set [permission]Give a permission to a group. But honestly, just use the web editor.
/lp verbose onDebug mode—shows every permission check in real-time. Incredibly useful for troubleshooting.
Setting Up Basic Groups (Quick Guide)
Here's a typical group structure for a survival server:
# Default group (everyone starts here)
default
Basic permissions: /home, /tpa, /spawn, chat
# VIP (donators or active players)
vip → inherits from default
Extra homes, colored name, /fly in hub
# Moderator
mod → inherits from vip
/kick, /mute, /tempban, CoreProtect inspect
# Admin
admin → inherits from mod
Full server access, /op equivalent
Common Mistake
Don't give players the '*' wildcard permission. It gives access to EVERYTHING, including dangerous commands. Always be specific about what each group can do.
Compatibility: Paper/Spigot/BungeeCord/Velocity • All versions • Official Site
WorldGuard
Region protection and world management
The first time someone griefed my spawn, I didn't have WorldGuard. Some kid joined, found out he could break blocks, and demolished hours of work in about 5 minutes. I was devastated. Installed WorldGuard that same day and never looked back.
WorldGuard lets you define regions and control exactly what can happen inside them. Disable block breaking at spawn. Prevent PvP in safe zones. Stop creeper explosions in player bases. The region system is incredibly powerful once you understand it.
Installation
- 1. First install WorldEdit — WorldGuard requires it
- 2. Download WorldEdit from dev.bukkit.org
- 3. Download WorldGuard from dev.bukkit.org
- 4. Drop both .jars in /plugins, restart
How to Protect Your Spawn (Step by Step)
Step 1: Select the area with WorldEdit
//wandGet a wooden axe. Left-click one corner, right-click the opposite corner.
Step 2: Expand selection from bedrock to sky
//expand vertThis makes sure the region covers all Y levels.
Step 3: Create the region
/rg define spawnCreates a region named "spawn" from your selection.
Step 4: Set protection flags
/rg flag spawn block-break deny/rg flag spawn block-place deny/rg flag spawn pvp denyNow nobody can break blocks, place blocks, or PvP in spawn.
Useful Flags Reference
block-break - Breaking blocksblock-place - Placing blockspvp - Player vs playermob-spawning - Mob spawnscreeper-explosion - Creeper damagetnt - TNT explosionsuse - Doors, buttons, leverschest-access - Opening chestsCompatibility: Paper/Spigot • Minecraft 1.14+ • Official Site
CoreProtect
Block logging and rollback
WorldGuard prevents grief. CoreProtect fixes it after it happens. Because let's be real—someone will eventually find a way to cause damage, whether through a permission mistake, a trusted player going rogue, or some exploit you didn't know existed.
CoreProtect logs everything. Every block placed, every block broken, every chest opened, every item taken. When something goes wrong, you can see exactly who did what and when. More importantly, you can roll it back with a single command.
Commands You'll Use Daily
/co inspect or /co iToggle inspect mode. Click any block to see its history—who placed it, who broke it, when.
/co lookup u:PlayerName t:1hSee everything a player did in the last hour.
/co rollback u:PlayerName t:1hUndo everything that player did in the last hour.
/co rollback u:PlayerName t:1h r:50Same but only within 50 blocks of where you're standing.
/co restore u:PlayerName t:1hUndo a rollback if you made a mistake.
Real-World Scenarios
Scenario: Someone griefed spawn overnight
Run /co rollback t:12h r:100 at spawn to undo all changes in the last 12 hours within 100 blocks.
Scenario: Player claims someone stole from their chest
Use /co i and click the chest. You'll see exactly who opened it and what they took.
Scenario: Accidentally gave someone creative mode
Run /co rollback u:TheirName t:30m to undo whatever they placed.
Storage Tip
CoreProtect uses SQLite by default, which works fine for small servers. For larger servers (50+ players), switch to MySQL in the config—the database can get huge over time and MySQL handles it better.
Compatibility: Paper/Spigot • Minecraft 1.14 - 1.21 • SpigotMC
Vault
The invisible glue between plugins
Vault is weird because you never actually interact with it. It's an API—a translator that lets your other plugins talk to each other about permissions and money. You install it, forget about it, and everything just works.
Here's why it matters: say you install a shop plugin. That shop needs to know how much money a player has and needs to deduct money when they buy something. Without Vault, the shop would need to directly integrate with every possible economy plugin (EssentialsX, CMI, etc.). With Vault, it just asks Vault, and Vault handles the translation.
Same deal with permissions and chat prefixes. Plugins ask Vault what group a player is in, and Vault asks LuckPerms (or whatever permission plugin you use).
Installation
- 1. Download from SpigotMC
- 2. Drop in /plugins, restart
- 3. That's it. No configuration needed.
Vault auto-detects your economy and permission plugins. Just make sure to install it BEFORE plugins that depend on it.
Compatibility: Paper/Spigot • All versions • GitHub
ViaVersion
Cross-version compatibility
Minecraft updates are exciting for players and terrifying for server owners. New version drops, half your plugins break, and suddenly you're choosing between updating (and losing features) or staying behind (and losing players who updated their client).
ViaVersion solves this elegantly. It lets players on newer client versions connect to your older server. Running 1.20.4 but a player updated to 1.21? No problem, they can still join. This gives you breathing room to wait for plugin updates without fragmenting your community.
The Via Family
ViaVersion
Lets newer clients join older servers. (1.21 client → 1.20 server)
ViaBackwards
Lets older clients join newer servers. (1.19 client → 1.20 server)
ViaRewind
Support for really old versions (1.8, 1.7). Only if you need it.
I typically install ViaVersion + ViaBackwards together. This way, players on any recent version can join regardless of what version my server is running.
Compatibility: Paper/Spigot/Velocity/BungeeCord • All versions • Official Site
Multiverse-Core
Multiple worlds, one server
Want a survival world, a creative world, and a minigames world all on the same server? Multiverse makes it happen. One server process, multiple completely separate worlds, each with their own rules and settings.
Essential Commands
/mv create [name] [type]Create a new world. Types: NORMAL, NETHER, END, FLAT
Example: /mv create creative NORMAL -t FLAT
/mv tp [world]Teleport to another world.
/mv listSee all worlds on the server.
/mv modify set gamemode creative [world]Set the default gamemode for a world.
/mv delete [world]Delete a world (careful with this one).
RAM Warning
Each loaded world consumes RAM. A typical world uses 500MB-1GB depending on size and activity. Don't go crazy creating worlds unless you have the resources.
For custom portals between worlds, grab Multiverse-Portals as an addon. It lets you create portal regions that teleport players to specific locations in other worlds.
Compatibility: Paper/Spigot • All modern versions • Bukkit
Geyser
Let Bedrock players join your Java server
This one's a game-changer. Geyser lets Bedrock Edition players (mobile, console, Windows 10) join your Java server. One server, both platforms, unified community. The technical achievement here is genuinely impressive—it translates between two completely different protocols in real-time.
A Bedrock player on their phone can play alongside Java players on PC, and it mostly just works. "Mostly" because there are quirks—some items look different, some mechanics behave slightly differently. But for survival servers and most minigames, it's seamless enough that players don't notice.
Installation (Plugin Method)
- 1. Download Geyser-Spigot from geysermc.org
- 2. Download Floodgate-Spigot (same page) — lets Bedrock players join without Java accounts
- 3. Drop both .jars in /plugins, restart
- 4. Bedrock players connect to your server IP on port 19132 (default)
Important Config Settings
In plugins/Geyser-Spigot/config.yml:
bedrock: port: 19132The port Bedrock players connect to. Make sure it's open in your firewall.
auth-type: floodgateUse this if you installed Floodgate. Bedrock players won't need Java accounts.
Floodgate Username Prefix
Bedrock players get a prefix (default is a dot: .PlayerName) to distinguish them from Java players. This prevents name conflicts since Bedrock and Java have separate username systems.
Compatibility: Paper/Spigot 1.16.5+ • Requires Java 17+ • Official Site
MCMMO
RPG skills and progression
Vanilla Minecraft has a progression problem. Once you have diamond gear and an enchanting setup, what's left? MCMMO adds RPG-style skills that give players something to work toward indefinitely.
Every action levels up a skill. Mine blocks, your Mining skill increases. Fight mobs, your Swords or Axes skill goes up. Higher skills unlock abilities—double drops, super breaker, critical strikes. It adds depth without changing the core Minecraft experience.
Skills Overview
Mining
Double drops, Super Breaker (instant mine)
Excavation
Find treasures while digging
Woodcutting
Tree Feller (chop entire trees)
Swords
Bleed effect, counter attacks
Axes
Critical strikes, armor impact
Archery
Skill shots, daze effect
Fishing
Better catches, shake mobs for loot
Acrobatics
Reduce fall damage, dodge attacks
Player Commands
/mcstats - View your skill levels/mctop [skill] - Leaderboard for a skill/[skill] - Detailed info about a skill (e.g., /mining)/mcability - Toggle ability activationBalance Warning
Default XP rates are pretty generous. I usually reduce them by 30-50% in the config to make progression feel more meaningful. Otherwise players max out skills too quickly.
Compatibility: Paper/Spigot • All modern versions • SpigotMC
Citizens
Custom NPCs for your server
NPCs make your server feel alive. Citizens lets you create custom characters that stand around, walk paths, interact with players, and run commands when clicked. The obvious use case is shop NPCs, but you can get creative—tutorial guides, quest givers, fake players to make the server look more populated.
Creating Your First NPC
/npc create ShopkeeperCreates an NPC named "Shopkeeper" where you're standing.
/npc skin NotchGive the NPC a player's skin. Works with any username.
/npc lookMake the NPC look at nearby players.
/npc command add "warp shop"Run a command when players right-click the NPC.
More Useful Commands
/npc select - Select an NPC by right-clicking it/npc remove - Delete the selected NPC/npc tp - Teleport to the selected NPC/npc tphere - Teleport NPC to you/npc list - List all NPCs on the server/npc type VILLAGER - Change NPC to a different mob typeCompatibility: Paper/Spigot • Latest 3 major versions • SpigotMC
BlueMap
3D web map of your world
There's something magical about seeing your Minecraft world rendered as a 3D web map. BlueMap generates a beautiful, interactive map that players can explore in their browser. Unlike Dynmap (the older alternative), BlueMap renders in actual 3D—you can rotate the view, zoom in on builds, see terrain from any angle.
Installation & Setup
- 1. Download from bluemap.bluecolored.de
- 2. Drop in /plugins, restart server
- 3. Open
plugins/BlueMap/core.conf - 4. Change
accept-download: true(required to download assets) - 5. Restart server again
- 6. Run
/bluemap renderto start rendering - 7. Access map at
http://your-server-ip:8100
Port & Performance Notes
BlueMap runs its own web server on port 8100 by default. Make sure this port is open. The initial render is CPU-intensive—run it during off-peak hours. A 10GB world can take several hours to render initially.
Compatibility: Paper/Spigot/Fabric/Forge • Requires Java 17+ • Official Site
SilkSpawners
Mine and move mob spawners
In vanilla Minecraft, mob spawners are basically useless once you find them. You can't move them, can't collect them. SilkSpawners changes that—players can mine spawners with a Silk Touch pickaxe and place them elsewhere.
This creates interesting gameplay dynamics. Spawners become valuable tradeable items. Players explore more because finding a spawner actually means something. It adds a whole new dimension to the endgame economy.
Key Config Options
In plugins/SilkSpawners/config.yml:
dropChance: 100Percentage chance spawner drops when mined. I usually set this to 70 for some risk.
minSilkTouchLevel: 1Required Silk Touch level. Set higher to make it harder.
useEggToChangeSpawner: trueAllow changing spawner type with spawn eggs.
Compatibility: Paper/Spigot • All modern versions • Bukkit
Honorable Mentions
Couldn't fit everything in the top 12. These are worth checking out:
WorldEdit
Essential for builders. Select regions, copy/paste, replace blocks in bulk.
ChestShop
Player-to-player shops using signs and chests.
GriefPrevention
Alternative to WorldGuard with automatic claim systems.
PlaceholderAPI
Like Vault but for text placeholders. Powers scoreboards and chat.
TAB
Customizable tab list and nametags.
DiscordSRV
Bridge between Minecraft chat and Discord.
Wrapping Up
You don't need all 12 of these on day one. A solid survival server can run on just EssentialsX, LuckPerms, WorldGuard, and CoreProtect. Add more based on what your community actually wants, not what looks cool on SpigotMC.
The biggest mistake I see new server owners make is installing 50 plugins immediately. Start small. Add things when players ask for them. A stable server with 10 well-configured plugins beats a laggy mess with 100 half-broken ones every time.
Whatever you're building—whether it's a small friends-only world or the next big network—these plugins will serve you well. They've been around for years, they're actively maintained, and they just work.
Good luck with your server. Hit me up on Discord if you have questions.
Lee B.
Senior Server Architect
"Managing Minecraft networks since 2012. Specializes in performance optimization, infrastructure scaling, and advanced plugin development."
