= LuckPerms A (fairly bad) permissions implementation for Bukkit/BungeeCord. === Features * **Group inheritance** - users can be members of multiple groups, groups can inherit other groups * **Multi-server support** - data is synced across all servers/platforms * **Per-server permissions/groups** - define user/group permissions that only apply on certain servers * **Server-specific groups** - define groups that only apply on certain servers * **Tracks / paths** - users can be promoted/demoted along multiple group tracks * **Vault Support** - hooks into Vault to integrate with other plugins * **Easy and simple setup and configuration using commands** - no editing yml files, yuck * **Efficient/lightweight** - maybe? Who knows, it might be. * **BungeeCord compatible** - permissions, users and groups are synced across Bukkit/BungeeCord instances * **Support for MySQL, SQLite & Flatfile (JSON)** - other storage methods coming soon (maybe) ===== Possible Caveats * Currently only supports MySQL, SQLite & Flatfile (JSON) (support for more methods might come in the future) * Not at all tested and could produce unexpected/buggy results and errors === Setup All configuration options are in the **config.yml** file, which is generated automagically when the plugin first starts. You can define the settings for per-server permissions, the storage method and credentials within this file. === Commands Command usage is printed to the console/chat whenever invalid arguments are provided. Simply typing /perms will list all commands a user has permission to use. ==== Aliases | Bukkit | /luckperms | | | /perms | | | /permissions | | | /lp | | | /perm | | Bungee | /luckpermsbungee | | | /bperms | | | /bpermissions | | | /lpb | | | /bperm | Arguments: [optional] Users with OP have access to all commands. Additionally, you can use wildcards to grant users access to a selection of commands. * **All commands** - luckperms.* * **All user commands** - luckperms.user.* * **All group commands** - luckperms.group.* * **All track commands** - luckperms.track.* | **Command** | **Description** | **Permission** | | /perms | Sends plugin info and usage | N/A | | /perms sync | Runs an update task and reloads the data of all online users | luckperms.sync | | /perms info | Shows information about the plugin | luckperms.info | | /perms debug | Shows some very brief debug info about the number of users/groups loaded | luckperms.debug | | | | | | | | | | | | | | /perms creategroup | Creates a new group with the given name | luckperms.creategroup | | /perms deletegroup | Deletes an existing group | luckperms.deletegroup | | /perms listgroups | Shows a list of the groups registered within the system | luckperms.listgroups | | | | | | | | | | | | | | /perms createtrack | Creates a new track with the given name | luckperms.createtrack | | /perms deletetrack | Deletes an existing track | luckperms.deletetrack | | /perms listtracks | Shows a list of the tracks registered within the system | luckperms.listtracks | | | | | | | | | | | | | | /perms user info | Shows info about the user | luckperms.user.info | | /perms user getuuid | Shows the users Mojang UUID | luckperms.user.getuuid | | /perms user listnodes | Lists all of the permission nodes the user has | luckperms.user.listnodes | | /perms user haspermission [server] | Checks if the user has a permission on a certain server | luckperms.user.haspermission | | /perms user inheritspermission [server] | Checks if the user inherits a permission on a certain server. (This checks all parent groups unlike haspermission) | luckperms.user.inheritspermission | | /perms user set [server]| Sets a permission for the user | luckperms.user.setpermission | | /perms user unset [server] | Unsets a permission for the user | luckperms.user.unsetpermission | | /perms user addgroup [server] | Adds the user to a group | luckperms.user.addgroup | | /perms user removegroup [server] | Removes the user from a group | luckperms.user.removegroup | | /perms user setprimarygroup | Sets the users primary group | luckperms.user.setprimarygroup | | /perms user showtracks | Shows a list of the tracks the user can be promoted/demoted on | luckperms.user.showtracks | | /perms user promote | Promotes the user along a given track | luckperms.user.promote | | /perms user demote | Demotes the user along a given track | luckperms.user.demote | | /perms user showpos | Shows the users position on a given track | luckperms.user.showpos | | /perms user clear | Clears all permissions the user has | luckperms.user.clear | | | | | | | | | | | | | | /perms group info | Shows info about the group | luckperms.group.info | | /perms group listnodes | Lists all of the permission nodes the group has | luckperms.group.listnodes | | /perms group haspermission [server] | Checks if the group has a permission on a certain server | luckperms.group.haspermission | | /perms group inheritspermission [server] | Checks if the group inherits a permission on a certain server. (This checks all parent groups unlike haspermission) | luckperms.group.inheritspermission | | /perms group set [server]| Sets a permission for the group | luckperms.group.setpermission | | /perms group unset [server] | Unsets a permission for the group | luckperms.group.unsetpermission | | /perms group setinherit [server]| Sets the group to inherit all permissions from another group | luckperms.group.setinherit | | /perms group unsetinherit [server] | Unsets a perviously defined inheritance rule | luckperms.group.unsetinherit | | /perms group showtracks | Shows a list of the tracks that the users in the group can be promoted/demoted on | luckperms.group.showtracks | | /perms group clear | Clears all permissions the group has | luckperms.group.clear | | | | | | | | | | | | | | /perms track info | Shows info about the track | luckperms.track.info | | /perms track append | Appends a group to the end of the track | luckperms.track.append | | /perms track insert | Inserts a group at the given position on the track | luckperms.track.insert | | /perms track remove | Removes a group from the track | luckperms.track.remove | | /perms track clear | Clears all groups on the track | luckperms.track.clear | === License See LICENSE.md.