Permission Manager
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!
@TheBorder
Hey. I know this is a big ask but could you please give a tutorial in the description saying what you need to do to add a permission to permissions.yml. p.s. great plugin
@Linkfan456
A player cannot have two rankladders at the same time. For the button to work you can connect a command block which is set to "pm promote @p".
Can a Player have two rank ladders at once without going to the control panel to rank them up? Please get back to me as quickly as posiible. Also how do you make so a player can push a button and it will take a certain amount of money and rank them up without a mod being on?
@TheBorder I just know that some things are gonna be tricky if we dont have a perm plug that supports the uuids. many are updating to it. I just like your group feature and hope that I can use it one day!
@zachrywilsn
Thanks for your supporting comment! The function with multiple prefixes/suffixes is already implemented in version 0.9. I am not sure how I will implement the UUID's in the next version, because UUID's are not as easy to remember as names in the permission file.
@TheBorder
I guess the question now is,.... When or will this update to the uuid's? Also will there be a converter for the uuids or are we gonna just be able to drag and drop?
Im currently looking for a new perm plugin and the prefix idea stated below is really awesome sounding. With the prefixes being added each time you get a new/extra group I can add new donor perks without rank's! My example: [Noob] Myself: Msg Now instead of buying Vip rank maybe he just wants the Vip gun or just a perk from that rank. I can now give cool options like [VipGunUnlocked] [noob] Myself: Msg
Thats just a example. The cool thing with this is i dont feel like i need to make a new rank. Just new groups so each rank will have special perks. This Makes each and every Rank you have unique to a certain extent. Pretty sick plugin. Keep it up! An i may wait for UUID's.
Thanks again for yah time and development.
@zachrywilsn
It is still name based.
@TheBorder
UUID's or still name based perms?
@Zolitaire
Alright! I will implement this in the next version. (Maybe not exactly the way you described, but with the same features)
@TheBorder
Yes, So say for example under user: if my groups were:
groups:
- admin
- user
and admin being the primary group as it is first then my chat would look like:
[A] [User] Zolitaire: msg
And the chat format would look somthing like:
'%p1 %p2 %s <%d> %m'
@Zolitaire
Do you want that all prefixes/suffixes of all groups are applied when a player is a member of multiple groups?
@TheBorder
Hey Thanks for the quick reply. I'm sorry I worded my first question incorrectly and I have realized a much simpler way to word it.: Question:
Is it possible for a user who is part of two groups to inherit not only the permissions but also the prefix/suffix of both groups automatically with in this case the Prefix for the admin group coming first as it is the primary group of the user.
@Zolitaire
Thank you for your nice comment! The plugin looks for the first prefix/suffix it can find, and will stop looking for it when it has found a valid configuration. In your case the admin group has a valid configuration and it stops looking for a new one. To solve this, you can set prefixes/suffixes for players with multiple groups on a per player base. You can set the prefix and suffix for the player "Zolitaire" the user section to give yourself both a prefix and a suffix!
Hi Just installed your plugin an hour ago after messing with permission plugins all day. I have found it to be the best one I have tried: Its Intuitive and I love the way that the chat formatting/managment is built into it. I did have one problem with it.
users:
Zolitaire:
permissions: []
group:
- admin
- user
I thought seen as my user was part of the user and admin group that he would be able to have the prefix and the suffix from each group but this doesnt seem to be the case as it only gives me the prefix for the admin group rather than both. If there is a way I can achieve this currently I would love to know. Or maybe this is something you can add in the next update.
@TheBorder I need help with your plugin for some reason the plugin says that i don't have any permissions when in fact i do i fallowed your format on your bukkit page and i am so lost on the format. Could you quickly check the config file and permissions file and fix it and re-send it to me if it would not be to much hassle i have tried all the other plugins out there PEX is bugy with 1.7.2 and most of the plugins are not up-to-date yet for 1.7.2 if you would be so kind to send it vie email if its easyer for you then my email is [email protected] here are the files: Link Removed: http://www.mediafire.com/download/f9yy6aup78fblzf/Permissions Manager.zip
@SirFaizdat
Not if you only install it without configuring it :)
@TheBorder
Won't PEX conflict with your plugin?
@pablomittens
Yes I will add this feature also in the next version. You can now use the latest version of Pex to add the '*'-function (you only need to install it, don't configure its settings).
Is it possible to have permissions like pm.* so the person with said permissions gains access to all permissions in that group? Do I have to set that up with something else?
@syreel
Not in this version, but I can add it!