Offer Why us? How it works?
Guide

How to Set Up LuckPerms: Groups, Permissions, Editor and Prefixes

LuckPerms is the most popular permissions plugin for Minecraft servers. It lets you split OP into ranks, so moderators can kick players without being able to stop the server, and players get only the commands they need. This guide goes from installing LuckPerms to your first working rank with a prefix in chat.

Updated: 11 min read
Table of contents
  1. What is LuckPerms?
  2. Which LuckPerms version do you need?
  3. How to install LuckPerms on a Spot.gg server
  4. How to give yourself full LuckPerms permissions
  5. LuckPerms commands: the ones you'll actually use
  6. How to add a permission in LuckPerms
  7. How to create a group and build ranks
  8. How to use the LuckPerms web editor
  9. How to set a prefix with LuckPerms
  10. Where does LuckPerms save its data?
  11. Using the server's MySQL/MariaDB database
  12. Common LuckPerms problems
  13. FAQ
  14. Is LuckPerms free?
  15. What is the main LuckPerms command?
  16. How do I add a player to a group in LuckPerms?
  17. How do I create a group in LuckPerms?
  18. Does LuckPerms work on Fabric and Forge?
  19. Why doesn't my LuckPerms prefix show in chat?
  20. Do I still need OP with LuckPerms?

What is LuckPerms?

LuckPerms is a permissions plugin (and mod) for Minecraft servers: it decides which player can use which command or feature, using groups instead of all-or-nothing OP. Plain Minecraft only knows operators: a player is either OP and can do everything, or isn't and can do almost nothing. With LuckPerms you create ranks such as default, vip, moderator and admin, give each one exactly the permissions it needs and put players into them.

Everything in LuckPerms is built from four things:

Term What it is Example
Permission (node) A text key that a plugin checks before it lets a player do something essentials.fly, minecraft.command.kick
Group A named set of permissions, like a rank moderator
Parent A group that a user or another group inherits from admin inherits from moderator
Meta Extra data, most often the chat prefix and suffix &c[Admin]

Every player is automatically in the group default, so anything you give to default applies to everyone. LuckPerms is free and open source, and it runs on Paper, Spigot, Purpur and Folia, on the Velocity proxy and as a mod on Fabric, Forge and NeoForge.

Which LuckPerms version do you need?

Plugin-based engines (Paper, Purpur, Folia, Velocity) use the LuckPerms plugin; modded engines (Fabric, Forge, NeoForge) use the LuckPerms mod for that loader. Both are the same LuckPerms with the same lp commands – only the file is different.

Server engine What to install File name looks like Main command
Paper, Purpur, Spigot, Folia LuckPerms plugin LuckPerms-Bukkit-5.5.x.jar /lp
Velocity (proxy) LuckPerms plugin, Velocity build LuckPerms-Velocity-5.5.x.jar /lpv
Fabric LuckPerms mod, Fabric build LuckPerms-Fabric-5.5.x.jar /lp
Forge / NeoForge LuckPerms mod, Forge or NeoForge build LuckPerms-Forge-…jar / LuckPerms-NeoForge-…jar /lp

Vanilla Minecraft can't load plugins or mods, so LuckPerms needs one of the engines above. If you're not sure which engine you have or should pick, see Minecraft server software.

A note for modded servers: LuckPerms can only control what asks it. Mods that check permission nodes respond to LuckPerms; mods that only check the OP level keep working the old way.

How to install LuckPerms on a Spot.gg server

Open "Addons" in the server panel, go to "Available to install", search for LuckPerms and install the version marked "Compatible with your server". The panel only lists addon types your engine supports: plugins on Paper and Purpur, mods on Fabric, Forge and NeoForge, and only Velocity plugins on a Velocity proxy.

  1. In the server menu click "Addons", then the "Available to install" tile.
  2. Type LuckPerms in "Search" and open the LuckPerms entry.
  3. The list of versions shows your server's Minecraft version ("Your server: MC …"). Pick the file with the "Compatible with your server" badge – its name should match your engine, e.g. LuckPerms-Bukkit-… on Paper or LuckPerms-Fabric-… on Fabric.
  4. Click "Install" and confirm.
  5. If the server is running, the panel asks "The server needs to be restarted for this change to take effect. Restart now?" – click "Restart".

