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.
-
View User Profile
-
Send Message
Posted Sep 21, 2012@Mon3y13ankeR
If it does not work with PEX groups then it must either be a configuration issue (on whatever side) or Essentials is doing something strange.
It could be that the back permission or another sub-permission is necessary to have the back position set at all ?
Some plugins checlk the permission at players death or whatever and if the permission is not present then later /back would not work, even if the permission is present then. But that is a wild guess , idon'T know hwat Essentials is doing on that account.
-
View User Profile
-
Send Message
Posted Sep 20, 2012@asofold
I tried to make new groups in PEX and assign the Essentials commands. Still no success. I will try some more options this weekend and will let you know. Maybe there is problem with your mod and Essentials. Because it looks like that any other non-essentials permission node works.
-
View User Profile
-
Send Message
Posted Sep 20, 2012oh man i love u for developing the plugin i ever searched for
thanks man
-
View User Profile
-
Send Message
Posted Sep 20, 2012@Mon3y13ankeR
If Essentials uses the PEX interface for permission testing instead of the superperms interface then transient gorups won't work.
You could try to use PEX groups instead of transient groups. This makes it heavier but is as well possible. Only disadvantage is that using permission plugins groups might stay with the playerys after crashes or other problems, so be sure to use anextra group that is only used with RSP.
So you essentially would delete or comment out the transient-groups section and create a group in PES with the same name and permsisions.
That might work then. But i am not sure if that is really the reason ...
-
View User Profile
-
Send Message
Posted Sep 19, 2012Sorry for the doublepost but I maybe found the problem. Is it possible that the transient-groups are sometimes not acceptet by PEX? Because I can assigne the Modgroup to another player in the region. But if I add the same permissions into the transient-groups it doesn't work.
Edit: It definitely is a problem with Essentials. It looks like its not possible to assign any essential command. Is it possible to fix that or has this to be fixed on Essentials?
-
View User Profile
-
Send Message
Posted Sep 19, 2012@asofold
Ok I tested the whole thing with worldguard commands because I can be sure that these are only used by worldguard. I used following config http://pastebin.com/r6nZmSR5 This should give the player that enters the area all worldguard region commands. But unfortunatly it doesn't work for me. I made a region called time_rsp after it didn't work I tried to "unlock" the command by writing it into the regions command whitelist (rg flag time_rsp allowed-cmds /region, /r, /region info, /rg i). Still no success. Do you know about any Plugins that don't work along well with your plugin or do you have any more ideas what I could try to do?
-
View User Profile
-
Send Message
Posted Sep 19, 2012@Mon3y13ankeR
If essentials overrides the time command then it will be that...
-
View User Profile
-
Send Message
Posted Sep 19, 2012@asofold
Unfortunatly it does not work with time addin. But maybe it comes in conflict with essential commands. I try something else and let you know if it works.
-
View User Profile
-
Send Message
Posted Sep 19, 2012@Mon3y13ankeR
CB/1.3.2/beta should be ok.
Does it work with time adding ?
-
View User Profile
-
Send Message
Posted Sep 19, 2012@asofold
My worldfolder is named "world" and I did "reset" the config to your example just to test if there is a problem with the /back permission. So I tried to give players /time add with your example and I did make a zone called "test_rsp". Maybe I should add that im currently using the beta build of bukkit and maybe that could cause problems with your plugin.
-
View User Profile
-
Send Message
Posted Sep 19, 2012@Mon3y13ankeR
The config gives players the permisison bukkit.command.time.add inside of the region test_rsp in the world named world.
Change the permission in the transient groups section to essentials.back instead.
Then you need to use the correct world and region name in the links section.
If the world is named PvPWorld then you have to write exactly that instead of world, if the region is named placeForBack then you need to use that instead of test_rsp.
-
View User Profile
-
Send Message
Posted Sep 19, 2012@asofold
I tried to set up a WG Zone where players can use the command /back to teleport out again (have-inside) to where they came from. Needed permissions would be - essentials.back and maybe - essentials.world.* (not quit sure about the world one)
But it doesn't matter what command I want give the rights. Even your example file doesn't work out for me. (I made the region 100x100)
Here is my config as it is at the moment
-
View User Profile
-
Send Message
Posted Sep 19, 2012@Mon3y13ankeR
What do you want to reach with RSP ? Maybe just describe what tasks there are and probably past/link your RSP config here...
-
View User Profile
-
Send Message
Posted Sep 18, 2012Hey asofold, this plugin sounds extremly awesome and would make my life so much easier. Unfortunatly I just cant get it to work. It doesn't matter how I name my regions or my permdefs. I even tried your example but still without any success. My Console always tells me that I do not have access to that command. I use RSP v1.1.0, PEX v1.19.3 and WorldGuard v642-e10ed6a My console also doesn't provide me with any error messages or anything similar. I hope you can help me because now that I know your plugin exists I just need it ;) If you need any further Informations just tell me
-
View User Profile
-
Send Message
Posted Sep 2, 2012@Dell341
Thx :)
@wiloh95
If you just want to let some users have permission to use shops inside of a certain region, while they don't have them everywhere else, you can also simply add the permissions with RSP during runtime, without need for negating permissions.
Example: Transient permissions with RSP
You create a group entry in transient-groups section containing the shop permissions, then you create a "permdef" that sets up the permission manipulation to have the group inside of somewhere in the permdefs section, then you link the permdef to a region in the links section. (See example.)
-
View User Profile
-
Send Message
Posted Sep 2, 2012@wiloh95
You have to type it out yourself in the config.You have two options in this link:
http://dev.bukkit.org/server-mods/rsp-region-specific-permissions/pages/examples/advanced/negating/
The first one or the second one.
Also, check out this ticket. The negated permissions were explained to be, and also how to test if they are working.
http://dev.bukkit.org/server-mods/rsp-region-specific-permissions/tickets/6-negating-permission-nodes-per-region/?page=2#comments
-
View User Profile
-
Send Message
Posted Sep 2, 2012This is a plugin that i really would like to use for my shop system. But I have a hard time understanding where i should type in the ``world name, region name and permissions`` when using Groupmanager. GM is hooked by vault so it should work, i just dont know where to type in the info. Is it in the config somewhere? since no file is generated inside the RSP folder
-
View User Profile
-
Send Message
Posted Aug 29, 2012@asofold
Faster than i thought, but i freaked out and thought i had found a bug, but it was just malconfigured (might remove that groups: ... extra bit of typing), but anyway for now should do: RSP 1.1.0
Now you might use priorities with permdefs. And i might have to add examples without permissions plugins and for priorities.
I am not sure if the transient-groups are really 100% superperms compatible - the permission checks work for exact matching permissions, but they might not work for parent nodes yet.
Example for negating permissions: Negating permissions...
(Might still need review.)
-
View User Profile
-
Send Message
Posted Aug 28, 2012@Remi_Scarlet
It is pretty difficult to have negated permissions work dynamically - with luck one could find a way to manipulate the order of groups to be set/added/remove such that the specific permissions plugin will value the negated permission higher than a given permission from another group the player is in anyway.
Negating a permission given by a permission plugin using RSP transient permissions does not seem to work, because of the design of Bukkit / CraftBukkit. (They did recently deny a feature request to add priorities to permissions adding with words like "it is not needed", but obvioulsy negating/conflicting permissions in the context of multiple permisison manipulating plugins poses problems by design.)
Anyway, i was thinking about this and i see two thinkable ways:
This would/will make RSP half a permissions plugin, because you might have to define the groups in RSP, but assigning the groups will check prermissions the players must have been given before. For more convenience i might add a feature to add groups defined in your permissions plugin in a transient way (only during runtime), but such also demands a lot of internal changes.
Obviously the second way would demand a lot of changes to be done, and i would likely have/want to redesign the whole internals for that.
The first way might be somewhat easier to add, because it almost only involves the sorting of the groups to assign to the player and it can be made configurable if to add them first and in descending order etc.
Priorites of permdefs is will in some form be added.
Concerning the overlapping question, i probably wold not want to handle that by priorities only because they might be needed for the overriding question with negation etc., but i could imagine adding something like a list of permdefs to override for each permdef, such that if both are added the overriding entries allow to not have the other when in an overlapping region.
Update: Actually priorities could handle this using the remove-enter option, then remove-enter would really remove the group if it is added by a permdef with lower priority at the same time. As of now it would not get removed if another permdef is adding it.
Difficult to judge what i can add fast, probably the group ordering is the easiest - all other things might call for an internal redesign, after all this plugin had been made pretty quickly, after i saw that EvenPrime "took too long" for his PermissionZones, so the code is in parts very old and needs a design update for more flexibility, i tried to refactor parts but the success was not great up to now :)
So, err, good suggestions !
-
View User Profile
-
Send Message
Posted Aug 28, 2012Hm, suggestion on a new feature for this plugin. If someone's in multiple regions overlapping, have an option, probably like filtering, to apply the perm group only in the region with the highest priority.
eg,
If I have region "spawn", and within it, a region "market." I have two permission groups called spawnPerms and marketPerms. When I'm inside spawn, I want the perm group "spawnPerms" to be added, but when I enter "market," I want spawnPerms to be taken off and be replaced with marketPerms.
Also, hope that negation feature will be added soon!