GroupPermsLite
Unsatisfied with a number of other permissions management plugins publicly available, I sought to create a lighter and more elegant plugin to handle group-based permissions. With a focus to making all of the commands understandable at a glance and providing helpful details when queried. You should be able to get on with permissions management simply through typing /help GroupPermsLite and reading the command descriptions.
If you are unfamiliar with Bukkit permissions, please see the Wiki Article and the Forum FAQ
Features
- Simple and elegant
- Easy to use and understand
- Allows setting up an unlimited number of groups (names are case-insensitive)
- Has a default group called "all" that applies to all players that have joined the server, nomatter what other groups they are in
- Has a unique group for each player called "personal_[player name]" that allows individual permissions settings
- Saved in YAML format, advanced users can read and manage on disk and reload while the server is running using a command
- Simple and easy to use commands to add/remove players from groups and grant/revoke permissions from groups
- Allows use of the wildcard (*) to match any value for a node in a permission string when granting permissions using a command
- Allows adding negative permissions using the (-) operator to prevent a particular group from receiving the given permission from any other source
Ideas for future development
- /hasPermission ([player]) [permission node] - For manually checking permissions of a player and for use in command blocks (Available from 4.4 onwards)
- Tab auto-completion for registered permission nodes
- Support for Vault for better compatibility with plugins such as the LWC group feature
- A command to rename a player in order to support upcoming Mojang name changing feature
Commands
Command | Permission | Description |
---|---|---|
/GroupCreate [group] | group.admin | Creates a group without adding a player or permission |
/GroupAddPlayer [group] [player] | group.admin | Adds a player to the given group (creates the group if it doesn't already exist) |
/GroupRemovePlayer [group] [player] | group.admin | Removes a player from the given group |
/GroupGrantPerms [group] [(-)permission-string] | group.admin | Grants the given permission(s) to the specified group (creates the group if it doesn't already exist) |
/GroupRevokePerms [group] [permission-string] | group.admin | Revokes the given permission(s) from the specified group |
/GroupListPerms [group] ([page number]) | group.admin | Lists all of the permissions for a given group |
/GroupListPlayers [group] | group.admin | Lists all players in a given group |
/GroupList | group.admin | List all groups |
/GroupDelete [group] | group.admin | Deletes a given group |
/GroupReload | group.admin | Reloads config from disk |
/RegisterPerm [permission node] [default(op/not-op/true/false)] | group.admin | Manually register an unregistered permission node |
Most commands have a "silent" feature that is activated by placing a "-s" (without quotes) at the end. This is intended to be used with command blocks and command scripting plugins to allow you to manage your permissions through these without generating lots of console spam. You will still get a response if the command fails however.
Add-ons
- RankDisplayNames - Create ranks with chat prefixes that update automatically with permissions set through GroupPermsLite
Troubleshooting
It says the permission is not registered, what can I do?
Sometimes plugin developers will forget or simply not bother to register their permissions with Bukkit, but still use them in their code. Fortunately, the bukkit permissions.yml file can come to the rescue here. You should be able to find the permissions.yml file in the server directory. It is used by server owners to manually register additional permissions in bukkit. See http://wiki.bukkit.org/Permissions.yml
for details about editing the Permissions YAML. It is usually used to group permissions together so that they can all be assigned at once (this is compatible with GroupPermsLite!), however there is also nothing stopping you from registering all of the unregistered permissions for a plugin manually.
For example, here is how to register all of the permissions for Essentials (the most notorious for not registering their permissions): http://dev.bukkit.org/paste/7208/. You can cut and paste these into your permissions.yml if you use essentials. Be aware that permissions with square brackets [ ] around a permission node mean that you have to change that to the specific type you want in order for it to work.
Coming in v0.4: Added support for unregistered permissions - You will be able to grant unregistered permissions to a group with a prompt for confirmation
This plugin uses Java 7
If you get the followed error on starting up the server with this plugin installed "Unsupported major.minor version 51.0". This means you are using an out of date version of Java. If you don't know how to upgrade, please contact your server hosting provider and ask them for help in upgrading to Java 7, or contact Oracle customer support. Mac OS X users require JDK 7 instead of JRE 7.
Donations
If you'd like to contribute towards the continued development, support and maintenance of this project, please consider joining me on Patreon, and making a one-time or recurring pledge.
Help
If you need help you can leave a comment below and I will get back to you as soon as I can. You can also join my IRC chatroom using the following link. Please note, I am not always at my keyboard! http://webchat.esper.net/?channels=XHawk87&prompt=1
@DiamondWolfGamer
If you have another plugin installed that can change player chat display names it could be interfering.
However, if you send me a http://pastebin.com of your GroupPermsLite and RankDisplayNames config files I may be able to pinpoint a problem in your configuration.
So um I have both this plugin and the add on but still NO CHANGES in my ign @XHawk87 please help me D: I have now tryed for 2 days and still no work D:
@BOSSPVPER
You need to read the plugin page and follow the instructions in the tutorial.
Groups and ranks are two different things. A rank is displayed by a player's name in chat, and a group is a set of players that all have permissions to do something. A player can be in many groups but only has one rank.
Like i changed the color and all but it doesnt show the Rank when i talk :( :O Any Suggestions?
I downloaded it but yet still i dont have a prefix do i have to edit the config?
@BOSSPVPER
that's what RankDisplayNames add-on is for. http://dev.bukkit.org/server-mods/rankdisplaynames/
Is there not prefixes? Because i added my user to Owner and theres no prefix :( Help
@BOSSPVPER
If you are using RankDisplayNames addon, it uses % as the colour symbol
You can add colors right? like &1 and stuff or tell me the codes
@PancakeNinjaMC
In the later dev builds you can use the /HasPermission [player] [permission] command to check if someone has a specific permission. That should be able to do what you want.
Will you be adding a command where you can check if a player has a rank? When is the next update?
@njojo11
Just missed out one argument. You have to tell it which group to grant perms to:
/GroupGrantPerms [Group] [permissions]
So it'd be:
/GroupGrantPerms Owner ranks.membership.1Owner
If you have trouble remembering which way around the arguments go, it is always the same was as in the command name. /GroupGrantPerms write the Group then the Perms.
P.S. /GroupReload is only needed if you change the configuration files and want them to be updated while the server is running
@XHawk87
Okay well I am still a bit confused! I have little experience with promotion plugins. Can you type the commands to make a group then give the name perms? I did ./rankcreate 1Owner %5[Owner] then I did /groupcreate Owner after that I did /groupgrantperms ranks.membership.1Owner then I did ./groupreload. Did I completely fail?
@XHawk87
Oh I am so stupid! Haha, thanks for the quick response!
@njojo11
A rank and a group are different things. A rank is displayed by name, and groups are used to determine what permissions a player has.
You need to create a group for those players, and give that group the ranks.membership.1Owner permission, along with whatever other permissions you want that group to have. Then you can start adding people to the group to give them those permissions and that rank beside their name.
@XHawk87
I need help! I did ./rankcreate 1Owner %5[Owner]
And it created the rank. I after that did ./groupaddplayer 1Owner [Person]
and it said 1Owner group doesn't exsist! I don't understand It was created!
@XHawk87
okay i shall double check everything and thanks again for quick responds
@giano2
It sounds like you forgot to tell it which group to grant permissions to. It is:
/GroupGrantPerms [group] [permission]
So you would type:
/GroupGrantPerms all bukkit.command.teleport
All CraftBukkit permissions will already be registered, so if it says the permission is unknown then you should double check that it was typed exactly right. You only need to use /RegisterPerm for plugins that do not register all of their permissions.
okay im back i think im just stupid but i want dat one group has permission to use the teleport command from bukkit without needed to being OP
i tried the command /GroupGrantPerms bukkit.command.teleport but then he said there is no registered permission with that match so i tried /RegisterPerm bukkit.command.teleport but he always say info: /RegisterPerm [permission-string] [default(true false op notop) so i dont know what i do wrong i have tried /GroupGrantPerms bukkit.command.teleport true notop and default true notop but nothing works so here by i ask if you can help me with it
@Hawk87
thanks for the quick responds i will try what you said
thanks