LuckPerms
Permissions and groups for the entire server — one place where it is decided who is allowed to do what.
← Plugins Permissions and groups license MIT guide for LuckPerms 5.x (Paper/Spigot, Velocity)
Download from the author Source code 2 833 872 download from the author autor lucko
What does it do?
LuckPerms decides who can do what on the server. When a player types a command or opens a chest, the plugin handling it asks LuckPerms for permission (a node such as luckperms.user.info) and gets a yes or no answer. All rules are in one place — not scattered across the configurations of other plugins.
The basic idea: permissions are not given to a player, but to a group — and a player is a member of groups. On a typical server, a few groups are therefore enough (player, VIP, moderator, admin), and players simply move between them. When the rules change, you edit one group and it applies to everyone.
Groups can inherit: a moderator can inherit from player and add only their own. A denial (false) takes precedence only where it is as specific as the permission. If you're not sure which node applies, the command /lp info lists what the player can do and where they inherited it from, and /lp verbose on uk shows live which permission is currently being checked.
Permissions can also be set temporarily (a temporary VIP for 30 days) or only in a certain world (they can build only in the creative world). LuckPerms can also handle multiple servers at once when you connect them through a database — useful when you have a lobby, survival, and skyblock and want one set of permissions for all.
The fastest way to set it up is the web editor: /lp editor vyp writes out a link, you click through groups and permissions in your browser, and save them back into the game. Without a restart and without manually rewriting files.
Most servers use it — also because many other plugins depend on it, as they need to know who is a moderator and who is a regular player.
Installation
- Check what the server runs on (/version v konzoli). LuckPerms has versions for Paper/Spigot, but also for Velocity, BungeeCord, Fabric, and Forge — choose the one that matches your server type.
- Open luckperms.net and in the Download section choose the server type and the latest version.
- Upload the downloaded .jar to the plugins folder on the server.
- Restart the server. Avoid the /reload command — it can mess up even plugins that otherwise work correctly.
- Check the console: a line with the LuckPerms version and information about which storage it saves data to must appear (the default is files in plugins/LuckPerms).
- Write /lp info — it will output the version and storage status. If a report about missing data appears, run /lp sync.
- Create basic groups: /lp creategroup hrac, /lp creategroup vip, /lp creategroup moderator, /lp creategroup admin.
- Set up inheritance so permissions aren't duplicated: /lp group vip parent add hrac (and likewise for other groups).
- Give yourself all permissions: /lp user permission set luckperms.* true. Without that you won't get access to permission settings.
- Add yourself to the admin group: /lp user parent add admin.
- Set the default group for new players: /lp default group set hrac. KaEvery new player automatically falls into it.
- Open /lp editor a dokonfiguruj zbytek. Po ulo and verify that the permissions have taken effect: /lp info .
- Before your first big change, make a backup: /lp export zaloha.json (saves the complete permission setup to a file).
Permissions
Permissions are granted to players or groups — most often with a command /lp user <player> permission set <node> true (LuckPerms). A node that is not in the list is unknown to the plugin.
| Permissions | What does it allow? |
|---|---|
| luckperms.user.info | view player information (/lp info) |
| luckperms.user.permission.set | assign permissions to a player |
| luckperms.user.parent.add | add a player to a group |
| luckperms.user.promote | move a player to the next group in the hierarchy |
| luckperms.group.permission.set | change group permissions |
| luckperms.group.parent.add | set inheritance between groups |
| luckperms.creategroup | create a new group |
| luckperms.editor | open the web editor (/lp editor) |
| luckperms.applyedits | confirm changes made in the editor |
| luckperms.verbose | monitor permission checks (/lp verbose on) |
| luckperms.sync | reconcile data after manual file edits |
| luckperms.export | save permission settings to file |
| luckperms.* | absolutely everything (owner and top management only) |
Commands
Type it in chat with slashes as well. Where is it? <player> or <uzel>, fill in your own value without brackets.
| Command | What does it do? |
|---|---|
| /lp editor | web permissions editor (prints a link to the browser) |
| /lp info <player> | what the player is allowed to do and from which group it was inherited |
| /lp user <player> permission set <uzel> true | grants the player a permission (false denies it) |
| /lp user <player> permission settemp <uzel> true 30d | permission for a limited time |
| /lp user <player> parent add <skupina> | adds the player to a group |
| /lp user <player> parent remove <skupina> | removes the player from a group |
| /lp group <skupina> permission set <uzel> true | sets a permission for the whole group |
| /lp group <skupina> parent add <other> | the group inherits another group's permissions |
| /lp group <skupina> meta setprefix 100 &6[VIP] | colored prefix (100 is priority, higher wins) |
| /lp creategroup <skupina> | creates a new group |
| /lp default group set <skupina> | which group new players fall into |
| /lp verbose on | shows live which permission is currently being checked (/lp verbose off vypne) |
| /lp sync | syncs data when files or the database are modified |
| /lp export <soubor> | saves the complete permissions setup (as a backup) |
| lp import <soubor> | restores the settings from a file (type with a slash: /lp import) |
Configuration and common mistakes
Give permissions to groups, not individual players. Players keep growing, groups stay few — when you change the rules, you’ll save hours.
Set up your own group and don’t edit permissions directly for yourself: if you accidentally deny yourself access, you’ll lock yourself out of your own server. Keep the console or a second account on hand in case of emergency.
Watch out for false: a deny only wins where it is just as specific as the allow. If group hrac denies something and VIP allows it, the priority (weight) of the groups decides — not the order in which you added them.
Prefixes and ranks belong in meta (meta setprefix), not in permissions. The priority number decides which prefix shows in chat when a player has multiple ranks stacked on top of each other.
Before a bigger change, save a backup (/lp export zaloha.json) and also back up the plugins/LuckPerms folder. Permissions are the hardest thing to explain after the fact.
When permissions “don’t propagate”, /lp sync. Kdy helps. If the plugin after restart acts like it can’t do anything, the wrong version for the given server type (Paper vs. Velocity) is usually to blame.
Who uses it?
Servers from our list that use this plugin:
Do you use it on your server? Write to us and we'll add it to the list.
Similar plugins
Where does the guide come from?
The guide is our own and is based on the author's documentation. We describe permissions and commands as facts, we don't make anything up — if plugin changes after an update, the guide may be out of date. (version LuckPerms 5.x (Paper/Spigot, Velocity)) Did you find an error? Write to us and we'll fix it.
License: MIT. The file isn't hosted with us; it's downloaded from the author at (lucko) — that way the current version is always available.