Pay for twenty-four months and save 17% or moreOn every plan, pick the 24-month term when you order
Skip to main content

How to Set Up LuckPerms Ranks

Four groups, three lines of inheritance, and every command on this page comes out of the same four. Build the ladder once and adding a rank later is one rung, not five files.

What Is LuckPerms?

LuckPerms is the permissions plugin for Bukkit-based server software: Paper, Spigot and Purpur. It replaced PermissionsEx and GroupManager, which stopped being maintained and carry known bugs on current Minecraft versions. What it does is decide, per player, what is allowed: regular players get /home but not /fly, moderators can ban but cannot reach WorldEdit. All of that runs through groups, permissions and inheritance, and those three are the whole model.

Installing LuckPerms

Download it from luckperms.net and take the Bukkit build, not the Velocity, BungeeCord or Fabric one: they are different plugins with the same name. Upload the jar to the plugins folder and restart. Our plugin installation guide covers the file manager side if this is your first jar. After the restart LuckPerms writes its own folder, and it stores everything in a flat H2 file. That is fine for one server. MySQL or MariaDB only becomes necessary when several servers have to share one set of ranks.

/plugins/LuckPerms/

Understanding Groups, Users, and Permissions

Three words that mean something specific here, and mixing them up is where most setups go wrong.
TermWhat it isExample
PermissionA single string that a plugin checks before it lets something happen.essentials.home
GroupA named bundle of permissions. This is where you do the work.member
UserOne player, who belongs to groups and inherits everything they carry.A player added to moderator

Set permissions on groups and put players in groups. Never the other way around. Per-player permissions look quicker for the first two people and turn into an unmaintainable pile by the twentieth, because a change then has to be made twenty times instead of once.

Creating Your Rank Hierarchy

Three to five ranks is what almost every server ends up with. These four are a working starting point. Run them in the console or in-game as an operator.

Four groups, and what each one carries once inheritance has done its work.
GroupInherits fromWeightWhat it is for
memberChat prefix &7[Member], in grayNothing. This is the floor.1Everyone who joins. Homes, teleport requests, the basics.
helperNo prefix of its ownmember10Answers questions, can mute and kick. No bans, no world edits.
moderatorChat prefix &a[Mod], in greenhelper, then member50Bans, region checks, rollbacks. Everything a helper has, plus teeth.
adminChat prefix &c[Admin], in redmoderator, then helper, then member100Everything. Give this to as few people as you can stand.
/lp creategroup member /lp creategroup helper /lp creategroup moderator /lp creategroup admin

LuckPerms ships with a group called default that every new player lands in. You can hang permissions on default directly, or leave it empty and make your own bottom group the default one. The second is worth the extra step: it lets you change what a new player gets without touching the group LuckPerms itself falls back on.

Assigning Permissions to Groups

Every plugin documents its own permission strings. EssentialsX uses essentials.home, essentials.tpa and essentials.sethome, and granting one to a group is a single line.

/lp group member permission set essentials.home true

Wildcards work too: essentials.home.* covers setting, deleting and teleporting to homes in one go. Keep them narrow. essentials.* hands out every admin command in the plugin, and the person who finds that out is rarely you.

Setting Up Inheritance

Inheritance is what stops you copying the same permission into four groups. A group that inherits another gets everything it has, plus whatever you add on top.

/lp group helper parent add member /lp group moderator parent add helper /lp group admin parent add moderator

Because the chain runs all the way down, admin ends up with moderator, helper, member and its own on top, without any of those permissions being written twice. Add a permission to member tomorrow and all 4 groups have it.

Group Weight and Display Order

Weight decides which group wins when a player is in more than one. The heaviest is the primary group, and that is what a chat prefix, a tab list entry and a display name read from.

/lp group member setweight 1 /lp group helper setweight 10 /lp group moderator setweight 50 /lp group admin setweight 100

Higher wins. A player in both member (weight 1) and moderator (weight 50) shows up as moderator everywhere it matters. The gaps between the numbers are deliberate: leaving room means the rank you invent next year can slot in between two existing ones without renumbering the ladder.

The Web Editor

Commands work, and for anything past the first afternoon the editor is faster. Run it and LuckPerms hands you a one-time URL to a browser interface with every group, every inheritance chain and every permission in one view. Drag things around, click Save, and it applies to the running server without a restart. It is also where you notice that a group inherits something you did not mean to give it, which is very hard to see from a console.

/lp editor

Vault Integration for Chat Prefixes

A prefix in chat needs two more things: Vault, which lets other plugins read group data out of LuckPerms, and a chat plugin that actually formats the message, such as EssentialsX Chat or ChatControl. Install Vault first, then set the prefixes.

/lp group member meta setprefix 1 "&7[Member] " /lp group moderator meta setprefix 50 "&a[Mod] " /lp group admin meta setprefix 100 "&c[Admin] "

The ampersand codes are Minecraft colour codes: &7 is gray, &a is green, &c is red. The number after setprefix is a priority and works like weight does, so reusing the group's own weight keeps the two from ever disagreeing. EssentialsX Chat picks the prefix up from Vault by itself once the chat format in its config references it.

Adding Players to Groups

With the ladder built, promoting somebody is one line, and it takes effect immediately: no restart, no relog.

/lp user PlayerName parent set moderator

That sets their primary group. Because moderator inherits helper and member, they get those too. Beyond this there are contexts, which limit a permission to one world, temporary permissions with an expiry date, and per-server rules for networks, but the ladder above covers what most servers ever need.

Questions people ask about ranks

Do I still need to op myself?

Better not to. An operator bypasses permission checks entirely, so you stop seeing what your own admin group can and cannot do. Put yourself in the top group instead and deop.

What is the default group for?

It is where LuckPerms puts a player it has never seen. Leaving it empty and giving new players your own bottom group means you can change what they start with without touching the fallback.

Does LuckPerms work on a modded server?

There are Fabric and Forge builds, but they are separate downloads and the plugin ecosystem around them is much smaller. On our software list the Bukkit-based options are where this guide applies.

My prefix does not show up in chat. Why?

Setting a prefix and displaying one are two plugins. LuckPerms stores it, Vault exposes it, and a chat plugin has to put it in the message. Missing any of the three and the prefix exists but nobody sees it.

Do I need MySQL?

Only for a network where several servers share one set of ranks. A single server runs fine on the flat file LuckPerms creates by itself, and that file is easier to back up.

Plans that run a plugin server

See all 21 plans across three editionsAnswer four questions and get the size

Every command on this page is generated from one list of four groups, so the weights in the table, the inheritance chain and the prefixes cannot say three different things. Change a rank there and all four blocks change with it.