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
@RivePlays
I don't know of any reason why this shouldn't work in 1.9 or 1.10. No updates should be necessary, unless the API has been broken, in which case it might be worth reporting to the Spigot team.
Hello XHawk87,
Can you update this Plugin of the 1.9?
that would sooooo cool!
Please PLEASE!
Bye Bye :)
Hello, Does this dear plugin even work with 1.10.* ?
We seem to have lost all groups. :(
adopt
@5pencer5
That is incorrect.
The number of slashes before a command is irrelevant. To Bukkit an extra slash is just another character. I don't know why you think this is an issue, it is not.
The command name is not the same as the permission node. You do not enter the name of the command, you enter the permission node for that command.
The WorldEdit (double-slash) wand command has a Permission listed in their documentation that I linked you to earlier: http://wiki.sk89q.com/wiki/WorldEdit/Permissions. See it about half-way down the page. You can press Ctrl+F in your browser to search and type wand, it will find it quickly. The permission node listed is "worldedit.wand" (without the quotes, obviously). Use that permission node in the command, not the command name.
This works the same for every permissions plugin. I suggest you read the information in the articles I linked earlier if you still don't understand. Otherwise you will run into the same issues you had with this plugin with any and every other permissions plugin you try.
but it has 2 slashes before the command so i dont think i could give/not give someone perms to do wand with this plugin
@5pencer5
http://wiki.sk89q.com/wiki/WorldEdit/Permissions
Look up the Permission node next to the command. Every plugin sets their own permission nodes, so I can't tell you what the permission nodes are. You will notice that permission nodes do not contain spaces, instead they contain dots.
Since you seem to be very new to this, you should also read this article about Understanding Permissions. The Bukkit Permission FAQ may also be helpful.
as in worldedit wand
wait so what would i type if i wanted to give group Admin permission to do wand (its 2 slashes) would it still be /groupgrantperm Admin wand
@5pencer5
so would it be /groupgrantperms kit.Admin ?
@XHawk87
ok so its a . whenever there is supposed to be a space?
@5pencer5
If you don't yet have an Admin group:
/GroupCreate Admin
To make yourself part of this group:
/GroupAddPlayer Admin 5pencer5 (or whatever your minecraft IGN is)
To grant the admins permission for that command:
/GroupGrantPerms Admin whatever.the.permission.node.is
To find the permission node you need, you will have to look it up on your kit plugin. They should have documentation available on their plugin page. Look for commands and/or permissions.
if i want to grant the Admin rank permissions to do /kit Admin... What would i type?
@Jayden2116
You will need to check the documentation for your plots plugin. It should contain a list of permissions for claiming, building and breaking etc.
Assuming you have already created a group for these players, you can add these permissions to that group using the /GroupGrantPerms command.
If these permissions are not registered you should double check they have been typed exactly correctly before proceeding. If necessary you can use the /RegisterPerm command to register this permission manually.
If you have not yet created a group, bear in mind that you can use the 'all' group. These permissions apply to all players on the server including Ops. If you don't want that you can use the /GroupCreate or /GroupAddPlayer commands to create a group and add players to it.
Best of luck with your server!
I am having trouble allowing non ops in my server to claim, build & break in there plots
Please explain how to allow it
THANKS
@Prodigy_W2K19
Short answer, no.
You can use the * wildcard to match a single term in a permission node, so with several commands you grant all registered permissions. E.g. *, *.*, *.*.*, *.*.*.* and so on. However that will only grant registered permissions. Not all plugins register their permissions, as sometimes it is impractical, and some authors don't know any better.
Giving someone every possible permission isn't very practical, as a number of plugins have permissions that provide actions that you don't necessarily want. E.g. simplyvanish can make you start invisible on signing in, but you might not really want that.
If you want someone to have access to all commands and features that an administrator should have, then using /op is the best way to achieve that. Plugins default to giving all permissions to ops, and only don't when the authors specifically exclude it (E.g. simplyvanish's auto-vanishing permission). Once you have op status, there are probably only a handful of extra permissions that you need.
Is there a way to give all permissions from all plugins at once?
@DiamondWolfGamer
The numbers just impose a priority for if a player belongs to multiple groups with a rank attached. The problem is that you haven't granted the permission to those groups.
If you create a rank called "Alpha", and you have a group called "alpha_players", you would type: /GroupGrantPerms alpha_players ranks.membership.Alpha
I added the numbers and still NOPE (I feel like this plugin hates me) D: WHYYY!!!!
So Far Only 1 rank
@DiamondWolfGamer
I see the problem. None of your groups have any "ranks.membership.[whatever the rank ID is for that rank]" permission. Check out the last section in the tutorial for help on doing this: http://dev.bukkit.org/bukkit-plugins/rankdisplaynames/pages/tutorial/
@XHawk87 link : http://pastebin.com/rnBSWwJA idk does essentials count cause if not NOTHING else should be wrong :P