What LuckPerms Does Differently

Most Minecraft servers outgrow vanilla op levels quickly. The moment you want some players to have /fly without being full admins, or want moderators who can mute but cannot ban, you need a real permissions plugin. LuckPerms is the current standard: it is actively maintained, supports every major server type (Paper, Spigot, Fabric, Forge, Velocity, BungeeCord), and stores data in a local H2 database or MySQL for multi-server networks.

The core idea is simple: you create named groups, assign permission nodes to those groups, and add players to the groups. Players inherit everything their group has. A player can belong to multiple groups at once and LuckPerms merges all permissions. This lets you have a vip group for cosmetic perks and a moderator group for staff commands, with certain players in both.

Download and Install LuckPerms

Go to luckperms.net/download and choose the Bukkit version for Paper or Spigot. Upload the JAR to your server's plugins/ folder and do a full server restart. LuckPerms will create plugins/LuckPerms/ with its config and database on first boot.

Verify the installation by running lp info in your console. You will see LuckPerms version and storage type. The default storage is H2 (an embedded database stored in the plugin folder), which requires no additional configuration and is appropriate for a single-server setup.

First Setup: Creating Groups

LuckPerms creates a default group automatically. Every player who joins belongs to this group unless you assign them another. Start by creating any additional groups you need:

lp creategroup vip
lp creategroup moderator
lp creategroup admin

You can configure group inheritance so that higher groups automatically receive all permissions from lower groups. For example, to make admin inherit from moderator:

lp group admin parent add moderator

This means any permission you grant to moderator is also automatically held by admin. You only need to add the extra permissions that make admin more powerful. This inheritance chain keeps your setup DRY and avoids duplicating permission nodes across groups.

Adding Permissions to a Group

Permission nodes are dot-separated strings that individual plugins define. Check each plugin's documentation for the exact node names. To add a permission to a group:

lp group vip permission set essentials.fly true
lp group moderator permission set essentials.kick true
lp group moderator permission set essentials.mute true
lp group admin permission set essentials.ban true
lp group admin permission set essentials.unban true

To deny a permission (for example, if a group inherits a wildcard and you want to block a specific node), set it to false:

lp group moderator permission set essentials.ban false

Denies always win over grants. If the same node is granted in one inherited group and denied in another, the deny takes effect.

Assigning Players to Groups

Add a player to a group with the group add command. The player does not need to be online:

lp user Steve group add vip
lp user Alex group add moderator

Players can be in multiple groups at the same time. To check a player's current groups and all their effective permissions:

lp user Steve info
lp user Steve permission check essentials.fly

You can also set a timed group membership that expires automatically, which is useful for temporary rank rewards:

lp user Steve group add vip temporary 30d

The Web Editor at luckperms.net/editor

Typing every permission node in the console is tedious once your server has dozens of groups. LuckPerms ships a browser-based visual editor. Open it from your console:

lp editor

The console prints a URL. Open it in any browser. You will see all your groups in a sidebar. Click a group to see its permissions listed in a table. Type a permission node into the search bar to find or add it. Toggle nodes between true, false, and not set with a single click. When you are done, click Save and copy the apply command the editor gives you. Paste that command back into your console and all changes are applied at once.

The editor also lets you set metadata like prefixes and suffixes for chat formatting. If you have EssentialsX Chat installed, set a prefix on your groups here and it will appear automatically in chat.

Common Permissions from EssentialsX

Here are the most frequently assigned EssentialsX permission nodes for standard server roles:

# Default group (all players)
essentials.home
essentials.sethome
essentials.tpa
essentials.tpahere
essentials.tpaccept
essentials.tpdeny
essentials.msg
essentials.r
essentials.spawn

# VIP group
essentials.fly
essentials.nick
essentials.kit.vip

# Moderator group
essentials.kick
essentials.mute
essentials.unmute
essentials.jail
essentials.unjail
essentials.tempban
essentials.seen

# Admin group
essentials.ban
essentials.unban
essentials.gamemode
essentials.give
essentials.invsee

Each plugin you install will have its own permission node list. Look for a Permissions page in the plugin's wiki and work through adding the nodes you want per group. The LuckPerms web editor speeds this up significantly because it shows you which nodes are already registered on your server.