This guide assumes that you are running the latest version of Spigot.
You will need to add the following plugins to your Minecraft server:
After you install the required plugins, you will notice that most commands give a permissions error even though you might have OP. This is due to PEX blocking everything by default and we need to setup an “Owner” group and give it all permissions. It is recommended to do all permission edits via in game commands and not by editing the PEX config file. By editing the config file even one small error might invalidate the whole permissions setup and lead to frustration.
Run the following commands in your server Console without the slash /
Create a new group/rank named Owner
pex group Owner create
Add all permissions to group Owner
pex group Owner add permissions.*
Add yourself to group Owner
pex user YourPlayerName group set Owner
Optional: Give yourself all permissions regardless of your group
pex user YourPlayerName add permissions.*
You should now be able to use all commands and you can verify this in game by running
/pex user. The command should give you a list of users instead of a permission error.
Note about adding
.* permission node: There may be permission nodes that you normally would not want a group to have. For example, consider the plugin VanishNoPacket (Referred to as VNP.) VNP offers the node vanish.silentjoin which makes anyone with the node log into the server without a join announcement, which many server owners do not want.
PEX comes with one group named “default”, any new player that joins your server will automatically join your group.
Managing your groups can be done by using these commands:
/pex group Member create
/pex group Member delete
Assign group to user
/pex user PlayerName group set Member
List all groups
This lists all groups and all users belonging to specific groups, the commands accomplish the same thing in different ways.
Set the default group that a new user will get, world name is optional but it allows you to set default groups per world.
/pex set default group <group name> true <world name>
Set/remove group prefix
/pex group default prefix "&0(&8M&7ember&0)&7 "
/pex group default prefix ""
Be aware that there is a blank space after each prefix, this prevents your prefix from being too close to your username.
Prefix colors and effects
&l – Bold
&n – Underline
&o – Italic
&k – t
&r – Reset (Resets the color to default for all text after &r)
Set rank order
PEX has the /promote and /demote commands, these will either move the user to a higher group rank or a lower group rank, to set the rank order use these commands:
/pex group default set rank 1000
/pex group Member set rank 900
/pex group VIP set rank 800
/pex group Mod set rank 100
/pex group Owner set rank 1
Rank 100 is now the highest promotion status.
Add/remove permissions to group
/pex group default add essentials.spawn
/pex group default remove essentials.spawn
You can make groups inherit the permissions of their parent group. This is useful when you want certain groups to have all of the basic permissions that you added to the “default” group without writing the basic permissions into each group separately which is hard to keep track of. To build a chain of inheritance you would do these commands:
/pex group Member parents set default
/pex group Mod parents set Member
/pex group VIP parents set Mod
The group Member will inherit all permissions from group default, then Mod will inherit from Member and so on.
If for example you want the Mod group to not have a certain permission from the group Member then you can negate it by adding – in front of the permission node:
/pex group Mod add -essentials.spawn
Converting to MySQL
MySQL based storage is used in order to share your permissions across multiple servers. Updating anything related to PEX will automatically apply to all servers that share the MySQL database. The most common use case is when you have a BungeeCord network and wish to have same permissions across all of your servers.
You need to create a MySQL database. On the FadeHost Panel you can create a database by going to Advanced -> MySQL Database and then click on Create Database. The page will then show you the MySQL access information which you need to copy into the PEX config.
Editing the PEX Config
Go into your server FTP and then enter the plugins/PermissionsEX folder. You need to edit the file “config.yml”.
Remove everything in the file and replace it with this:
You need to edit the following parts with the MySQL information you received from our control panel:
MYSQLHOST = Host IP from the MySQL info page
DATABASENAME = Name from the MySQL info page
USERNAME = Username from the MySQL info page
PASSWORD = Password from the MySQL info page
Note: Database name and username are always the same value
Restart the server after you edit the config so that the new settings apply!
Importing your old permissions into MySQL
After you have edited your config and restarted the server, you will notice that you don’t have any groups/ranks/permissions in the game. This is normal as the permissions are now loaded from your MySQL Database.
To import your permissions from the old file into MySQL run these commands in your server Console without slash /:
pex import file
The console should say:
Initializing file backend
Permissions file successfully reloaded
Data from “file” loaded into currently active backend
Your PEX is now fully migrated to use the MySQL database. To have your other servers use the same MySQL database you just have to use the same config.yml file that you edited above on the rest of your servers. Do not run the import or reload commands, editing the config file and restarting the server is enough.
Note: All servers will share the same MySQL database, do not create a database on each server. It does not matter on which server you create the database.