What is PermissionsCord?
PermissionsCord is a BungeeCord permissions plugin designed to run by itself and optionally with other BungeeCord permission systems. PermissionsCord is fully UUID-compatible, and fetches UUIDs from Mojang asynchronously to avoid freezing your server.
PermissionsCord is not a Spigot permissions plugin. It can only set permissions on the BungeeCord proxy.
What does PermissionsCord support?
PermissionsCord supports, but is not limited to the following:
- Group inheritance
- Per-user permissions
- Negative permissions
- Importing BungeeCord's built-in permissions
- Full control from in-game
- Instant permission updates on command
- Switching between flat file and SQL on the fly
PermissionsCord has two commands:
Subcommands and their descriptions can be listed in-game by typing "/pcord help". This plugin's command syntax is similar to the one used in PermissionsEx.
- /pcord - Main command for controlling the plugin (Alias: /permissionscord)
- /perms - Overrides BungeeCord's built-in /perms and mimics its functionality
PermissionsCord has two of its own permissions:
- permissionscord.command.pcord - Gives access to /pcord
- permissionscord.command.perms - Gives access to /perms (Granted to the default group by default)
There is not much to configure in the config.yml, as most of the plugin's functionality will be controlled by permission data.
There are two sections in config.yml:
- sql - Used to configure a SQL connection
- configVersion - This shouldn't ever be needing a manual change
When PermissionsCord is first loaded, it will create a folder named "PermissionsCord" in your proxy's plugins folder. In this folder, it will create a file named "config.yml" and a folder named "permissions". In the permissions folder, it will create two files, users.yml and groups.yml.
If SQL mode is enabled in the config, PermissionsCord will attempt to connect to your SQL database using the credentials provided. If it is unable to connect for any reason, an error will be printed in console detailing why it was unable to connect.
PermissionsCord will create three SQL tables:
- permissions - Used to store permission data
- inheritance - Used to store user groups and group parents
- groups - List of groups
Converting from other permission systems
Converting from other permission systems is an automatic process that can be initiated by typing "/pcord convert <Type>". This process will import all users and groups from the selected system, and run UUID conversion if necessary.
Currently supported systems for import:
- Built-in BungeeCord permissions
PermissionsCord includes an event for plugins to know when permissions are updated.
Simply listen to PermissionUpdateEvent like you would any other event, and use the contained ProxiedPlayer object as you please.
This event is intended for plugins to set their own regex or "star/wildcard" permissions.