Region specific permissions
Region Specific Permissions (RSP) allows to add and remove permissions dynamically, using WorldGuard regions as reference. Also useful to limit your worlds to a rectangular or circular zone around an arbitrary center! Currently you need WorldGuard for regions.
Maintenance Phase
Due to timing constraints i might not add much to this plugin, but can keep it updated.
I might implement some features of pex to make this a fully featured permissions plugin, t would be somewhat optional and RSP still would be able to use hooking into other plugins. However that is quite a task and i am not sure if i will do it, or if i want to rely on another permissions plugin, since pex might time out.
Quick links: Installation | Configuration | Commands | Troubleshooting | Examples
Internals: Performance | Progress | Changelog | Source Code on GitHub
REQUIREMENTS:
- WorldGuard
Since version 1.1.0 you don't need a permissions plugin anymore to operate RSP.
Compatible permissions plugins:
- PermissionsEx or
- bPermissions or
- Since 0.12.0:
Vault, linking to another permissions plugin - however it is not guaranteed, that your permission plugin supports adding or removing groups during runtime. Furthermore you might have to alter the RSP settings to achieve compatibility via Vault.
Should work without adaption (or despite): PermissionsBukkit (RSP 0.12.0)
This plugin actually adds and removes permission groups, either those defined by the permissions plugin or those given in the RSP configuration in the transient-groups section.
Actually RSP has more to it than "just" permission adaption for regions, it also allows to confine your worlds to circular or rectangular areas with arbitrary center, to limit your maps.
See the Configuration link for more specific information and the Troubleshooting link for examples and hints. Both sections are under review and will be updated more or less soon.
Hey, could you update RSP to support the latest version of Worldguard?
For those using the players.yml file with RSP 1.9.0: RSP 1.9.0 only recognizes player names in lower-case. Once a player is recognized, the data section is stored by UUID instead, and the name (in whatever-case) will be stored within that section for easier by-hand editing.
So if you put players in there by name, ensure the names are put in lower-case and have them join soon (/rsp reload will do it too).
Edit: Fixed in 1.9.1.
@Si7VdeR
Did you read this:
http://dev.bukkit.org/bukkit-plugins/rsp-region-specific-permissions/pages/examples/advanced/negating/
(See links above in the description.)
You need to give and take that permission entierly in RSP, for the world where to remove it based on a region. How complicated it is, depends on what you need.
A "simple" example would be, if all players have the permission everywhere in the world, except in that (or several) regions:
The reason why you have to do adding and removeing inside of RSP is, that Bukkit does not allow reliable overriding of other plugins permissions in a reasonable way (i would have to wreck their PermissionAttachment registration, with undefined consequences, i can't just tell Bukkit "RSP overrides it", well i can try, but Bukkit will ignore it usually, while telling another permission plugin often fails, because those have not implemented reliable overriding either), thus RSP allows specifying priorities internally.
Now there is an inaccuracy built into RSP for performance reason, roughly 4 blocks. If it's ok for people to lose that permission when 4,5 blocks inside of spawn and to gain it 4,5 blocks outside (or like 12 seconds waiting), then you needn't change anything. Of course it's possible to use a filter permission, to control who has the bedspawn permission in the first place, but you have to tell what you need/want.
@asofold
This plugin is exactly what I need: "Region Specific Permissions (RSP) allows to add and remove permissions dynamically, using WorldGuard regions as reference. "
I need to be able to remove permissions when people enter a certain region. But seriously your configuration makes no sense, how can I make it so in my region named: Spawn people have the permissions : - essentials.bed.spawn That is all I need, add permissions when people enter certain regions and remove the permissions when they leave.
@killerbyte12
What is the reason for not using them as region owners in the first place? Are region owners not to build on their regions but to use stuff? ''USeing essentials.build might mean they can build from either side (outside/inside) so that never will be too much accurate.
Using RSP means you have to set the regions where they gain permissions in the config, unless you rely on region owners and members for triggers instead of the region name.
So right now i am not entirely sure what you want to reach (regardless of the techique usee)... you have players who are to build on certain regions without being owner !?
First of all Ill just let you know that I need this done on a 1.6.4 modded server using the PEX permission system.
When a player enters a region:
- Take the essentials.build permission
- If their IGN matches the name of the region either do nothing or re-give the essentials.build perm
( So it would need to work in that order)
When a player leaves a region:
- Give essentials.build permission
My technique to have them be owner:
Each region will be named after the "owner". When a player enters a region it takes the build perm first but then gives it to who evers name matches the name of the region. Therefore if your name matches the name of the region you just entered, the build perm is taken away but immedietly returned. If your name doesnt match the region name, it isnt given back untill you leave that region.
Get what Im trying to do?
@killerbyte12
I just need more details!
What kind of permission do you want ot give/take? What is the technique to have them be "owner" (a group added as owner?, bypass permissions ?)?
Wow, my comment sounds really rude now. Sorry for that.
I was looking to have a permission removed from players when they enter any region The permission then needs to be given back to the player when they leave that region.
To have owners without actually adding them as owners through wg, I need to be able to exempt certain players (not groups) of having that permission taken away in their "owned" region.
@killerbyte12
Oh some people do understand, some before reading the examples some before asking me, some after reading/askin.
What do you want to do?
Noone can understand how to configure your plugin...
@ShadedPL
I tried to add it directly, but i think i was afraid of the (non existent) API back then.
Are you running Vault? If you don't minf Vault, there should be a chance that RSP and GroupManager work together.
However, if you only use simple "temporary" permission, like within a region, then your permission plugin does not matter at all. All you need is to give the player a "filter permission", so RSP can decide if the player is to be added extra permission on entering a region - if no filtering is necessary (player/rank-specific), then RSP can be run without permissions plugin.
Will there be GroupManager support any time soon? :)
Nice plugin!
@broluigi
Such should be preferred to be solved by WorldGuard and Towny - RSP CAN deal permissions to bypass things, however it should be preferred to have the plugins that control building exactly handle the building questions - did you try to to add a passthrough->allow flag to the region where they should build?
@askvooster
How exact should the command prevention be - a leniency of 4 blocks is ok or do you need it to start exactly with region-entry?
To use RSP to negate previously granted permissions, you need to handle those permissions fully inside of RSP - if that is acceptable we can proceed.
how would i make it so in a region players cant do commands like /warp howver ops can, i cant understand the commands and troubleshooting links
@asofold
i meant in worldguard regions! within a towny world where no-one can build in the wild, (anywhere without a town) does RSP allow me to make certain worldguard regions have the ability to build in wild? and when they leave they arent allowed
@broluigi
I can't judge that fully. In general building is done by WorldGuard already - if you want to allow specific areas something can be done with adding groups as members of regions and similar.
Permission based building means that RSP can't control where exactly you build, so i would need to know more about what "towny wild" means and what those specific areas are...
can i use this to give people the power to build in towny wild in specific areas?
@Quinlan102
Did you check out the examples and troubleshooting pages?
What do you want to reach using RSP? A video would show a lot of text, if it should actually help...
too hard make a video
@asofold
Cool thanks!