LuckPerms - Part 1: What is a Permissions Plugin and Why Use One?
What is a "permissions" Plugin?
Permissions plugins allow the owner of a Minecraft server to have a much greater control over which commands and abilities its players can access while playing on their servers, without compromising control over the server, which can make it vulnerable to malicious acts such as "griefing".
In many ways, permissions plugins act like a policeman directing traffic, stopping some and allowing others to proceed.
Permissions plugins allow you create groups, and then assign allowable commands to those groups. Players are then assigned to those groups, and inherit the abilities and commands allowed. You can also assign abilities directly to individual players if you wish. Permissions plugins can also add other functionality that enhance players experiences on a server.
Permissions plugins either replace, or upgrade the default system built into Minecraft, which is the "Operator" system, or "Ops" (which is explained in greater detail below). Some other plugins will have their own in-built permissions systems (such as EssentialsX), but they are generally very limited, and will often disable themselves automatically when they detect more elaborate permissions systems present on the server (such as Luckperms).
Permissions plugins often work in combination with other plugins, as the permissions settings will determine what commands and features of those plugin the players will be able to use. When a permissions plugin has been properly configured to work with other plugins, it can either allow or block users from using commands, disable items that are too powerful or unbalance the server, or even prevent players from effecting areas of the world. A properly setup and configured permissions plugin will often be the backbone of an entire system of other plugins running on a Minecraft server.
Why use Luckperms?
Luckperms is the one of the most commonly used permissions plugins, but there are others. Unfortunately, many of these other permissions plugins are no longer being actively developed, and have been effectively abandoned. There are no new features, bug fixes, or support for them. Some have not had updated versions in years, and some of their developers have even openly suggested that users switch to actively developed permissions plugins, like Luckperms.
Why Not Just Use the "Operator" System
The standard system built into Minecraft, called Operators (or more commonly refereed to as OP), allows users to be given 4 levels of Authority with differing powers.
Many of the commands that a server owner might want players to be able to use require higher levels of Operator authority. Unfortunately, the Operator system follows an "All or Nothing" approach. Once a player has been given an Operator level, they have access to ALL of the abilities and commands of that level, including commands a server owner might not want available. For example, level 3 Operators can kick players from the server, and Level 4 Operators can stop the entire server if they wish. Giving uncontrolled Operator access out, especially to strangers on a public server, can make it easy for malicious people to grief your server, and impact the enjoyment of other players. It is recommended that you never give out Operator level 4 to any but the most trusted and senior players on your server. Many server owners reserve that level of Operator authority only for themselves.
By installing a permissions plugin like Luckperms, you can allow the use of specific commands normally only available to those of a certain "Ops" level, while blocking the use of others, which is something that is simply not possible with the current default Operator system of Minecraft.
In order to use permissions plugins in Minecraft, or any other kind of plugin, it is first necessary to install a plugin manager on your server. Versions of Luckperms are available for the plugin managers Spigot and Sponge. Spigot is used on servers that only have plugins, and no mods. Sponge comes in two versions, one for servers with plugins only, and a version that works with forge and forge mods. More information on the versions of these plugin managers, and which versions of Minecraft they will work on, is provided in part 2 of this series "Luckperms - Part 2: Installation, Setup, and Configuration".
NOTE: Depending on the plugin manager being installed, your server might require more RAM to handle the additional processes required, and this might increase the cost of running the server.
Understand the Immediate Effects of Adding Luckperms to Your Server
When you add a permissions plugin to your server, it immediately locks and shuts down all commands and abilities on your server. The default answer to any request to use a command when a permissions plugin is installed is "NO!" The plugin will only say "YES!" and allow access when it checks a list of allowed users, groups, and commands.
Unfortunately, if you haven't created that list yet, there's nothing for it to check. It will happily say "NO!" to every request to use a command, by any user (including the server owner).
Please be aware of this, and that until the information has been created for the permissions plugin, all commands and abilities will be unavailable to players on the server. If the information it requires is later deleted (such as the database or text file being deleted) then it will revert to blocking all access to commands and abilities (once again, the default answer is "NO!" to everything).
Outline the Groups and Commands
Another thing to consider before you install a permissions plugin like Luckperms, is working out rough guidelines on what the groups will be, and what commands will be available to each group.
What commands do you want them to be able to use?
What do you NOT want them to be able to use?
What areas are off limits?
What items will be disabled or "outlawed"?
Who will have access to server maintenance commands?
Who will have unrestricted access to everything?
Next, make a list of a your players, and decided what groups they will be sorted into when you set up the plugin.
Answering these questions early can greatly speed up the data entry portion of setting up a permissions plugin (which will be covered in Luckperms - Part 3: Database Entry).