Giving someone OP (operator status) on a Minecraft server sounds simple: type /op PlayerName and they can do everything. That simplicity is also the problem. OP is all-or-nothing. A player with OP can stop the server, ban everyone and delete the world. For anything beyond a private server with close friends, you need a permission plugin. This guide covers both approaches.
What OP does
The /op command grants a player operator status. Operators bypass most permission checks and can run server commands. Minecraft defines four OP levels, set in server.properties under op-permission-level:
- Level 1: Can bypass spawn protection.
- Level 2: Can use cheat commands like
/gamemode,/give,/tpand/effect. This is the most common level for staff on small servers. - Level 3: Can use
/ban,/kickand multiplayer management commands. - Level 4: Can use
/stop,/save-alland all remaining commands. Full control.
By default, /op gives level 4. You can change the default in server.properties, but you cannot give different OP levels to different players through the game. Everyone who is OP gets the same level.
Why OP is not enough
OP has three problems on public servers:
- No granularity. You cannot give someone permission to use
/tpbut not/gamemode. OP levels help slightly, but the groupings are fixed and coarse. - Plugin permissions. Plugins like WorldGuard, EssentialsX and LuckPerms define their own permission nodes (for example,
essentials.flyorworldguard.region.bypass). OP bypasses all of them, meaning an OP player can fly, bypass region protections and use every plugin command, whether you intended that or not. - Trust. Giving OP means trusting someone with the ability to destroy your server. One wrong command or one bad decision and the damage is done.
Permission plugins: LuckPerms
LuckPerms is the standard permission plugin in 2026. It works on Paper, Purpur, Spigot, Fabric and more. Instead of OP, you create groups (ranks) and assign specific permissions to each group. Players inherit permissions from their group.
Install LuckPerms by dropping the jar into the plugins folder and restarting. The basic workflow:
- Create a group:
/lp creategroup helper - Add permissions to the group:
/lp group helper permission set essentials.tp true - Add a player to the group:
/lp user PlayerName parent set helper
Now that player can use /tp but nothing else beyond what you explicitly granted. That is the power of per-node permissions.
Setting up a rank structure
A typical server uses three to five groups:
| Group | Purpose | Example permissions |
|---|---|---|
| default | Every new player | Basic chat, teleport requests, home |
| member | Verified or active players | Multiple homes, coloured chat |
| helper | Junior staff | Mute, kick, teleport to players |
| moderator | Full moderation | Ban, unban, vanish, inspect |
| admin | Server management | WorldEdit, plugin config, server management commands |
Use group inheritance: helper inherits from member, moderator inherits from helper, and so on. This way you only add new permissions at each level instead of repeating everything.
Common permission nodes
Every plugin lists its permission nodes in its documentation. Here are the ones you will set most often:
essentials.tpandessentials.tp.othersfor teleportation.essentials.flyfor creative-style flight.essentials.kickandessentials.banfor moderation.essentials.vanishto become invisible to other players.worldguard.region.bypass.*to bypass region protections (admin only).luckperms.editorto use the web editor (admin only).
The LuckPerms web editor
LuckPerms includes a web-based editor that makes managing permissions much easier than typing commands. Run /lp editor in the console or in-game, and it generates a link. Open the link in a browser, drag and drop permissions, organise groups visually and click save. The changes sync back to the server automatically. For large permission setups, the web editor saves enormous amounts of time.
When OP is still fine
On a private server with two or three friends who all trust each other, OP works perfectly. There is no audience to protect and no strangers to worry about. Use /op, play the game and do not overcomplicate it. Permission plugins become valuable when unknown players join.
Set up your server with full control using HostValues Minecraft hosting. LuckPerms, EssentialsX and all permission plugins work out of the box.
Can I use OP and LuckPerms at the same time?
Technically yes, but it defeats the purpose. OP overrides LuckPerms: an OP player passes all permission checks regardless of what LuckPerms says. If you use LuckPerms, remove OP from everyone with /deop PlayerName and manage all permissions through groups instead.
How do I find the permission node for a specific command?
Check the plugin's documentation or wiki. Most plugins list every command alongside its permission node. If the documentation is unclear, LuckPerms has a "verbose" mode (/lp verbose on) that logs every permission check in real time. Run the command and see which node gets checked.
What happens if I remove OP from someone?
They lose all operator permissions immediately. If they are not in a LuckPerms group with relevant permissions, they go back to the default group and can only use basic commands. It is instant and does not require a restart.
Can players see their own permissions?
Not by default. LuckPerms has a command /lp user PlayerName permission info that admins can use. Some servers add a /rank command through a chat plugin that shows the player their current group and what perks it includes. This is a nice quality-of-life feature for public servers.