LuckPerms - Part 2: Installation, Setup, and Configuration
Install a Plugin Manager (if you don't have one already)
In order to use permissions plugins like Luckperms (or any plugin for that matter) in Minecraft, 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. Spigot will not work with forge, which is required to use any mods on a server. Spigot versions of Luckperms will work on versions of Minecraft from 1.7 to the newest current version.
Sponge comes in two versions, "Sponge vanilla" for servers with plugins only, and a version called "Sponge Forge" that works with forge and forge mods (Sponge-Forge tricks forge into thinking that plugins are mods, and forge handles them as mods). Luckperms for Sponge Forge will work on Minecraft from version 1.10.2 to 1.12.2.
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.
This is simply of a matter of uploading the file directly to either the
/mods folder on your Minecraft server, depending on which plugin manager you are using. If using Spigot or Sponge vanilla, it will be the
/plugins folder, and if using Sponge Forge it will be the
Before the plugin can be used, it must still be configured. See section below for other effects of installing permissions plugins.
Understand the Immediate Effects of Adding Luckperms to Your Server
This information was covered in part 1 of the Luckperms set up guide, but we're including it here again in part 2 because of the immediate and serious effects that simply adding the mod will have on your server, especially before setup is completed.
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).
Setting up Luckperms
Choosing a Storage Method
Once Luckperms is installed, you will have to begin the process of setting up and configuring the plugin. One of the first steps is determining how the all important "list" mentioned above will be stored. Permissions plugins need a method of storing information about the groups and users, and which commands they're allowed to use. This is often done with editable text files or some form of database.
Luckperms supports a dizzying array of choices, from a variety of editable text file formats, flat files such as H2 or SQLite, or fully fledged databases such as MySQL. Luckperms even supports split databases, and can convert from one type to another.
Information about the various storage methods, and their advantages and disadvantages, can be found on the Luckperms Github page: here
On Minecraft servers here at Nodecraft, we offer the ability to create a MySQL database that runs parallel to the Minecraft server. This offered on all Minecraft servers, and is at no additional charge.
MySQL requires a few extra steps to set up compared to some other storage methods but is very powerful and fast once setup. The MySQL database has another major advantage, one being that because it is remotely hosted, it can be accessed by multiple servers. This is absolutely necessary for setups like Bungeecord, where there are multiple Minecraft servers and players can move between them.
Because of this, the rest of this series of articles on how to set up Luckperms will focus on MySQL database as the storage method. If you have more personal experience with one of the other storage options, feel free to choose that as your storage method.
Create MySQL Database
First, let's create the MySQl database. This is an exhausting and lengthy process. To start, please go to your Nodecraft server control panel, and click on the "MySQL Database" button on the left side of the panel, then on the next screen click the green "Create Database" button. See the picture below:
It will create the database in only a few seconds, and the page should look something like the following example (of course, all the details will be different):
Please note: Yes, we are aware there are passwords visible. This screenshot is from a test server database created solely for this article.
And that's it, the Database is created. My finger is exhausted, I have to go lie down now.
Seriously though, Nodecraft's control panel handles all the details of setting up the database "behind the scenes". All you have to do is click a button.
You can click on the "MySQL Database" tab at any time to view the information for the MySQL database, such as the name and password of the database. It will be necessary to cut and paste this information into the configuration files later.
Edit Luckperms Config File
The next step in setting up Luckperms is changing the configuration file, so that Luckperms knows what storage method to use, where the database is located, and how to connect into the database. The configuration file for Luckperms will be located in a "luckperms" folder inside the "Config" folder on your Minecraft server.
The file is called
Luckperms.cfg. Select the file, and click the
edit button at the top of the file manager.
NOTE: You may have to start and stop the server for some of these files to be created.
When you edit
Luckperms.cfg, you should see the following pictured below.
Changes to the file are made by navigating to the correct line, editing the settings in quotes. The file has numbered lines down the left side which we will use to referencing specific sections.
As in many configuration files, any line with a
#in front of it is a "comment" and the server will ignore any text that follows a
#. A large majority of the config file is actually comments describing the features and settings. In the picture above, the only line with an actual configuration setting is line # 33, the rest of the lines are all "comment" lines.
Also, through the comment sections of the configuration file are lines that have URLs on them that will allow you to view more detailed information on those sections. You can simply copy and paste them into your browser to see more details about the section and it's importance. In the picture above, lines # 8, 9, 10, 13, and 32 all have URLs that link to web pages with tons of documentation on Luckperms, and that's just on that one screenshot. The developer of Luckperms has provided a lot of support for their product.
Set Storage Method
Navigate to line #85 of the config file, shown in the picture below, and change the default text "H2" in the quotes to be "mysql" instead.
Of course, if you have decided to use a different storage method you might be more familiar with, you would change this line to that storage method instead.
Set MySQl server address & Port Number
Navigate to line #97, change the default text "localhost" to the information from the "MySQL Database" page on your control panel to the right of "Database Hostname". Type a colon (
:) and then add the "Database Port" number, which in this case is 3306. It should look something like the example below when finished.
Set Database Name
Navigate to line #101, and replace the default text "minecraft" with the name of the database from the "MySQL Database" page. Note: you want to use the information to the right of "Database Name", not "Database Username". It should look something like the example below when finished.
Set Database Username and Password
Navigate to lines #104 and #105 in the config file, and replace the default text "root" with the "Database Username" information, and then enter the password between the two side by side quotes. When finished, it should look like the example below.
The rest of the configuration file is either settings used by different storage methods, or are advanced settings for Luckperms configuration itself, and you will most likely not need to change them at this time.
Save your changes to the configuration files, and you should be finished. Your MySQl database is setup and ready to be used by Luckperms for permissions management on your Minecraft Server.
Setup and Configuration is Finished
And that is the end of the Installation, Setup, and Configuration of Luckperms. If everything has been done right, the MySQL database is now running parallel to your server, and is ready for the next step, which is the data entry of groups, players, and commands being permitted. If you want to test access to your MySQL database at this time, just to make sure it's running correctly, see the following section.
Accessing the Database
There are two ways to access the database, now that it is setup and configured. One is built into control panel on the "MySQL Database" tab of the Nodecraft control panel, and the second method is actually a feature built into Luckperms (another reason to recommend Luckperms over some other permissions plugins).
Nodecraft "MySQL Database" Access
Accessing your MySQL database is done by clicking on the the "MySQL Database" button on the control panel, and then clicking the blue hypertext link "PHPMyAdmin" to the right of "Web-based Admin Panel".
You will see the following page open in your browser. Use the information on the "MySQL Database" page for "Database Username" and "Database Password" to access the database.
Luckperms Built-in Editor
Luckperms can also access the database from in-game commands (while playing in your Minecraft world), and by using a command "/lp editor" in the console of your Minecraft server, which will start a browser based editor for Luckperms in the console window. It will result in a link in the console window that looks something like the example below:
[2018-07-14 21:37:37] [pool-4-thread-1/INFO] [net.minecraft.server.dedicated.DedicatedServer]: https://luckperms.github.io/editor/-identifier-
-identifier- at the end is randomly generated for each session.
Click on the link, and you should see the following open in your browser:
You are now connected to the MySQL database, and can edit information in it.
Continue to "Luckperms - Part 3: Database Entry" for instructions on how to set up the groups, user list, and commands permitted to players.