NewSchokr 13 is here. A whole new UI, seven locations, snapshots and more. Read more →

LuckPerms basics: groups, permissions and prefixes

Set up ranks with LuckPerms on your Paper server: create groups, give permissions, add players, set inheritance and chat prefixes.

Updated · 2 min read

LuckPerms is the most widely used permissions plugin for Paper servers. You create groups (ranks), give each group permissions, and put players in groups. Everything is done with /lp commands or the web editor.

Install

  1. Download the Bukkit version of LuckPerms and upload it to plugins.
  2. Restart the server.
  3. Make yourself an operator, or run commands from the server console, to set up your first groups.

LuckPerms stores data in a local H2 database by default, which works fine on Schokr. You do not need MySQL unless you want to share permissions across several servers.

Key ideas

  • Permission node: a string like essentials.home that a plugin checks before allowing an action.
  • Group: a named set of permissions, such as default, vip, mod or admin.
  • default group: every player is in it automatically. Give it the permissions all players should have.
  • Inheritance: a group can include another group's permissions, so mod can inherit everything from default.

Create groups

/lp creategroup vip
/lp creategroup mod
/lp creategroup admin

Set up inheritance so higher ranks include lower ones:

/lp group vip parent add default
/lp group mod parent add vip
/lp group admin parent add mod

Give permissions

/lp group default permission set essentials.home true
/lp group default permission set essentials.sethome true
/lp group vip permission set essentials.fly true
/lp group mod permission set essentials.kick true

To take one away, use permission unset. To explicitly deny a permission, set it to false.

The * wildcard gives every permission. Avoid giving it to anyone you do not fully trust, since it includes server-wide commands.

Add players to groups

/lp user Steve parent add vip

parent add adds a group on top of existing ones. parent set replaces all of the player's groups with just that one:

/lp user Steve parent set mod

Check what a player has with /lp user Steve info, or test a single node with /lp user Steve permission check essentials.fly.

Prefixes

/lp group vip meta setprefix 10 "&a[VIP] "
/lp group admin meta setprefix 100 "&c[Admin] "

The number is the priority. When a player is in several groups, the highest priority prefix is shown.

LuckPerms stores the prefix, but it does not change chat by itself. You need a chat plugin that reads it, such as EssentialsX Chat together with Vault. In EssentialsX Chat's format, use the {PREFIX} placeholder:

chat:
  format: '{PREFIX}{DISPLAYNAME}&r: {MESSAGE}'

The web editor

Run /lp editor. LuckPerms prints a link to a web page where you can edit groups and permissions visually. When you save, it gives you a command to paste back into the console to apply the changes.

Finding permission nodes

Each plugin documents its permission nodes, usually on its wiki or plugin page. You can also enable /lp verbose on while a player uses a command; LuckPerms prints every permission check so you can see the exact node needed.