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!
i dont know how to do this can somebody help me please
@TheBorder Cool! Well good to know that your gonna keep adding things. Im using this on my server and we are gonna be getting lots of people on here soon. Thanks!
@SimpleAce
I will add message-channels perhaps, but not within a month :)
@TheBorder
Hey what do you have planed for this plugin? Just curious? Im loving it! :)
Good job with the update! Loving this and using it on my server!
Another permissions plugin, will be nice to see out it turns out.
@Boredkid232
An op can't promote or demote by default (it is just too risky), even an op must have the permissions to promote or demote described above in the main page. I can only resolve your problem, if you send me your permissions.yml. You can send me a personal message with your permissions.yml as an attachment, and the I will check your code for you :)
@TheBorder
Thanks man! :D
Currently I'm having trouble making the ranks I scripted work. I've gotten the perms done for- Owner, Co-Owner, Admin, Moderator, Donor, Member and Trusted along with the Default thats already there. But I can't promote anyone. In console the command /pm promote [user] fails and gives me the error "No Groups are Defined" or "Cannot promote a user with no ranks" and in-game if tells me that *as OP* "You do not have permission to promote that person" What should I do?
@SimpleAce
Yep, I was already working on that one! Thanks for the suggestion anyway!
@TheBorder
Just downloaded your plugin and loving it! But one suggestion is that you can change the format of the chat output. That would be a nice addition! :)
@daltont_25
Yes it is! Thanks for noticing this copy and paste mistake :)
"Commands
/pm reload - Reloads the permissions file /pm promote <Player> - Promotes the player to a higher group. /pm promote <Player> - Demotes the player to a lower group."
Is that second "/pm promote <Player>" supposed to be "/pm demote <Player>"
@TheBorder
Thank you!!!
Thanks for the supportive comments! I will add prefixes in the next update.
You should definitly add prefixes! and be able to change the color of the prefixes! Looks like a nice plugin :)
Looks cool! Does it support prefixes?