Permissions are the first thing every SMP needs and the first thing most owners get wrong, usually by handing out op and hoping. LuckPerms is the plugin that fixes that properly. It is the established standard for a reason: it is fast, it stores its data sensibly, it has a genuinely good web editor, and it does its one job without adding tick cost you can feel. This post takes you from a blank install to a working set of groups, prefixes and per-world rules, and points out the gotchas that trip people up. It is a companion to essential SMP plugins, and it sits under the wider guide to running a Minecraft SMP.

Why LuckPerms is the one to learn

A permissions plugin decides who can run which command and use which feature. Op is the blunt version of that: full access to everything, including commands that can flatten your world. You want almost nobody holding it. LuckPerms lets you grant exactly what each person needs and nothing more, which is the whole game when you are letting other people help run your server. It also carries prefixes, suffixes and per-world rules, so it becomes the backbone other plugins hang off. Learn it once and most of your staff-and-ranks questions are already answered.

The core concepts

There are only a few ideas to hold, and they compose cleanly.

Groups are named bundles of permissions, like default, member, mod and admin. Assign a player to a group and they inherit everything that group can do. This is where almost all your configuration lives.

Users are individual players. You can grant a permission straight to a user, but you mostly avoid it, because per-user grants are the thing you forget you set and spend an evening hunting later. Assign people to groups and let the group carry the permissions.

Permission nodes are the individual keys, usually written in dotted form like essentials.home or worldedit.wand. A plugin defines its own nodes and documents them. Granting a node lets a player use that feature. Nodes can be true (granted) or false (negated), and that distinction matters more than it looks.

Inheritance is groups building on other groups. If mod inherits from member, everyone in mod gets everything member has plus the mod-specific extras. You build the ladder once and each rung only lists what it adds.

Tracks are ordered lists of groups for promotion and demotion, for example default to member to mod to admin. With a track set up you can promote someone one step at a time instead of remembering the exact group name.

A sensible starter setup

For most SMPs a four-group ladder covers everything for a long time. Each group only adds what the one below it lacks, and nobody ever holds op.

default is what brand-new players land in. Give it the bare minimum: chat, basic movement, the ability to set a home or two.

member is your trusted regular. It inherits default and adds the quality-of-life commands, more homes, teleport requests, whatever your economy uses. Most of your players live here, and you promote people into it once they have stuck around.

mod inherits member and adds the moderation tools: inspection, kick, mute, temporary bans, the ability to see who did what. It does not get anything that can permanently reshape the world. We go deep on where to draw that line in moderation and staff tooling.

admin inherits mod and adds the heavy tools: world editing, plugin management, the destructive commands. Keep this group tiny, ideally you and the one or two people you would trust with the server while you sleep.

The core commands are short. You create a group with /lp creategroup <name>, so /lp creategroup member makes the member group. You grant a node with /lp group <name> permission set <node> <true/false>, so /lp group mod permission set essentials.kick true gives the mod group the kick command, and setting the same node to false negates it instead. The nodes themselves come from each plugin's own documentation, and for anything past a couple of grants the web editor below is faster and safer than typing them one by one.

Prefixes, suffixes and chat

Prefixes are the tags in front of a name, like [Mod] or [Admin], and suffixes go after. LuckPerms stores them but does not render your chat on its own. For the tags to appear you need two more pieces: Vault, the bridge other plugins read permissions and prefixes through, and a chat-formatting plugin that lays out the message. EssentialsX Chat is still the common choice, so the usual stack is LuckPerms, Vault and EssentialsX Chat installed together. Set the prefix on the group with /lp group <name> meta setprefix <priority> "<prefix>", add the {PREFIX} placeholder to the EssentialsX chat format, and every member carries the tag automatically.

Two prefixes can collide when a player is in more than one group. LuckPerms resolves that with priority, a number on each prefix, and the highest wins. Give admin a higher prefix priority than member and an admin who also counts as a member still shows the admin tag.

Per-world permissions

LuckPerms can scope a permission to a single world using contexts. This is how you let people fly in a creative build world but not on the survival map, or hand out different home limits per world. You attach a world context to the grant and it only applies while the player is in that world. Worth knowing this exists before you need it, because the alternative is keeping separate per-world setups in sync by hand.

The web editor

This is the feature that makes LuckPerms pleasant to run. Instead of typing long commands, you run the editor command in-game, it hands you a one-time link, and you edit groups, users, nodes and inheritance in a browser. When you are done you apply the changes and they sync back to the server. For building your initial ladder and for any bulk change, this is far less error-prone than working command by command. The command is /lp editor, and it needs the luckperms.editor permission, which your admin group should hold. Run it, follow the one-time link, make your changes, then run the command it hands back to apply them.

Common gotchas

Wildcards are powerful and dangerous. A node like essentials.* grants every Essentials command at once, including ones you did not mean to hand out. Use wildcards sparingly, and never on a low-trust group. It is easy to grant far more than you intended and not notice until someone uses it.

Negated nodes override granted ones by default, and this is usually what you want. If a group inherits a permission but you set that same node to false, the false wins and the feature is blocked. This is how you carve an exception out of a broad grant. It also means a stray negation up the inheritance chain can silently block something you thought you granted, so when a permission mysteriously fails, check for a false first.

Priority settles permission conflicts as well as prefix ones. When a player is in multiple groups with conflicting permissions, group weight decides which applies. If two of your groups fight over a node, set an explicit weight rather than relying on load order.

Where this fits

Permissions are the foundation the rest of your staff setup stands on. Once the ladder is built you layer grief protection, moderation tools and punishments on top, each granted to the right rung and nothing above it. The running a Minecraft SMP pillar maps how those pieces connect.

If you would rather build all this on a box that is genuinely yours, with cores and RAM reserved so your plugins have the tick budget to run cleanly, our Minecraft hosting is set up for exactly that.