Skip to content

LuckPerms Setup: Minecraft Ranks and Permissions Explained

Install LuckPerms on a Paper or Spigot server and set up ranks, inheritance, prefixes and per-command permissions. Includes the commands, the web editor, and how to migrate to MySQL.

Level
intermediate
Read
12 min
Updated
By
Bradford

Operator status in Minecraft is all or nothing. An op can do everything, including stop the server and hand op to someone else, which makes it useless for a moderator who should be able to mute and kick but never touch the world. LuckPerms is the permissions plugin that fixes that: it lets you define ranks, give each rank a specific list of permissions, and have ranks inherit from one another so you are not repeating yourself. This guide covers installing it on a Loafhosts server, the handful of commands that do ninety percent of the work, how inheritance actually behaves, and the two things that catch people out, prefixes and the web editor.

What LuckPerms Actually Does

LuckPerms replaces “is this player an op” with “does this player have this specific permission node”. A permission node is a string like minecraft.command.gamemode or essentials.fly, and every command from the server and from your plugins has one. You collect nodes into a group (Member, Helper, Moderator, Admin), assign players to groups, and LuckPerms answers the yes-or-no question every time a command is run.

Groups can inherit from other groups, which is the part that saves the most time. If Moderator inherits from Helper, everyone in Moderator automatically has everything Helper has, and you only add the extra nodes on top.

Note: LuckPerms needs a Bukkit-derivative server, that means Paper, Spigot, Purpur, Bukkit, or Folia

Warning: LuckPerms does not remove op. A player who is still op bypasses permission checks entirely, so deop your staff after giving them a rank

Installing LuckPerms on Loafhosts

Open your server in the LoafHub panel and pick Plugin Manager from the sidebar. Search for LuckPerms, pick the version that matches your server, and install. The panel downloads the jar into /plugins/ for you, so there is no upload step and no file manager work.

  1. Open your server in the panel and go to Plugin Manager
  2. Search for LuckPerms
  3. Choose the build that matches your Minecraft version and install
  4. Restart the server, plugins load at startup

The Plugin Manager pulls from the public plugin repositories and tracks what it installed. Anything you uploaded yourself over SFTP still appears in the installed list with an External badge, so a jar you added by hand is not hidden from you.

Warning: Restart the server rather than running /reload. Reloading is unreliable for plugins and can leave LuckPerms half-loaded with permissions in a strange state

Note: The Plugin Manager only appears on Bukkit-derivative servers. On Forge, NeoForge, Fabric, or Quilt you will see the Mod Manager instead, and LuckPerms is not the right tool there

The Commands That Do Most of the Work

Every LuckPerms command starts with /lp. You can run them from the server console without the slash. These are the ones you will actually use.

CommandWhat it does
lp creategroup moderatorCreates a new group
lp group moderator permission set essentials.mute trueGrants a permission node to a group
lp group moderator permission set essentials.gamemode falseExplicitly denies a node, which beats an inherited grant
lp group moderator parent add helperMakes moderator inherit everything helper has
lp user Notch parent add moderatorPuts a player in a group
lp user Notch parent remove moderatorTakes them out of it
lp group moderator meta setprefix 10 "&c[Mod] "Sets the group’s chat prefix and its weight
lp group moderator setweight 50Sets the group’s sorting weight
lp user Notch infoShows a player’s groups and permissions
lp verbose onLive-logs every permission check, then lp verbose off and lp verbose paste

Tip: lp verbose on followed by the failing command is the fastest way to find the exact node a command needs, it prints the node being checked

Tip: Set a group’s weight when you use prefixes, the highest weight wins when a player is in more than one group

Building a Rank Ladder

A working setup usually needs four groups and takes about five minutes. The pattern is to give default the bare minimum, then stack each rank on the one below it.

  1. lp creategroup helper then lp creategroup moderator then lp creategroup admin
  2. lp group helper parent add default
  3. lp group moderator parent add helper
  4. lp group admin parent add moderator
  5. Add only the new nodes at each level, for example mute and kick on helper, ban and unban on moderator
  6. Put people in with lp user <name> parent add <group>

Because each rank inherits the one below, you never list the same node twice, and promoting someone is a single command.

Note: Everyone is in the default group automatically, you never need to add them to it

