Set up permissions with LuckPerms
Operator status is all or nothing: an op can do everything, including things you never meant to hand out. Permissions let you give each person only the commands they need. A helper can mute a spammer without being able to change the time or give themselves diamonds.
LuckPerms is the plugin almost every server uses for this. It works on Paper, Purpur and Spigot, and there are versions for Fabric and Velocity too.
How permissions work
Every command in Minecraft and in plugins checks a permission node, a name like essentials.home or minecraft.command.gamemode. A player who has the node can use the command.
Instead of giving nodes to people one by one, you give them to groups, and put people in groups. Groups can inherit from each other, so an admin automatically has everything a moderator has.
Install LuckPerms
- Open the Plugins tab, search the catalog for LuckPerms and install it.
- Restart the server.
- In the Console, type
lp info. If LuckPerms answers, it is running.
Commands typed in the console need no slash. In the game they do, and only players with permission for LuckPerms, or ops, can use them.
Build three groups
Every player is in the group default from the start. We add two more above it.
lp creategroup moderator
lp creategroup admin
lp group moderator parent add default
lp group admin parent add moderator
lp group moderator setweight 50
lp group admin setweight 100The parent add lines set up the inheritance: a moderator has everything a default player has, and an admin has everything a moderator has. The weight decides which group wins when two disagree, and which prefix shows when a player is in several groups.
Give the groups their permissions
Give each group only what it needs. Some typical choices, assuming EssentialsX is installed:
lp group default permission set essentials.home true
lp group default permission set essentials.sethome true
lp group default permission set essentials.spawn true
lp group moderator permission set essentials.mute true
lp group moderator permission set essentials.kick true
lp group moderator permission set essentials.tempban true
lp group admin permission set essentials.gamemode true
lp group admin permission set minecraft.command.time trueTo find the node for a command, check the plugin's page, or switch on lp verbose on in the console and run the command in game: LuckPerms prints every node it checks.
Avoid *, the node that gives everything. It includes commands you have never heard of, such as ones that stop the server.
Put people in groups
lp user Sam parent add moderator
lp user Alex parent set adminparent add puts Sam in moderator while keeping his other groups. parent set replaces all groups of Alex with admin only; since admin inherits the rest, that is the tidy choice for a single rank.
Use the web editor
Typing nodes gets slow. Run lp editor and LuckPerms gives you a link to a web page with all groups and users. Change things there with checkboxes, click save, and the page gives you one command to paste back into the console to apply it.
Prefixes in chat
lp group admin meta setprefix 100 "&c[Admin] "
lp group moderator meta setprefix 50 "&9[Mod] "LuckPerms stores the prefix, but it does not change the chat itself. A chat plugin shows it, for example EssentialsX Chat together with Vault. Install those and the prefixes appear in front of names.
Promote with a track
A track is a ladder of groups. With one, you can move people up and down with one command.
lp createtrack staff
lp track staff append default
lp track staff append moderator
lp track staff append admin
lp user Sam promote staffQuestions
Should I still make people op?
Only yourself and maybe one co-owner. Everyone else gets a group. Op bypasses all permissions, so it undoes the point of setting them up.
Why does a player still not have access after I added the permission?
Check the exact node with lp verbose on, and check that it is not set to false in another group with a higher weight. Some plugins also need the player to log out and in again.
Does LuckPerms work on Bedrock players on a crossplay server?
Yes. Bedrock players are normal players to the server. Use their name with the dot in front, for example lp user .Sam parent add moderator.
Checked against LuckPerms on Paper for Minecraft Java 26.2, September 2026. Written by the Cheapest Minecraft Hosting team, updated .