
How to Set Up LuckPerms on your Minecraft 1.21 Server (with ChatGPT)
This is part of a series where we go through the entire process of setting up a Minecraft community server. Subscribe to the channel to follow along!
Last time we created a Paper server. This time we'll set up LuckPerms. Actually, we added LuckPerms then, but we'll review that as it's so easy.
If you’re setting up a Minecraft community server, managing player permissions is one of the most important tasks you'll face. This is where LuckPerms comes in! It's a powerful and flexible permissions plugin that can handle everything from the simplest of permissions to complex setups on large servers.
In this post, we'll cover the basics of LuckPerms in practical terms as I set up an actual community server, how to install and configure it, what you can do with it, and explore some additional plugins that can give your players extra functionality.
I'm also going to show you how I use ChatGPT to take all the tedious command typing and completion out of the equation to get this done in just a few minutes so you can get on to doing more cools stuff for your community...and playing.
I always do tasks like this with ChatGPT. I can ask it questions to get commands written for me, explanations, and even new ideas. ChatGPT isn't perfect, and it does make mistakes as well as downright makes stuff up. Just be watchful, and skeptical, it can be an incredible time saver.
Watch the Video
What is LuckPerms?
LuckPerms is a permissions management plugin that gives you full control over what players can do on your Minecraft server. Whether it’s allowing basic commands like /spawn
or managing advanced permissions for custom plugins, LuckPerms makes it easy to create groups (or "ranks") and assign permissions to players.
It doesn't do much visibly itself, so much as enable controll over access to all of the other features and plugins that you have on your server. So for this post, I'm going to assume you have EssentialsX installed, which is pretty much essential for any server (thus the name), and we'll use some common EssentialsX features to demonstrate some things you can do with LuckPerms. I'll cover EssentialsX in another post.
What you can do with LuckPerms is set up different permission groups and manage them. As you put players in each group manually, or automatically based on some condition or in-game action, they will automatically gain access to the features that are granted to each group.
A Picture of Your Server’s Ranking Setup
Here's out goal. We want to set up the following groups, which I may refer to as "ranks". I'll use those terms interchangeably:
Default - The basic rank that new players start with, offering essential commands like /spawn
, /msg
, and /tpa
.
Member - A rank for regular players with additional permissions like /sethome
and /warp
.
VIP - A donor rank with extra perks such as /fly
, additional /homes
, and access to special /kit
s.
Moderator - A rank for trusted players who help manage the server with commands like /kick
, /mute
, and chat management.
Admin - The top-tier rank with full access to all server commands and permissions.
Some of the progression through these ranks will be manual, like Moderator and Admin, and others will be programmatic through a progression through these rankings that we can use other plugins to trigger based on in-game criteria and real life actions.
Now, let's see how to set this up with LuckPerms.
Installation: Getting LuckPerms Up and Running
But first, let's install LuckPerms. It's very easy.
Step 1: Download LuckPerms - Head over to the official Spigot or Paper resource pages and download the latest version of LuckPerms that’s compatible with your server.
Step 2: Add LuckPerms to Your Server - Place the LuckPerms.jar
file into your server's plugins
folder.
Step 3: Restart Your Server - Restart your server to generate the LuckPerms configuration files. After the restart, you should see a new LuckPerms
folder inside your plugins
directory.
Step 4: Verify Installation - Type /plugins
in your server console or in-game to verify that LuckPerms is installed correctly. It should be listed in green.
Configuration File Settings
LuckPerms generates a config.yml
file in the plugins/LuckPerms/
directory upon installation. There are a ton of configuration settings, and the defaults are probably good enough, but here are just a few important settings to consider:
Storage Settings - By default, LuckPerms uses an h2 datbase for storage:
storage-method: h2
If you prefer MySQL for better performance, especially on larger servers, change this to:
storage-method: mysql
And configure the MySQL connection details according to your hosting provider or local database
Default Group Assignments - Set which group new players join by default:
default-group: default
Configuring Your LuckPerms Groups: Step-by-Step Setup
With LuckPerms installed, it’s time to set up the groups we talked about earlier.
Any new user on your server will automatically be put in a group called default. This used to be configurable, but it is not any longer. You can read more about this here. If you want the default group to be called something else, you can set it's display name with the command,
/lp group default <name>
In any case, all new users are in a group called default and there's no need to create this group.
Step 1: Create Groups (Ranks) - Use the following commands to create the ranks:
/lp creategroup member
/lp creategroup vip
/lp creategroup moderator
/lp creategroup admin
These commands create the member
, vip
, moderator
, and admin
ranks on your server.
Step 2: Assign Permissions to Groups - Now, assign permissions to these groups based on what each rank should be able to do. I'm just using some examples from the EssentialsX plugin here.
Default:
/lp group default permission set essentials.spawn true
/lp group default permission set essentials.msg true
/lp group default permission set essentials.tpa true
Member:
/lp group member permission set essentials.sethome true
/lp group member permission set essentials.warp true
VIP:
/lp group vip permission set essentials.fly true
/lp group vip permission set essentials.sethome.multiple true
/lp group vip permission set essentials.kits.vip true
Moderator:
/lp group moderator permission set essentials.kick true
/lp group moderator permission set essentials.mute true
/lp group moderator permission set essentials.chat.spy true
Admin:
/lp group admin permission set *
Step 3: Set Group Inheritance - To simplify management, you can make higher ranks inherit permissions from lower ranks. For example:
/lp group member parents add default
/lp group vip parents add member
/lp group moderator parents add vip
/lp group admin parents add moderator
This setup ensures that each rank has the permissions of the ranks below it, plus its own unique permissions.
Setting Up Prefixes and Colors for Groups
Customizing the appearance of group names in chat is a great way to visually distinguish between different ranks on your server. With LuckPerms, you can easily assign prefixes to each group, and these prefixes can be styled with colors to reflect the progression from basic to premium ranks.
To set a prefix for a group, you use the meta addprefix
command. This command allows you to define the text that appears before a player's name, including the color of both the prefix and the player's name. The color codes in Minecraft are represented by an &
symbol followed by a number or letter. For example, &f
represents white, &a
is light green, and &c
is red.
The numbers in these commands is the priority weight of the command. The higher the value, the higher the priority. So if a user or group has more than one competing previx, the one with the higher priority will be shown.
Here are the commands to set up prefixes with colors for each group we created earlier:
To set up the Default group with a gray [Default]
prefix and the player’s name in white, use the command:
/lp group default meta addprefix 10 "&7[Default] &f"
For the Member group, to set the prefix to light green [Member]
and keep the player’s name in white, use:
/lp group member meta addprefix 20 "&a[Member] &f"
For the VIP group, set the prefix to blue [VIP]
with the player’s name in white by using the command:
/lp group vip meta addprefix 30 "&9[VIP] &f"
For the Moderator group, set a gold [Mod]
prefix and keep the player’s name in white with:
/lp group moderator meta addprefix 40 "&6[Mod] &f"
Finally, for the Admin group, use the command to set the prefix to red [Admin]
and the player’s name in white:
/lp group admin meta addprefix 50 "&c[Admin] &f"
Each command sets a prefix for the specified group, ensuring that players in that group have their rank clearly displayed before their name in chat. The prefixes progress from more basic colors for lower ranks to more distinguished colors for higher ranks, visually indicating the player's status on the server. This not only enhances the player experience by providing a clear indication of rank but also adds a professional touch to your server’s chat formatting.
Suffixes
Just as you can add a prefix before a player's name, you can also add a suffix after it. This can be useful for displaying additional information, such as a player's title or special status.
Example Command to Set a Suffix:
/lp group vip meta addsuffix 30 "&b the Champion"
This command adds the suffix "the Champion" in light blue (&b
) to players in the VIP
group, so their name might appear as "JangroZ the Champion" in chat.
Setting Up Tracks for Rank Progression
In LuckPerms, tracks are used to define a linear progression of ranks or groups. This makes it easy to manage promotions and demotions, especially on servers where players can progress through ranks based on playtime, achievements, or other criteria.
Creating a Track for Our Groups
For the groups we created (Default
, Member
, VIP
, Moderator
, Admin
), we'll set up a track called defaultTrack
that outlines a progression from the basic rank to the most powerful rank.
Creating the Track
To create the track, use the following command:
/lp createtrack defaultTrac
k
After creating the track, you can add the groups to it in the order you want players to progress. Use the following commands to add each group:
/lp track defaultTrack append default
/lp track defaultTrack append member
/lp track defaultTrack append vip
/lp track defaultTrack append moderator
/lp track defaultTrack append admin
This sets up a progression in the order of default → member → vip → moderator → admin
. As you append each group, you’re building the track in the order players will move through.
Promoting and Demoting Players
Once the track is set up, you can easily promote or demote players along this track. To promote a player, use the command:
/lp user [playername] promote defaultTrack
This command will move the player up to the next group in the defaultTrack
. For example, if they are currently default
, this will promote them to member
.
To demote a player, use the command:
lp user [playername] demote defaultTrack
This command will move the player down to the previous group in the defaultTrack
. For example, if they are currently vip
, this will demote them to member
.
Generally tracks in LuckPerms allows for structured and automated rank progression. By using commands like promote
and demote
, you can easily move players through the ranks. Though, we probably don't want to do this manually for everybody which would get tedious. When combined with plugins like Autorank, you can automate these promotions based on criteria such as playtime, creating a dynamic and engaging server experience.
Here's an example: When a player meets the criteria set in Autorank (for example, 10 hours of playtime), Autorank will automatically execute the command to promote them on the LuckPerms track. By integrating Autorank with LuckPerms tracks, you can automate the entire progression process, ensuring that players advance through ranks as they play, without the need for manual intervention.
The LuckPerms Web Editor
One of the best features of LuckPerms is its Web Editor, a cloud-based tool that makes managing permissions a breeze.
Accessing the Web Editor - Type /lp editor
in your server console or in-game to generate a unique URL, which you can open in your web browser. This link leads to a user-friendly interface where you can create and manage groups, assign permissions, set inheritance, and more.
Saving Changes - After making changes, the web editor will either give you a command to copy and paste back into your server’s console or chat, applying the changes to your server, it if you give it permission, it will make the changes automatically when you hit save. Watch the server console to see the magic happen!
What's Possible with LuckPerms? Adding Extra Functionality with Additional Plugins
Now that you have a solid permissions system, you can enhance your server even further with plugins that give players additional functionalities beyond EssentialsX commands. Here are some great options, just to give you some ideas:
VeinMiner / Excavator - This plugin allows players to mine entire veins of ore or chop down entire trees with a single block break. You can configure VeinMiner so that only certain ranks, like VIPs, can use it by assigning permissions such as veinminer.use
.
mcMMO - Adds an RPG-like skill system to Minecraft, where players can level up skills such as mining and combat. You can control which ranks have access to certain skills or abilities, with permissions like mcmmo.skills.*
for general skill access or specific abilities.
AdvancedBan - A comprehensive banning plugin that allows server admins to issue bans, warnings, mutes, and kicks. Typically, moderation ranks like Moderator and Admin would have access to commands such as advancedban.ban
and advancedban.kick
.
Citizens - This plugin allows you to create NPCs that can interact with players, serve as quest givers, or add life to your server. You can configure which ranks are allowed to create or interact with NPCs, with permissions such as citizens.npc.create
.
Jobs Reborn - This plugin lets players join jobs and earn money for performing specific tasks like mining or building. You can limit the number of jobs a player can join based on rank, or give higher ranks access to exclusive jobs with permissions like jobs.join.miner
or jobs.max.[number]
.
Votifier + VotingPlugin - These plugins reward players for voting for your server on server lists. You can set specific rewards for different ranks, encouraging all players to vote while giving VIPs better rewards.
Quests - This plugin allows you to create complex, story-driven quests with rewards. You can create quests that are only available to certain ranks or that provide rewards only accessible to higher ranks with permissions like quests.quest.[questname]
.
MythicMobs - Lets you create custom mobs with unique abilities, drops, and behaviors. You can configure certain mobs to only spawn or be defeated by higher-ranked players, adding an element of progression with permissions like mythicmobs.mobs.spawn.[mobname]
.
LWC (LightWeight Chest Protection) - Provides an easy way for players to protect their chests, doors, and other containers. You can configure the number of protected containers based on player rank or give special locking abilities to higher ranks with permissions like lwc.protect
.
CoreProtect - A block logging and rollback tool that allows admins to track block changes and undo griefing or accidental destruction. Typically, only admin or moderator ranks should have access to commands like coreprotect.inspect
and coreprotect.rollback
.
Using ChatGPT to Set Up LuckPerms Groups
Software developers know that ChatGPT can be a very powerful tool for writing code and doing other tedious tasks that require an understanding of commands and syntax. Did you know you can do the same with server plugin configurations?
Here's a prompt that I use to get the entire setup in this post all at once that I can copy and paste into the console.
Can you help me set up LuckPerms on my community Minecraft server? I want to create the following groups: Default, Member, VIP, Moderator, and Admin.
I want each group to have a specific set of permissions that are typical to a community minecraft server. You can set these up using EssentialsX, which I have installed, and choose some permissions based on the group names. VIPs should have good permissions like the ability to fly.
I need each group to inherit the permissions from the previous group.
I want a colored prefix for each, you choose the colors that represent importance).
I want a progression track called defaultTrack that promotes players through these ranks.
Also, please include examples commands to add players to groups, promote them through the track, and set up any related settings like chat colors or weights.
I don't need explanations, just the commands to copy and paste into the console. Use the user JangroZ in the examples.
If you want to learn what everything is, leave out the "I don't need explanations" and it'll go through everything in detail. Including that gives me easy cut/paste blocks.
Here's what ChatGPT gave me
Certainly! Here are the commands you need to set up LuckPerms on your Minecraft server with the specified groups, typical community server permissions, prefixes, progression track, chat colors, and weights.
Create Groups
/lp creategroup default /lp creategroup member /lp creategroup vip /lp creategroup moderator /lp creategroup admin
Set Group Prefixes (colors chosen for importance)
/lp group default meta addprefix 10 "&7[Default] " /lp group member meta addprefix 20 "&a[Member] " /lp group vip meta addprefix 30 "&6[VIP] " /lp group moderator meta addprefix 40 "&9[Moderator] " /lp group admin meta addprefix 50 "&c[Admin] "
Set Typical Community Server Permissions
/lp group default permission set essentials.spawn true /lp group default permission set essentials.msg true /lp group default permission set essentials.warp.list true /lp group member permission set essentials.home true /lp group member permission set essentials.sethome true /lp group member permission set essentials.back true /lp group vip permission set essentials.fly true /lp group vip permission set essentials.workbench true /lp group vip permission set essentials.repair 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.ban true /lp group admin permission set essentials.unban true /lp group admin permission set essentials.* true
Create a Progression Track (defaultTrack)
It got this first command wrong, but read on and I'll show you how to fix it!
/lp track defaultTrack create /lp track defaultTrack append default /lp track defaultTrack append member /lp track defaultTrack append vip /lp track defaultTrack append moderator /lp track defaultTrack append admin
Example Commands to Add JangroZ to Groups
/lp user JangroZ parent set default /lp user JangroZ parent add member /lp user JangroZ parent add vip /lp user JangroZ parent add moderator /lp user JangroZ parent add admin
Promote JangroZ Through the Track
/lp user JangroZ promote defaultTrack
Set Up Chat Colors
/lp group default meta set chatcolor "&7" /lp group member meta set chatcolor "&a" /lp group vip meta set chatcolor "&6" /lp group moderator meta set chatcolor "&9" /lp group admin meta set chatcolor "&c"
Set Group Weights (to determine priority)
/lp group default setweight 10 /lp group member setweight 20 /lp group vip setweight 30 /lp group moderator setweight 40 /lp group admin setweight 50
Copy and paste these commands into your console, and your LuckPerms setup will be fully configured with the specified settings.
ChatGPT makes mistakes!
AI is funny. Somehow it knew everything, but got the command wrong for creating the track. All I needed to do was say, "the command for creating the track is /lp trackcreate defaultTrack" and it fixed it right up.
Even if it makes some mistakes, what a time saver! I can literally copy and paste all of those commands right into the console.
Need a Server?