Warning: Be careful granting wildcard nodes like * or essentials.*, a wildcard hands over every current and future command in that plugin, including ones added by a later update

Prefixes, Suffixes and Chat Colours

Prefixes are set as meta, not as permissions, and they take a weight so LuckPerms knows which one to show for a player in several groups.

lp group moderator meta setprefix 100 "&c[Mod] &f"
lp group helper meta setprefix 50 "&a[Helper] &f"

The colour codes here use the ampersand form. A prefix only appears in chat if something is actually rendering it, which is usually a chat plugin or Essentials. LuckPerms stores the prefix; it does not draw it. If your prefix is set correctly but nobody sees it, that is the missing piece.

Note: LuckPerms stores prefixes, it does not render chat. You need a chat plugin for them to appear

Tip: End a prefix with &f so the player’s name is not left tinted by the prefix colour

The Web Editor

Typing node names is fine for a handful of changes and miserable for a big permission tree. Run lp editor and LuckPerms prints a one-time link to a browser editor where you can drag groups, tick permissions, and edit inheritance visually. When you are done, the editor gives you an apply command to paste back into the console.

  1. Run lp editor from the console
  2. Open the link it prints
  3. Make your changes in the browser
  4. Copy the apply command it gives you and run it back on the server

Warning: The editor link is one-time and grants anyone who opens it the ability to rewrite your permissions. Do not paste it into a public channel

Tip: lp editor on its own loads everything; you can narrow it, for example lp editor group.moderator, to keep a large setup manageable

Storing Permissions in a Database

By default LuckPerms stores everything in files inside /plugins/LuckPerms/. That is fine for one server. If you run several servers that should share ranks, point them at one database instead.

  1. Create a database from the Databases tab on your server in the panel and note the host, name, user, and password
  2. Open /plugins/LuckPerms/config.yml in the File Manager
  3. Set storage-method to mysql and fill in the connection details
  4. On the server that already has your data, run lp migrate mysql to copy it across
  5. Restart, then point the other servers at the same database

Warning: Run the migration from the server that holds the real data, running it from an empty server writes an empty permission set over the top

Tip: Take a backup before migrating, so a mistake costs you a restore rather than your whole rank setup

Common Problems

SymptomUsual cause
A permission does nothingThe player is still op and bypassing checks. Deop them
A denied node still worksA wildcard elsewhere grants it. Set the specific node to false, an explicit deny wins
Prefix set but not shownNo chat plugin is rendering it
Changes revert after restartTwo servers share a storage folder, or the config edit was not saved
Nothing loads at allThe jar is in the wrong place or the server is not Bukkit-derivative

Tip: lp user <name> info shows exactly which groups a player is in and where an inherited node came from, start every diagnosis there

Frequently Asked Questions

How do I install LuckPerms on my Minecraft server?

Open your server in the LoafHub panel, go to Plugin Manager, search for LuckPerms, install the build matching your Minecraft version, and restart. The panel places the jar in /plugins/ for you. LuckPerms requires a Bukkit-derivative server such as Paper, Spigot, Purpur, or Folia.

Why is my LuckPerms permission not working?

The most common reason is that the player is still a server operator, and op bypasses permission checks completely. Deop them and test again. The second most common is a wildcard node elsewhere granting what you tried to deny, in which case set the specific node explicitly to false.

How do I make a moderator rank?

Create the group with lp creategroup moderator, have it inherit your lower rank with lp group moderator parent add helper, add only the extra nodes that rank should gain, then assign a player with lp user <name> parent add moderator.

How do I import my LuckPerms data into MySQL?

Create a database from the Databases tab, set storage-method: mysql with the connection details in /plugins/LuckPerms/config.yml, then run lp migrate mysql from the server that already holds your permission data. Back up first, and never run the migration from an empty server.

What is the LuckPerms web editor?

Running lp editor prints a one-time link to a browser interface where you can edit groups, permissions and inheritance visually, then paste an apply command back into the console. Treat the link as a credential, anyone who opens it can rewrite your permissions.

Why is my LuckPerms prefix not showing in chat?

LuckPerms stores prefixes as metadata but does not render chat itself. You need a chat plugin or Essentials to display it. Also check the prefix weight, because for a player in several groups the highest weight is the one shown.

Rate this guide

Tap a star, it helps us decide what to write (and fix) next.