Group Based Permissions
GBP: Group Based Permissions
"Because what Bukkit really needs is another permissions plugin"
Permissions plugin for bukkit focussed around defining group membership as the core activity.
The basic idea is that to add a user foo to group bar, instead of going to users.yml and adding
foo:
- groups:
- bar
...you'd simply go to the bar.txt file and add "foo" to the end of it, just like you'd do with ops.txt or white-list.txt etc.
frymaster
foo
notch
Why might this be useful? Because it's a lot easier to integrate with external scripts if they have to simply output a list of names rather than generate a YAML structure. This important if you want to automatically assign group memberships based on your forum permissions, for example.
Features
- Flatfile group membership lists that work like the built-in ops.txt file
- Assign permissions and negative permissions to groups
- A group can inherit permissions from other groups (which can have their own parent etc.) - these will be overridden by the explicitly set permissions
- Meta-groups called all and ops which represent everyone and ops, funnily enough
- Can define "default" groups which people will be added to if and only if they have no explicit group memberships
- Group priorities to determine what permissions take priority if someone is a member of many groups
- Still features a conventional users.yml file where you can override group memberships (both add and negate) and permission nodes
What the plugin doesn't do
This plugin is in early stages of development. There are several standard features it doesn't yet support - implementing these will result in the project moving to "release" status
- In game commands - the only way to alter the configuration is to edit the files directly. The group membership testfiles are read every time a player joins, but you will have to do /gbp reload if you make changes to the .yml files
- Vault API integration
- Time-limited permissions
Future Features
Ultimately the aim of this plugin is to read, and hopefully write, from arbitrary mySQL databases. This would mean it could, for example, query your forum directly to determine group membership. Optionally you would be able to write memberships as well, and in the far future perhaps store most config items in a database as well, for distributed setups.
Configuration
The groups.yml and users.yml files should be fairly self-explanatory. If not, you should let me know what's confusing and I'll add more documentation
Stats collection
To determine popularity and usage of the plugin, installs are automatically tracked by the Metrics plugin tracking system in 1.0.2 and higher. If you don't want this tracking, set opt-out to true in plugins/PluginMetrics/config.yml to disable it.
Currently only the default stats are sent, which include:
- Player count
- OS Type
- Java version
- Server version
- Plugin version
Github
The github repository is at https://github.com/frymaster/fry-gbp and the issue tracker is also there (though the links from this project should go direct to the issue tracker). While I'll try to answer comments on this page, if you find any bugs the tracker is a much more reliable solution
Development Builds
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
http://ci.frymaster.127001.org/
IRC
I idle in #bukkit and in my personal channel #frymaster on Espernet. I am in the UK and are unlikely to respond immediately to queries except in the evening, UK time, but I log all messages and I will get back to you eventually.
Does this work with 1.6.2?
would this work with creative gates and if it does how?
@xXxsilverwingXx
You'd have to speak to the creator of groupmanager about that
@WillMoff
Hi,
Bukkit doesn't really have a concept of "giving all" - some plugins try to do it, but their approaches are either a) buggy, or b) unreliable
Most plugins that have multiple permissions also provide parent nods (like e.g. vanish.standard) which you can use to simplify things
I was wondering if there was an eay way to give all permmisions to someone, i tried to give them inherit ops but that didnt work
Hey dude im looking for the creator of group manager i need to talk with him because im trying to set up buycraft with my server i have but this wont work since when using group manager to change the ranks you have to type /manuadd (name) (rank) and with buycraft when you purchase your rank the command puts your name at the end of it i believe so i would like to talk with the creator about switching them around so it would be /manuadd (rank) (name) so group manager can work with group manager
@KindersJanssen
This plugin doesn't feature any build protection system, that must have been added by another of your plugins.
What are the permissions to let someone build? It keeps spamming the chat with: "You don't have permission to do this".
@Garneift
Yup, that's the idea :)
Can i create a group in groups.yml
Please join my server. 2.248.156.165:25562 _____________________And What permissions true and flase does?
Thanks for the help... @frymaster_127: but how to create a group? :/
@Garneift
Hi!
High numbers are better. So if a group with priority 80 sets a permission true, and a group with priority 100 sets it false, the person will get it set to false.
Can you tell me what you mean by tags? Not come across them before
Hi!
Ok!
So..Please add tags! if you do you're really nice!== Add Tags! ==
Nice! But if you add tags... it ging t be better! Thank you.
@VitorBatistaLOL
Hi,
Can you expand what you mean by tags?
It would be the best plugin of permissions ever! but only if you add tags, it would be nice!
@TheAJ471
You define groups in groups.yml (including specifying a text file for each group) and then add names to the text file, one per line, like how ops.txt works
So do i make groups in the groups.yml and do i make seperate yml files for other groups