Minecraft server help centre

Players

Set up Minecraft server 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.

In short

To set up permissions on a Minecraft server, install LuckPerms from the Plugins tab, create groups such as moderator and admin with lp creategroup, let each inherit from the one below with parent add, and give every group only the nodes it needs with permission set. Then put players in a group with lp user, their name, and parent add. Keep op for the owner, because op skips the permissions you set.

How Minecraft server 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.

Permission nodes for common Minecraft commands

Node names follow a pattern, so most of them can be guessed once you know where a command comes from:

CommandPermission nodeComes from
/gamemodeminecraft.command.gamemodeMinecraft itself
/time and /weatherminecraft.command.time, minecraft.command.weatherMinecraft itself
/home and /sethomeessentials.home, essentials.sethomeEssentialsX
/tpa and /tpacceptessentials.tpa, essentials.tpacceptEssentialsX
/flyessentials.flyEssentialsX
/mute and /tempbanessentials.mute, essentials.tempbanEssentialsX
Looking up who broke a blockcoreprotect.inspectCoreProtect
Rolling back griefingcoreprotect.rollbackCoreProtect

Commands of the game itself use minecraft.command. followed by the name of the command. Plugins put their own name in front and list their nodes on their plugin page. With EssentialsX installed, its own version of commands such as kick and ban takes over, and then the node starting with essentials. is the one that counts.

Install LuckPerms on your Minecraft server

  1. Open the Plugins tab, search the catalog for LuckPerms and install it.
  2. Restart the server.
  3. 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 LuckPerms 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 100

The 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 LuckPerms 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 true

To 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.

Take a permission away: false, unset and inheritance

  • permission unset removes a node you set earlier, as if it was never there: lp group default permission unset essentials.home.
  • permission set with false blocks a node, even when the group would inherit it from a parent: lp group moderator permission set essentials.fly false.
  • Many plugins give some nodes to every player by default. To take one of those away from everyone, set it to false in the group default.

If one group of a player says true and another says false, LuckPerms follows the group with the highest weight, which is why the weights you set earlier matter.

LuckPerms permissions per world or per server

A node can count in one place only. Add a context at the end of the command:

lp group default permission set essentials.fly true world=creative
lp group moderator permission set essentials.vanish true server=survival

The first line gives everyone /fly, but only in the world called creative. The second only works on the server that calls itself survival, which you set with the server option in the LuckPerms config file. That one is for networks where several servers share one LuckPerms database.

Put people in groups on your Minecraft server

lp user Sam parent add moderator
lp user Alex parent set admin

parent 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.

Temporary ranks and permissions in LuckPerms

For a VIP rank that lasts a month, or flying for one event, add a time to the command. LuckPerms removes it by itself when the time is up.

lp user Sam parent addtemp vip 30d
lp user Sam permission settemp essentials.fly true 2h

Create the group vip first, like the other groups. Times are a number with m for minutes, h for hours, d for days or w for weeks, such as 90m, 12h or 2w.

LuckPerms commands you will use most

CommandWhat it does
lp user Sam infoShows the groups of Sam and the main details
lp user Sam permission check essentials.flyTells whether Sam has that node, and with which value
lp user Sam parent remove moderatorTakes Sam out of a group
lp group moderator permission infoLists the nodes of a group
lp group moderator listmembersLists who is in a group
lp listgroupsLists all groups
lp user Sam demote staffMoves Sam one step down a track
lp deletegroup vipRemoves a group

Use the LuckPerms 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.

Rank prefixes in Minecraft 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 Minecraft players 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 staff

Example LuckPerms ranks for a survival server

A setup many SMP servers start from, with EssentialsX and CoreProtect installed:

GroupNodesWho is in it
defaultessentials.home, essentials.sethome, essentials.spawn, essentials.tpa, essentials.tpaccept, essentials.msgEvery player
helperessentials.mute, essentials.kick, coreprotect.inspectNew staff, for chat and for looking up who broke what
moderatoressentials.tempban, essentials.ban, coreprotect.lookup, coreprotect.rollbackStaff you trust to undo griefing
adminessentials.gamemode, essentials.fly, minecraft.command.timeOne or two people

Each group inherits from the one above it in the table, so a moderator also has everything a helper has. Create the helper group like the others, let it inherit from default, let moderator inherit from helper with lp group moderator parent add helper, and put it on the track with lp track staff insert helper 2.

Want a rank that keeps its items on death? Keep inventory and game rules shows how with one node.

LuckPerms on Fabric, Forge, NeoForge and Velocity

  • Fabric, Forge and NeoForge: LuckPerms has its own version for each, with the same commands. It can only limit mods that ask for permissions; a mod that only looks at op levels still needs op.
  • Velocity: the proxy of a server network runs its own LuckPerms for proxy commands. For ranks that are the same on every server, all copies of LuckPerms use one shared database such as MySQL or MariaDB, chosen with storage-method in the config.

On a single server none of this is needed: LuckPerms keeps its data in a database file in plugins/LuckPerms, which is part of every backup. Build a Minecraft server network explains the proxy itself.

LuckPerms not working: the usual causes

ProblemCause and fix
A player can use commands they should not haveThey are op, which skips permissions, or a plugin gives the node to everyone by default. Deop them, or set the node to false in default.
A player cannot use a command they should haveThe node is wrong, or it is false in a group with more weight. Check it with permission check as in the table above.
Prefixes do not show in chatLuckPerms has no chat output of its own. Install Vault and a chat plugin such as EssentialsX Chat.
Changes in the web editor do nothingThe editor only applies changes once you paste the command it gives into the console.

Questions from Minecraft server owners

Should I still make people op on my Minecraft server?

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 Minecraft 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 Minecraft 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.

How do I give a rank for a limited time in LuckPerms?

Use parent addtemp with a duration, for example lp user Sam parent addtemp vip 30d. LuckPerms removes the rank by itself when the time is up.

How do I remove a permission in LuckPerms?

Use permission unset with the node, for example lp group default permission unset essentials.home. To block a node that a group inherits, set it to false instead.

Is LuckPerms free?

Yes. LuckPerms is free and open source, and you install it from the plugin catalog in the Plugins tab.

Where does LuckPerms store ranks and permissions?

By default in a database file in the plugins/LuckPerms folder, so every backup of the server includes it. A network of several servers can share one database instead.

Checked against LuckPerms on Paper for Minecraft Java 26.2, September 2026. Written by the Cheapest Minecraft Hosting team, first published , updated .