How to Install and Configure LuckPerms on Your Minecraft Server

Install LuckPerms on your Minecraft Java server for permission groups, ranks, prefixes, inheritance, and per-world permissions using the web editor.

LuckPerms is the most-used permissions plugin for Minecraft. It manages groups (ranks), permissions, inheritance, prefixes, and per-world overrides — and it has the best web editor of any permissions plugin, which is reason enough to install it.

LuckPerms supports Bukkit/Spigot/Paper, Folia, Sponge, Velocity, BungeeCord, Forge, NeoForge, and Fabric.

How LuckPerms Works

Player ──── primary group ──► Group ──── inherits from ──► Group
                                │                            │
                                ▼                            ▼
                          permissions                  permissions
                                │                            │
                                └────── effective set ──────┘
  • Groups hold permissions and metadata (prefix, suffix, weight)
  • Players belong to one or more groups
  • Groups can inherit from other groups (e.g., vip inherits from default)
  • Permissions can be set at the player level or group level
  • Tracks are linear group chains for promotion/demotion

Install LuckPerms

Download LuckPerms

Go to luckperms.net/download and pick the build for your platform:

PlatformFile
Bukkit / Spigot / Paper / FoliaLuckPerms-Bukkit-X.X.X.jarplugins/
FabricLuckPerms-Fabric-X.X.X.jarmods/ (also needs Fabric API)
Forge / NeoForgeLuckPerms-Forge-X.X.X.jarmods/
VelocityLuckPerms-Velocity-X.X.X.jarplugins/
BungeeCordLuckPerms-Bungee-X.X.X.jarplugins/
SpongeLuckPerms-Sponge-X.X.X.jarmods/

Stop the server

In the XGamingServer Panel, open Console and stop your server.

Upload the JAR

Click Files in the sidebar. Upload to plugins/ (or mods/).

Start the server

Start from Console. LuckPerms creates plugins/LuckPerms/ and a default default group.

Verify

plugins

LuckPerms should appear in green.

Quick Start: Create Three Ranks

The most common starter setup is three ranks: member, mod, admin.

Create the groups

In Console:

lp creategroup admin
lp creategroup moderator
lp creategroup member

Set up inheritance

Have admin inherit from moderator, and moderator inherit from member:

lp group moderator parent add member
lp group admin parent add moderator

Now any permission given to member applies to all three groups.

Set group weights

Higher weight = higher priority for prefix display:

lp group member meta setweight 10
lp group moderator meta setweight 50
lp group admin meta setweight 100

Add permissions

lp group member permission set essentials.home true
lp group member permission set essentials.sethome true
lp group member permission set essentials.spawn true
lp group member permission set essentials.tpa true
lp group member permission set essentials.tpaccept true

lp group moderator permission set essentials.kick true
lp group moderator permission set essentials.mute true
lp group moderator permission set essentials.tempban true

lp group admin permission set essentials.* true
lp group admin permission set worldedit.* true
lp group admin permission set minecraft.command.op true

Set prefixes

lp group member meta setprefix "&7[Member] "
lp group moderator meta setprefix "&9[Mod] "
lp group admin meta setprefix "&c[Admin] "

For prefixes to show in chat, you need EssentialsX Chat and Vault.

Assign players

lp user PlayerName parent set member
lp user AdminName parent set admin

The player's primary group is updated immediately — no relog needed.

The web editor is faster than typing commands for any non-trivial setup.

In Console or in-game:

/lp editor

LuckPerms uploads your current data and gives you a URL like https://luckperms.net/editor/abc1234.

Edit visually

In the web editor:

  • Drag-and-drop permissions between groups
  • Set inheritance with checkboxes
  • Edit prefixes and metadata
  • Use search to find permission nodes

Apply changes

Click Save in the editor. It generates an apply command. Paste it back into your server console.

Web editor data is uploaded. It's hosted publicly. Use it for normal permission management — don't paste anything sensitive.

Common Commands

CommandDescription
/lp editorOpen the web editor
/lp creategroup <name>Create a new group
/lp deletegroup <name>Delete a group
/lp listgroupsList all groups
/lp group <name> infoView a group's perms
/lp group <name> permission set <perm> [true/false]Add a permission
/lp group <name> permission unset <perm>Remove a permission
/lp group <name> parent add <other>Set inheritance
/lp group <name> meta setprefix "<prefix>"Set chat prefix
/lp group <name> meta setsuffix "<suffix>"Set chat suffix
/lp group <name> meta setweight <number>Set group weight
/lp user <name> infoView a player's groups and perms
/lp user <name> parent set <group>Set primary group
/lp user <name> parent add <group>Add an extra group
/lp user <name> permission set <perm>Override a perm for one player
/lp user <name> promote <track>Promote up a track
/lp user <name> demote <track>Demote down a track
/lp createtrack <name>Create a promotion track
/lp track <name> append <group>Add group to a track
/lp syncSync from database (network setups)
/lp verbose onDebug missing permissions

Wildcard Permissions

PermissionEffect
*All permissions on the server
essentials.*All EssentialsX permissions
worldedit.*All WorldEdit permissions
essentials.sethome.multiple.*Unlimited homes
minecraft.command.*All vanilla commands

Warning: * is the equivalent of OP. Only give to trusted admins.

Per-World Permissions

LuckPerms supports per-world permission contexts:

lp group vip permission set essentials.fly true world=creative

This grants essentials.fly only when the player is in the creative world.

Network / BungeeCord Setup

For multiple backends sharing permissions, use a MySQL backend:

In plugins/LuckPerms/config.yml on every backend:

storage-method: mysql
data:
  address: your-mysql-host:3306
  database: luckperms
  username: luckperms_user
  password: your-password

All backends now read/write from the same database. See Use MySQL Database.

Common Issues

ProblemFix
Permissions don't workVerify with /lp user <name> info — check the player has the right groups
Permission "not set" warningLuckPerms shows missing perms — check spelling, then lp verbose on
Prefix not showingInstall Vault + EssentialsXChat + LuckPerms — chat plugin must hook Vault
Player has perm but command says noOP override is interfering — deop the player
Group inheritance not workingUse parent add, not permission set group.X true
Web editor link expiredGenerate a new one with /lp editor
Changes don't sync across backendsSet up MySQL storage (see above)
Wildcard * doesn't grant a specific permSome plugins use negative perms — set explicit true

Common Mistakes

MistakeFix
Forgetting /op overrides permsDeop players — use perms instead
Using permission set group.admin true instead of parent add adminThe latter is correct for inheritance
Setting prefix without weightConflicts with other groups' prefixes — set weights
Not restarting after switching from default to MySQLRestart to apply storage change
Editing the YAML files manually while server is runningUse commands or the editor instead
Forgetting to give essentials.signs.use.* for player signsMany EssentialsX features need granular perms

How is this guide?

40% Off — Limited TimeGet your Minecraft server todayInstant setup, DDoS protection, and 24/7 support included.
Get a Server

On this page