Permission Manager is a lightweight permissions and chat plugin. It supports multiple groups per player and inheritance.
Features
- Support for UUID's
- Control permissions for every player
- Add players to groups
- Support for multiple default groups
- Players can be a member of multiple groups
- Groups can inherit each other
- Support for per world permissions
- Promote and demote players, using the built-in ranking system
- Support for prefixes per group or per player
- Automatic update checker
- Superperms compatible, so it won't break when bukkit updates (probably)
Installation
Just drop the .jar-file in the plugins folder. Permission Manager will create permissions.yml. You can edit it to configure the permission nodes. For an example permissions.yml file click here. (It uses the same style as PEX, credits to its developers!)
Config
The config file should look like the following:
Settings: General: Updater: enabled: true Permissions: Wildcard: Use: false Extended_Debug: false Chat: Message_Formatter: Enabled: false Default_Format: '%p1 <%d> %m %s1' Color_Character: '&' Chat_Channels: Enabled: false
Updater
When the updater is enabled, permission manager will check whether an update is available or not. If an update is available, the players with the permission "pm.update" will get a message, when they login on the server. No files will be downloaded when the updater is enabled, so you need to manually install each new version.
Wildcard
You can toggle wildcard support in these settings. When extended debug is enabled, all permissions of a wildcard permission will be shown. When it is disabled, you will only see the wildcard permission itself.
Message Formatter
You can set the default message format and the color character here. To use colors, use the specified color character and the color code itself. For example: &2Green, would print a dark green text of "Green".
You can also adjust the default message format with the following parameters:
%p1 = the highest prefix for the player, %p2 the second highest etc. Supported up to %p9
%s1 = the highest suffix for the player, %s2 the second highest etc. Supported up to %s9
%n = the name of the player (This cannot be altered by another plugin)
%d = the display name of the player (This can be altered by another plugin)
%m = the message the player wants to send
You can also define a different message format in the permissions.yml file. Click here to know how to define a message format per player or per group.
Chat Channels
You can only enable or disable chat channels here. You can config them in the permissions.yml file.
Permission Priority
- User permissions have priority over group permissions.
- World permissions have priority over normal permissions
- Normal permissions have priority over inherited permissions
- When an user is a member of multiple groups, the group on top of the list has the highest priority and further on
Ranking System
You can give every group a rank. When a player gets promoted, he will be moved to the group with a higher rank. Lower rank numbers represent higher ranks and vice versa. You can also define multiple rank-ladders. A player can only be promoted/demoted to a group of the same rank-ladder. When no rank-ladder is defined for a group, it will have the following rank-ladder: "Default".
Prefixes
To use prefixes, you should make sure that the option in the config file is enabled. Prefixes should be defined in single quotes. Color codes are supported; use &(Colorcode) to add color to your prefix. '&c[Admin]&f', for instance, would give the player a red prefix [Admin] and the real message should be white. Click here for other color codes.
Chat channels
Every group can only talk to, and receive from certain chat channels. Admins will not receive any not important messages, while they are still able to talk to everyone, for example. You can assign certain channels for sending or receiving to groups in the permissions.yml file. Using commands, a player can enable or disable certain channels for sending or receiving. With the /chat send/receive toggle <Chat Channel> command, a player can enable or disable chat channels. With the /chat send/receive command, a player can view his enabled and disabled channels. Take a look at the permission.yml example here, for more information.
Wildcard
When using the wildcard character (*), all permissions that are known to the server starting with the permissionname are given to the player. Example: bukkit.*, will give all the bukkit permissions to a player. Permissions that are not registered by a plugin won't be given, so be careful!
Debug
When debug is enabled, using /pm debug, the server will print every permission for a player, when permissions are reloaded. This happens when a player joins or when he travels to another world.
Permission.yml
To know how to edit the permission.yml file click here for an example!
Commands
- /pm reload - Reloads the permissions file
- /pm debug - Enable or disable debug
- /pm promote <Player> - Promotes the player to a higher group.
- /pm demote <Player> - Demotes the player to a lower group.
- /pm setgroup <Player> <Group> - Set the group of a player
- /chat send/receive - Check enabled and disabled chat channels.
- /chat send/receive toggle <Chat Channel> - Enable or disable channels for sending or receiving
Permissions
- pm.reload - Default for ops
- pm.debug - Default for no one
- pm.promote.own / pm.promote.all - A player must have one of the following permissions to promote another player. When a player has pm.promote.own, he can promote another player from his own rank-ladder to a higher group. However, he can only promote the other player to a group with one rank lower than his own. With pm.promote.all, a player can promote everyone, even himself. It should only be given to an admin - Both default for no one. (These permissions also enable the use of /pm setgroup.)
- pm.demote.own / pm.demote.all - A player must have one of the following permissions to demote another player. When a player has pm.demote.own, he can demote another player from his own rank-ladder to a lower group. However, he can only demote a player that has a lower rank tham himself. With pm.demote.all, a player can demote everyone, even himself. It should only be given to an admin - Both default for no one. (These permissions also enable the use of /pm setgroup.)
- pm.setgroup - With this permission, a player can set the group of every player. It should only be given to an admin - Default for no one
- pm.chat.send.view - Needed when /chat send is used. - Default for no one.
- pm.chat.receive.view - Needed when /chat receive is used. - Default for no one.
- pm.chat.send.toggle - Needed when /chat send toggle <Chat Channel> is used. - Default for no one.
- pm.chat.receive.toggle - Needed when /chat receive toggle <Chat Channel> is used. - Default for no one.
- pm.update - Every player with this permission will receive a message when an update was found - Default for no one.
Help
If you need help, don't hesitate to send me a PM!