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 all players start 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
  • 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


CommandPermissionDescription
/GroupCreate [group]group.adminCreates a group without adding a player or permission
/GroupAddPlayer [group] [player]group.adminAdds a player to the given group (creates the group if it doesn't already exist)
/GroupRemovePlayer [group] [player]group.adminRemoves a player from the given group
/GroupGrantPerms [group] [(-)permission-string]group.adminGrants the given permission(s) to the specified group (creates the group if it doesn't already exist)
/GroupRevokePerms [group] [permission-string]group.adminRevokes the given permission(s) from the specified group
/GroupListPerms [group] ([page number])group.adminLists all of the permissions for a given group
/GroupListPlayers [group]group.adminLists all players in a given group
/GroupListgroup.adminList all groups
/GroupDelete [group]group.adminDeletes a given group
/GroupReloadgroup.adminReloads config from disk
/RegisterPerm [permission node] [default(op/not-op/true/false)]group.adminManually register an unregistered permission node

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 like my work, please consider donating using the Donate button in the top-right corner of the screen. As a freelance professional, I rely on donations and payments to support my work. Anything you can contribute to support my work will allow me to spend more time making plugins for Bukkit and supporting the plugins I publish. Thank you.

Everything I create here will be 100% free to download and use as you please, just keep the license attached and give me credit for the original work if you decide to redistribute.

Donate


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

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of XHawk87 XHawk87 Apr 09, 2014 at 19:39 UTC - 0 likes

    @EpicN1nja11111: Go

    You can deny permissions by granting a negative permission. E.g. /GroupGrantPerms all -bukkit.command.tell

    This would prevent anyone from using the /tell command.

    @EpicN1nja11111: Go

    I will look into it. Please send me a http://pastebin.com of the changes you made to the config file, as well as any errors on the server.log when reloading them or starting the server.

  • Avatar of EpicN1nja11111 EpicN1nja11111 Apr 09, 2014 at 11:54 UTC - 0 likes

    When ever i go and edit the perms/groupnames in the Config, it RESETS the whole config and it then has NOTHING in it... whats happening? help please?

  • Avatar of EpicN1nja11111 EpicN1nja11111 Apr 09, 2014 at 09:00 UTC - 0 likes

    can you add /groupdenyperms [group] [permission node]

    Need this because i have a chat colour plugin, you give a group the permission node and it

    will set the chat colour, i set the Default/Player/all chat colour as grey and now it makes

    every groups chat grey, the only way to undo this is to deny perms to the groups, so i need to

    be able to deny perms! thanks :D

  • Avatar of XHawk87 XHawk87 Nov 27, 2013 at 18:10 UTC - 0 likes

    @Predatorz01: Go

    /GroupGrantPerms [group] [(-)permission-string]

    This grants a permission or set of matching permissions (if * is used) to a group. It can also grant negative permissions (taking the permission away if they have it anywhere else), if the (-) operator is used. If the group doesn't exist, it shows a prompt to create a new one or cancel.

    For adding ranks to names based on permission group, you can use the RankDisplayNames add-on. There is a tutorial on how to do this: http://dev.bukkit.org/bukkit-plugins/rankdisplaynames/pages/tutorial/

  • Avatar of Predatorz01 Predatorz01 Nov 27, 2013 at 07:42 UTC - 0 likes

    i'm having problems setting permissions to groups and adding a display name to players.

    how do i fix this?

  • Avatar of XHawk87 XHawk87 Oct 03, 2013 at 16:58 UTC - 0 likes

    @wimpycow: Go

    If you are using a command scripting plugin like: http://dev.bukkit.org/bukkit-plugins/createyourownmenus/

    You can do:

    /GroupRemovePlayer [player] [group]

    followed by:

    /GroupAddPlayer [player] [group]

    Or if you are using a scripting plugin like: http://dev.bukkit.org/bukkit-plugins/skript/

    You can create a command /acceptrules and have it run those command. I am not an expert on Skript though, so you'd have to follow their documentation.

    Or you can request a plugin that can do that here: https://forums.bukkit.org/forums/plugin-requests.13/

  • Avatar of wimpycow wimpycow Oct 03, 2013 at 08:42 UTC - 0 likes

    Is there a way to use an external command to "promote a player"? I mean let's say we have a Newbie rank, and a Member rank, and I want the newbies to read the rules first and then type a command (say, /acceptrules) to remove themselves from the Newbie group and put them in the Member group. Is there a way to do make an external command do that?

    Last edited Oct 03, 2013 by wimpycow
  • Avatar of diamondpumpkin6437 diamondpumpkin6437 Sep 02, 2013 at 01:08 UTC - 0 likes

    OKay thanks

  • Avatar of XHawk87 XHawk87 Sep 01, 2013 at 15:39 UTC - 0 likes

    @diamondpumpkin6437: Go

    You're not supposed to include the brackets. Brackets in command syntax mean that this is optional. Either you can type /GroupGrantPerms Admin -someplugins.fly or you can type /GroupGrantPerms Admin someplugins.fly.

    If you add a negative permission, it will mean anyone in that group will never be able to get that permission even if its granted to them elsewhere.

  • Avatar of diamondpumpkin6437 diamondpumpkin6437 Sep 01, 2013 at 01:01 UTC - 0 likes

    You put these words: /GroupGrantPerms [group] [(-)permission-string] and in there is (-) I tried to put the command /groupgrantperms Admin (-)someplugins.fly I didn't really do someplugin

Facts

Date created
Jan 15, 2013
Category
Last update
Jul 30, 2013
Development stage
Release
License
GNU General Public License version 3 (GPLv3)
Curse link
GroupPermsLite
Downloads
13,710
Recent files

Authors