Plugin permissions without LuckPerms pain
Plugin permissions without LuckPerms pain
LuckPerms is the right permission plugin. It's also the one that breaks people. You install it, you stare at the config, and you have no idea what to do next. This article gets you from "installed" to "working" without the usual three hours of confused googling.
The mental model
LuckPerms manages:
- Groups (like "default", "member", "vip", "moderator", "admin").
- Permissions assigned to groups (like
essentials.home,worldedit.*). - Players assigned to groups.
Every plugin exposes its features as permission nodes (essentials.tp, worldguard.region.claim, etc.). A player has a permission if any of their groups have it, or if it's set directly on the player.
The complexity people get lost in (inheritance, contexts, prefixes, tracks) is optional. You don't need any of it to get started.
The five-group hierarchy
A practical layout that handles 95% of servers:
Anything granted to default is automatically available to every higher tier through parent inheritance.
Inheritance, as a graph
Each higher tier inherits everything from the tier below, so a single permission on default reaches every signed-in player automatically:
A minimum viable setup
Here's the smallest server-ready config. Run these in console (or in-game as op) after installing LuckPerms.
/lp creategroup default
/lp creategroup member
/lp creategroup vip
/lp creategroup mod
/lp creategroup admin
Then set inheritance so each tier inherits the one below:
/lp group member parent add default
/lp group vip parent add member
/lp group mod parent add vip
/lp group admin parent add mod
This means anything you grant to default is also given to all higher groups.
Now grant some basic permissions to default:
/lp group default permission set essentials.help true
/lp group default permission set essentials.spawn true
/lp group default permission set essentials.tpa true
/lp group default permission set essentials.home true
/lp group default permission set essentials.warp true
And member:
/lp group member permission set essentials.sethome.multiple.member true
/lp group member permission set worldedit.selection.pos true
And mod:
/lp group mod permission set worldguard.region.* true
/lp group mod permission set essentials.kick true
/lp group mod permission set essentials.mute true
And admin:
/lp group admin permission set * true
Set new players to join default:
/lp group default setweight 0
/lp group default setdisplayname Newcomer
(LuckPerms uses weight to decide which group is "primary." Higher weight wins; the default group sits at weight 0 as the lowest fallback.)
That's enough to run a server. Players land in default. After some time / a quest / an admin promotion, they move up.
Promoting players
The single most common operation:
/lp user Steve parent add member
Steve is now a member, inheriting from default and gaining member's permissions.
To remove a group:
/lp user Steve parent remove member
To see what groups Steve has:
/lp user Steve info
A common confusion: the "default" group is special
LuckPerms has a built-in group also called default. New players are automatically in it. You can either use this group (just put your defaults on it) or create your own group called something else (like member) and configure the "default group" setting.
For most servers, putting your initial permissions on the actual default group is simpler.
/lp group default permission set ...
Listing what a permission actually does
You'll see permission nodes like essentials.tp and not know what they grant. Every plugin documents its nodes on its plugin page. Start with the plugin's documentation.
Common starter nodes by plugin:
EssentialsX:
essentials.spawn- go to spawnessentials.sethome- set a homeessentials.home- go homeessentials.tpa- teleport requestessentials.warp- use warpsessentials.kick- kick players (mod-level)
WorldEdit:
worldedit.selection.*- basic selection commands (member-level for trusted players)worldedit.region.*- region operations (mod / admin only)
WorldGuard:
worldguard.region.claim- claim a regionworldguard.region.list- see all regions
LuckPerms itself:
luckperms.editor- access the web editor (admin only)
The web editor
The most underused LuckPerms feature: /lp editor opens a web URL where you can manage groups, permissions, and inheritance in a friendly UI. The URL expires after a few minutes; changes you make sync back automatically.
For anything beyond five permissions, just use the editor. Reading and editing groups in a UI is dramatically faster than typing commands.
Per-world permissions
Sometimes you want a permission only in some worlds. E.g., flight in spawn but not survival.
LuckPerms calls this "context":
/lp group vip permission set essentials.fly true world=spawn
The permission is active when the player is in the world named spawn, not anywhere else.
Use this sparingly. Per-world permissions are powerful but easy to get wrong. Document them somewhere.
Tracks (a thing you can ignore at first)
LuckPerms has "tracks" which are ordered chains of groups for promotion / demotion. You'd use this if you want commands like /lp user Steve promote to walk Steve up your chain.
This is fine to set up but absolutely not required to start.
Backups
LuckPerms stores permissions in a file or database. Back this up. If your permissions file is lost, your server has lost its trust hierarchy.
The default storage location depends on your config. Common: plugins/LuckPerms/luckperms-h2.mv.db. Include this in your backups.
For multi-server networks, use MySQL / PostgreSQL storage. For single-server, the default H2 file is fine.
Common mistakes
Granting * to a group too early.
* means everything. Including dangerous stuff like minecraft.command.op. Only give * to admins, and even then, sparingly.
Forgetting to grant the permission to the right level.
A new admin can't help their friends if the permissions are only on mod. Check inheritance with /lp user Steve info.
Per-world permissions with typos.
world=Spawn and world=spawn are different. Pick a convention.
Editing LuckPerms files by hand while the server is running.
Don't. Use commands or the web editor. The plugin caches state and direct edits can be overwritten.
A real opinion
LuckPerms is over-built for most servers' needs. You will only use 10 percent of it. The 10 percent you use is also documented worse than the 90 percent you don't.
Start with my five-group setup. Use the web editor. Don't touch contexts or tracks until you have a real reason. Most "I can't figure out LuckPerms" problems are people trying to set up systems they don't yet need.
Conclusion
LuckPerms appears complicated. The minimum viable setup is fifteen commands and a five-group hierarchy. The web editor handles ongoing changes. Most people who get stuck are setting up features they don't need yet.
Get the basics working in 30 minutes, run with them, and only add complexity when something actually requires it.
Hosting your game server with AndroHost means we handle most of what's in this post for you automatically: tier sizing, SRV records, off-site backups, DDoS protection.
Keep reading
CPU vs GPU, a plain-English guide to how chips do math
What CPUs and GPUs actually do when they crunch numbers, why the differences matter, and how to pick the right chip for a workload.
Using your AndroHost database with plugins like LuckPerms
Every paid AndroHost server includes a real MariaDB database for plugins that need one. Here is how to set it up and connect.
Adding voice chat to your Minecraft server (Simple Voice Chat plugin)
The most requested addon for Minecraft community servers in 2026 is Simple Voice Chat (SVC) — the plugin that gives proximity-based voice (you hear players based on distance, like real life, like in DayZ or Rust). It works on Paper, Purp...