After the restart LuckPerms creates its folder: plugins/LuckPerms/ on plugin engines, config/luckperms/ on mod loaders. You'll find LuckPerms under "Installed" in "Addons", where you can later swap it for a newer version.

If "Addons" says "This engine does not support mods or plugins", your server runs Vanilla. To use LuckPerms you need to reinstall the server with Paper (or a mod loader) – the panel warns that reinstallation deletes the current world and settings.

How to give yourself full LuckPerms permissions

Right after installing, nobody has any LuckPerms permissions, so run your first commands from the server console, which always has full rights. On Spot.gg the console is the "Console" tab; type commands there without the leading /.

The cleanest start is an admin group with every permission:

lp creategroup admin
lp group admin permission set * true
lp user YourName parent add admin

The * wildcard means "everything", including all LuckPerms commands, so only give this group to people you fully trust. From now on you can also type the commands in game chat, with a slash: /lp user Steve info.

If LuckPerms replies that it can't find a user, let that player join the server once and try again.

LuckPerms commands: the ones you'll actually use

Almost every LuckPerms command follows the pattern lp user <player> … or lp group <group> …. These cover day-to-day work:

Command What it does
lp creategroup vip Creates the group vip
lp deletegroup vip Deletes the group
lp listgroups Lists all groups
lp group vip permission set essentials.fly true Gives the group a permission
lp group vip permission unset essentials.fly Removes that permission from the group
lp user Steve parent add vip Adds Steve to vip (he keeps his other groups)
lp user Steve parent set vip Makes vip Steve's only group
lp user Steve parent remove vip Takes Steve out of vip
lp user Steve permission set worldedit.* true Gives one player a permission directly
lp user Steve info Shows Steve's groups, prefix and details
lp user Steve permission check essentials.fly Checks whether Steve has a permission
lp editor Opens the web editor (see below)

How to add a permission in LuckPerms

Use lp group <group> permission set <node> true for a whole rank, or lp user <player> permission set <node> true for one player. Setting false instead of true explicitly denies the permission, which wins over a true inherited from a parent group.

Which node to use depends on the plugin: every plugin lists its permission nodes in its documentation (EssentialsX, for example, uses nodes like essentials.home or essentials.tpa). On Paper, vanilla commands have nodes too, e.g. minecraft.command.kick or minecraft.command.gamemode.

Two handy variations:

  • Temporary permission or rank: lp user Steve parent addtemp vip 30d gives Steve the vip group for 30 days; permission settemp works the same for single permissions.
  • Only in one world: add a context at the end, e.g. lp group vip permission set essentials.fly true world=world_nether.

How to create a group and build ranks

Create each rank with lp creategroup, then let higher ranks inherit lower ones with parent add, so you only add new permissions at each step. A typical setup:

lp creategroup moderator
lp group moderator permission set minecraft.command.kick true
lp group moderator permission set minecraft.command.ban true
lp group admin parent add moderator
lp user Alex parent add moderator

Now moderator can kick and ban, and admin gets everything moderator has (plus its own *). The group default is the base: give it the commands every player should have, such as /home or /spawn.

If you want /lp user Alex promote staff to move players up rank by rank, create a track: lp createtrack staff, then lp track staff append default, lp track staff append moderator, lp track staff append admin.

How to use the LuckPerms web editor

Type lp editor in the console or in game; LuckPerms prints a link to a browser editor where you can manage all groups, players and permissions with clicks instead of commands.

  1. Run lp editor. LuckPerms uploads the current setup and replies with a link to luckperms.net/editor/….
  2. Open the link. On the left you'll see groups and users, on the right the permissions, parents and meta of the selected one.
  3. Add or remove permissions; while you type a node, the editor suggests nodes it knows from your server's plugins.
  4. Click Save. When the editor is connected to your server, changes are applied right away. Otherwise the editor shows a command such as /lp applyedits <code> – copy it and run it in the console.

The editor is the easiest way to see your whole setup at once and to find a typo in a node. The link is temporary, so run lp editor again next time instead of reusing an old one.

How to set a prefix with LuckPerms

Prefixes are meta: add one with lp group <group> meta addprefix <priority> "<prefix>"; the prefix with the highest priority wins when a player is in several groups.

