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.
Does it still work? I think it broke with 1.4.4.
@mds818
You need a group that is responsible for adding the permission normally. If they should fly in the whole world then link
__global__
to the permdef with that group.Then another group can take away the permission inside of a region. Of course ops might always be able to fly.
Have you had a look t the examples page ? There is one example for reliably negating permissions (handle both in RSP transient-groups: normal and negated).
@asofold:
I tryed with this config: http://pastebin.com/4vKeL4QK
This still doesen't work. Thanks!
@heroldini
Nee hat eher mit PEX aber auch mit dem GesamtSystem zu tun. Wenn man gruppen im permissions plujgin hinzufügt sagt niemand welche eigentlich Priorität hat, wenn es um Negation geht, daher wird oft die Gruppen-Reihenfolge als Anhaltspunkt genommen, und die müsste ich manipulieren / anpassbar machen damit es mit PEX zuverlässig geht. Am Besten wäre natürlich wenn bei PEX die weight-Option für Gruppen das erledigen würde, aber bisherige Tests sind fehlgeschlagen.
@mds818
Have you had a look at the examples page (http://dev.bukkit.org/server-mods/rsp-region-specific-permissions/pages/examples/) ?
There is an example for reliably negating permisions for this situation. The best way would be to give the users a "filter permission" instead of the fly permission normally with your permissions plugin. Then set up RSP with "transient-groups" to give them the permission in the world but remove it with higher priority inside of that region.
Hello, I can see this plugin very usefull.
But I could't get it working. Does it work with 1.4.2? (Have someone tested?)
I only want to make a region that blocks essetials flying. I have this options:
@asofold
Was deine Antwort auf die bukkit-dev bezogen oder auf die .* perms? :D
@heroldini
Bin im Moment nicht sicher ob es gehen kann, ich fürchte dafür muss man die Gruppen von PEX nehmen, aber im moment ist das eventuell mit Negation nicht möglich, da müsste ich etwas testen für...
Ich hab zum testen erst mal die kompletten modifyworld.* mit # ausgeklammert. Kann es vielleicht dran liegen, dass ich grad ne bukkit-dev benutze?
...wär schon genial, wenn das mit den .* perms klappen würde :)
@heroldini
Bei .* permissions bin ich nicht sicher.
Ansonsten sieht es eigentlich gut aus was RSP-Seite betrifft.
Könnte es sein, dass die PEX-Gruppen modifyworld.* und -modifyworld.blocks.destroy.1 enthalten?
Dann wäre nämlich unklar, welche permissions dann letztlich zählen.
Aber .* permissions gegenüber einzelnen Negierungen ist problematisch, ich müsste nocheinmal schauen, eventuell kann ich ein update machen, dass da erlaubt zumindest für PEX negation in normalen Gruppen zu benutzen, so dass PEX die von RSP benutzen gruppen bevorzugt.
Hi,
wie ich sehe, kannst du auch deutsch, asofold :D Ein Glück weil mein englisch ist begrenzt :P
Ich komm leider nicht ganz zurecht, ich hab es zwar schon geschafft, Permissions "hinzuzufügen" aber nicht "negiert hinzuzufügen".
Ich möchte gerne diverse Blöcke unabbaubar / abbaubar machen Als Beispiel möchte ich Stone unabbaubar machen. Hab schon bisschen hin und her getestet, aber es funktioniert leider nicht.
Man kann jetzt auch auserhalb der Zone nicht mehr abbauen. (Die Zone "Mine" ist ein Kind einer anderen Zone, ist das relevant?) Und könnte man es auch so einrichten, dass z.b. modifyworld.blocks.destroy.* komplett gesperrt ist und nur außerwählte IDs abbaubar sind? Ich nutze PEX!
Danke schon mal ;) mfg heroldini
@VietNg
PEX breaks CraftBukkit ? I don't see that, though. Pex uses some things that are probably not intended, but in my opinion PEX is the plugin amongst the other plugins that mostly does it right, whatever it has to do to achieve so :) - but if you encounter trouble with it... bPermissions certainly is a good choice too.
Actually RSP would also work with superperms, though filter permissions would not get saved and it is not a fully featured permissions plugin. But the dynamical stuff can and probably should be done with the transient-groups only.
I probably change to bPermission soon since PEX breaks craftbukkit in a source code level. This plugin has lots of value :)
@ProfX66
At a glance:
The priorities only take effect for groups that are handled inside of RSP:
RSP can't control if permissions get overridden reliably with negation for you permissions plugin, only if you handle those permissions completely inside of RSP the priorities will take effect. That usually is not an option for complete permission setups though, rather for several entries.
So my suggestion is to add the normal (positive) permissions by using transient-groups with a permdef that you add for the worlds (global region), still controlling with a filter perm who gets it at all. Then the removing of the permission with transient-groups and permdef priorities should work reliably.
I think there is a simplistic example in the examples section.
Another note:
(I might have a closer look later, just now can't.)
I'm trying to get this to work right, its very possible that its a PEX issue.
So on my server we have donation ranks and i want to deny all permissions from users in a specific region.
So i created the following group in PEX: http:pastebin.com/L5NrJjNf
I can get the Gamers group to be added to who-ever walks into the region, however, their donation group is still in their permission node and the Gamers group doesn't deny any perms to the user. Now i set the weight lower then all the other groups, assuming that it will take priority. That doesn't seem to do anything, except when they chat, their group shows as the Gamer group.
Here is the RSP config: http:pastebin.com/RwuvuKYK
The filter perm is added to the other groups, just in case it helps.
My feeling is that either PEX doesn't allow a higher priority group taking full control of perms, or there needs to be a feature added to your plug-in. It would be cool if you could make it save what group(s) the user has upon entry and then remove them, while setting the group per the RSP config. Upon exit, their old groups are restored and the Gamers group is removed.
Is there any light you can shed on this for me? Thanks in advance.
Vielen Dank, der erste deutsche Plugin Developer, den ich kennen gerlernt habe ;)
Ich werde es probieren, wie du es mir nochmal detailiert erklärt hast.
Danke :)
@Dustburn
Ja.
Beispiel für Region "simpleitemregion" in der Welt "world" für Spieler die die Permission "rsp.filter.simpleitem":
@asofold: also bist du auch deutsch oder wie ? ^^
ich möchte permissions von simpleitempermission in bestimmten Zonen für bestimmte Leute nur zugänglich machen
@Dustburn
What do you want to achieve with RSP? (you can use german too, here)
i just dont know how to set up your plugin man, i dont become clear of what you wrote for explanation
im using permissionsEx
can someone help me ?
im german ...
I know that Essentials arbitrary overwrites every other command that comes in conflict. In the configuration of Essentnials you can define if Essentials should handle deathpoints and /back commands. This is to not get problems with other plugins that use the /back or similar functions. But I'm trying to find a good replacement for Essentials anyways.
But thanks for all your help.