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.
@mrcheesete0
You might have to wait for others to test, probably :)
(CENSORED)
Update:
What permissions plugin are you using? Currently the implementeatuon of Vaults internals differ quite a bit for the different permission plugins - i might have a look what Vault does with it and see if it means a change and what the possible problems are - If you use PEX or bPermissions rsp will link to those directly anyway, for some other plugins Vault uses their API without saving explicitly, for some it dispatches commands as if given by console, which usually might mean that the permission plugin will save the changes (that could cause performance issues due to saving too often).
Update 2:
It depends much on the permissions plugin and involves guesswork , so i added the option to use global groups or world specific (currently only affects Vault).
Not a fan of dev software, so once you have a release version with vault, I shall use it.
@doekia
You can try: DEV version: RSP 0.12.0-DEV-2
Vault support is added, howevver it is not sure that the permissions plugin linked with Vault really supports the operations that are needed to run RSP, besides it could be that they are implemented in an inefficient way either on Vault or the other plugins side.
But it might be worth a try, i tested it shortly with success, using PermissionsEx behind Vault, though normally PEX would be hooked into directly.
@doekia
Hi,
Vault looks ok to add more or less swiftly, yet it does not provide enough API to be an "easy" add, especially the saving of changes is a peculiar thing, which can kill performance if done after every change - it is still on schedule, though. (Actually what can be added is quite simple with Vault, but the implications need some thought.)
Officially supported are PermissionsEx and bPermissions, that is also stated in the text above. With any other permission plugin RSP can not be operated, at present.
The reason why i have not added more is a) few incoming requests b) the permissions plugins requested often either had no API to hook into or not an understandable API. PEX and bPermissions were easily understandable and well enough documented to directly add them.
At that time Vault was not that much released yet, though.
Hi,
As stated by others, Vault is required. I personally use the PermissionsBukkit and this plugin does not work. You'll save yourself a lot of intergation issue using Vault api.
Best,
@Flenix1
Have tested with bPermissions 2.9.1 and it worked with have-inside.
Another thing that one might overlook: if you have the ignore permission you will not have have groups added or removed. Did you check that testers do not have that?
If that is not the problem... then we will have to come to re-check maybe the full configuration file for RSP (might paste in private message or mail), and to check if you really gave the permissions for that world and if the permission group really contains something testable (i suppose using something that can be tested easily like a command orv some right-click info-tool permission).
I am not sure if CraftBukkit + + is causing any trouble... i can not go into that, but i think it also implements the Bukkit-API so that that should not be a probem.
And do have a look t the logs for [RSP] entries, there could be errors shown, at least it should state something like : "2012-04-09 15:08:16 [INFO] [RSP] Using for permissions: bPermissions (rsp-bperms)"
But there could also be erors (severe) or warnings from throughout the log, which would of course indicate trouble.
@Flenix1
Usually the version shows up in the log during startup, something like "[bPermissions] bPermssions version enabling" or "is enabled" or so.
That would be good to know in order to try to reproduce it.
@asofold
I'm running bPerms... I can't find a version check for it though? I know its not like, to-the-minute up to date but I last downloaded it at the same time I last downloaded this, so should be a matched version
@Spaceshipable
Actually this plugin depends on WorldGuard, currently. It can not/hardly be operated without WorldGuard (maybe the confinement for worlds can still work without WorldGuard, but i would not count on it, at present).
I am planning though to make the region-thing interfacable so that other Region-plugins can be added to the supported-list, i might also revive/use some parts of Evenprimes PermissionZones plugin for that purpose.
But ok, it is WorldGuard currently, other region plugins might have to wait a bit.
I agree with mrcheesete. I would love it to be compatible with Group Manager. I would also love if this plugin were to have a way to define a region in a similar way to world guard. (or even to be able to use world guard regions).
Keep up the good work, Spaceshipable
Awesome, awesome plugin. Thank you sooooo much!
@mrcheesete0
Update:
Vault looks good, i will try to add it for permissions soon.
Update 2:
I will add it but it seems Vault does not provide exact ways of when to save permissions, so i will have to add some other consistency measures too, to prevent problems in case of crashes.
Actually the reason to hook into permission plugins directly is, that i have control, what exactly happens :) both on speed and on consistency side.
Any chance on getting Vault Support rather than specific permissions plugin support?
I would love to be able to use this with GroupManager, as this see exactly what I am needing.
@Flenix1
What is your permissions plugin and version?
There is not yet a debug mode built in (i was using API from outside, before), but i will add something like that.
@asofold
Yup, exactly spelled right, just checked it now...
This is my only one right now. If its any use, the rest of my config:
Is there a debug mode, which would say on console "Blah has entered region, has not gained group" "blah2 entered region, gained group psychosis" etc? Would help for testing where things are going wrong.
@Flenix1
so links: .... Silvania: ... psychosis: .... -psychosis
The regions name has to be psychosis with exact case - if that is the case (same for the world Silvania) then i currently have no idea...
Are you using other permdefs for which it works ? That would be an indicator for just some permissions or names being set up wrongly...
@asofold
I have this under links, Completely forgot about it when posting the error but it was there the whole time:
@Flenix1
That looks right for having the group psychosis added to players that have the permission arcane.psychosis while the permdef is active for them, i.e. they are inside of some region for which the permdef is linked...
Did you really link the permdef to some region under links ?
(Maybe it is bold to ask that quesation, but i have to ask it :) )
Hmm, I think i've done it wrong as it doesn't seem to be working.
if I've read it right - that should give the group "psychosis" to anyone with the permission node "arcanes.psychosis" right?
@Flenix1
You can instead of have-inside simply use add-enter (then groups: ...).
This way the groups should be added once people have entered the regions once.
I have not tested that much, but internally the same happens as with have-inside when entering, just that on leaving the group(s) will not be removed.
(One should keep in mind that if you use remove-exit, groups might get removed after logout, even though the player has not yet left the region - that has been a safety addition originally aimed at have-inside.)