lp group admin meta addprefix 100 "&c[Admin] "
lp group moderator meta addprefix 50 "&9[Mod] "
lp group vip meta addprefix 10 "&6[VIP] "

&c, &9 and &6 are Minecraft colour codes (red, blue, gold); leave a space at the end so the prefix doesn't stick to the name. Remove a prefix with lp group vip meta removeprefix 10, and add a suffix the same way with addsuffix.

LuckPerms only stores the prefix – it doesn't change the chat by itself. To see it in chat you need a chat plugin that reads it. On Paper and Purpur a common choice is EssentialsX Chat, part of EssentialsX, which reads prefixes through Vault. Other plugins can show the prefix through PlaceholderAPI placeholders, for example on the scoreboard or tab list. On modded servers use a chat mod that supports LuckPerms prefixes.

Where does LuckPerms save its data?

By default LuckPerms saves everything in a local H2 database file inside its own folder, so it works with no setup at all. That's fine for one server. Settings, including storage-method, are in plugins/LuckPerms/config.yml (plugin) or config/luckperms/luckperms.conf (mod).

On Spot.gg you can open these files in the "Files" tab and edit them in the browser, or connect with an SFTP client – the details are under "SFTP access" in "Files".

Using the server's MySQL/MariaDB database

Spot.gg servers also have their own MariaDB database, which LuckPerms can use instead of H2. Open the "Database" tab and click "Access details": the window lists the host, port, database name, login and password to enter in the plugin configuration. In config.yml set:

storage-method: mariadb
data:
  address: <host>:<port>
  database: <database name>
  username: <login>
  password: <password>

Restart the server and LuckPerms creates its tables, which you'll then see in the "Database" tab. To move existing groups from H2, run lp export backup before switching and lp import backup after. If you ever reset the password in "Database", update it in LuckPerms' config too – the old one stops working immediately.

The database is included in backups together with the server files. It is reachable only from its own server, so it can't be shared between a Velocity proxy and separate backend servers.

Common LuckPerms problems

Most "LuckPerms doesn't work" cases come down to a wrong node, a player in the wrong group or a missing chat plugin.

  • A player still can't use a command. Run lp user <player> permission check <node> to see whether they have it and where it comes from. To see which node a plugin actually checks, run lp verbose on, let the player try the command, then lp verbose off.
  • The prefix doesn't show in chat. Check lp user <player> info. If the prefix is listed there, the chat plugin is the missing part (see above).
  • Changes in a file don't apply. Don't edit LuckPerms data by hand; use commands or the editor. After editing config.yml, restart the server.
  • Permissions vanished after switching online mode. LuckPerms stores players by UUID, and offline mode gives players different UUIDs than Microsoft accounts. When you change the setting under "Configuration", the panel converts Minecraft's own data (inventory, OP, whitelist, bans) but not plugin data like LuckPerms – re-add the affected players. More in Minecraft offline mode server.

Paid Minecraft servers on Spot.gg start from $3.90 per month, and a new account can try a server free for 24 hours first.

FAQ

Is LuckPerms free?

Yes. LuckPerms is free and open source. On Spot.gg you install it from the "Addons" tab at no extra cost.

What is the main LuckPerms command?

/lp (also /luckperms) on Paper, Purpur, Fabric, Forge and NeoForge, and /lpv on a Velocity proxy. In the server console type it without the slash, e.g. lp editor.

How do I add a player to a group in LuckPerms?

Run lp user <player> parent add <group>. Use parent set instead if the group should replace all the player's other groups.

How do I create a group in LuckPerms?

Run lp creategroup <name>, then give it permissions with lp group <name> permission set <node> true.

Does LuckPerms work on Fabric and Forge?

Yes. LuckPerms has mod versions for Fabric, Forge and NeoForge with the same commands, but only mods that check permission nodes are controlled by it.

Why doesn't my LuckPerms prefix show in chat?

LuckPerms stores the prefix but doesn't format chat. Install a chat plugin that reads it, such as EssentialsX Chat with Vault on Paper.

Do I still need OP with LuckPerms?

No. Give yourself an admin group with the * permission from the console and keep OP for emergencies only.

Other guides