LuckPerms Plugin

Links

Introduction

This plugin is installed on all UniversalCraft Paper servers as well as the Waterfall proxy servers.

We use the LuckPerms plugin as our permissions handler for two reasons. The plugin supports storing permission data in external databases such as MySQL, MariaDB, PostgreSQL and MongoDB. Because of this it also supports Bungeecord/Waterfall installations directly so permissions can be defined once but shared across all servers behind the proxy server.

See the UniversalCraft permissions page for full details of every single permission node that have been configured within our gaming environment.

The /luckperms command can be shortened to /lp instead.

Commands

/lp creategroup <GroupName>
Creates a new security group.

/lp deletegroup <GroupName>
Delete a security group.

/lp editor
Create a web browser permissions editor session.

/lp group <GroupName> listmembers
Show list of players assigned to the specified group.

/lp group <GroupName> meta setprefix 100 “&c[Admin]
Set the chat prefix for a group.

/lp group <GroupName> meta info
Display meta data for a security group.

/lp group <ChildGroupName> parent set <ParentGroupName>
Set the parent group that a child group inherits all permissions from.
e.g. “default” (which is used for new player guests) is the parent of “player”, “player” is the parent of “moderator”, “moderator” is the parent of “administrator”, “administrator” is the parent of “owner”, and “owner” is a parent of “operator”.

/lp group <GroupName> permission info
Shows the permissions assigned to the specified group.

/lp group <GroupName> permission set <PermissionNode> true
Sets a permission node for the specified group. Optionally add world=<worldname> to limit a permission to a specific world.

/lp group <GroupName> permission unset <PermissionNode>
Remove a permission node from the specified group.

/lp group <GroupName> rename <NewGroupName>
Rename a group.

/lp help
List all commands provided by the LuckPerms plugin.

/lp listgroups
List defined security groups.

/lp networksync
Synchronize permission settings with other Spigot servers that are sharing the same database. This happens automatically so it should not be necessary to force a synchronization manually.

/lp user <PlayerName> info
Displays security information about the specified player.

/lp user <PlayerName> parent add <GroupName>
Add a user to the specified group.

/lp user <PlayerName> parent set <GroupName>
Add a user to the specific group and remove them from all other groups.

/lp user <PlayerName> parent remove <GroupName>
Remove a user from the specified group.

Configuration

config.yml

Enable unique server names:

The property “server” has been changed from “global” to the name of the server to allow for per-server permissions.

Enable MariaDB data storage:

storage-method: MariaDB

Appropriate configuration values in the “data:” section have been filled in.

Disable file watching:

watch-files: false

Disable permission change notifications:

log-notify: false