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


  • 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.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of asofold asofold Mar 23, 2015 at 10:57 UTC - 0 likes

    @Vlaminations: Go

    Ok, i will check this then.


    Latest beta release (+ 1.8.3, approved) NoCheatPlus 3.12.0-RC-sASO-b813
    (Development builds, 1.8: Jenkins)

  • Avatar of Vlaminations Vlaminations Mar 21, 2015 at 16:24 UTC - 0 likes

    @asofold: Go

    Oh yes, sorry for the late reply. But it doesn't work with how the latest Worldguard works. I am not able to send you an error message at the moment, but it should be reproducable by trying yourself with the latest WG version.

    Click me!

    ♦ Server IP • ♦

  • Avatar of asofold asofold Feb 16, 2015 at 11:09 UTC - 0 likes

    @Vlaminations: Go

    Are there actual issues with 1.9.1?

  • Avatar of Vlaminations Vlaminations Feb 15, 2015 at 09:19 UTC - 0 likes

    Hey, could you update RSP to support the latest version of Worldguard?

  • Avatar of asofold asofold Nov 09, 2014 at 14:41 UTC - 0 likes

    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.

    Last edited Nov 09, 2014 by asofold
  • Avatar of asofold asofold Oct 29, 2014 at 10:26 UTC - 0 likes

    @Si7VdeR: Go

    Did you read this:

    (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:

    # Handle permissions inside of RSP (transient permissions):
      - essentials.bed.spawn
      - -essentials.bed.spawn
    # Define side conditions of manipulating groups:
        # Priority 0 is the default value, it can be left out.
        priority: 0
          - BedSpawn
        # Set a higher priority, to ensure removal.
        priority: 100
          - NoBedSpawn
    # Finally tell RSP where to apply changes to permissions:
        # Add the permission everywhere with __global__:
        - DefBedSpawn
        - DefNoBedSpawn

    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.

    Last edited Oct 29, 2014 by asofold
  • Avatar of Si7VdeR Si7VdeR Oct 28, 2014 at 20:55 UTC - 0 likes

    @asofold: Go

    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.

  • Avatar of asofold asofold Aug 04, 2014 at 21:22 UTC - 0 likes

    @killerbyte12: Go

    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 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 !?

  • Avatar of killerbyte12 killerbyte12 Aug 04, 2014 at 13:45 UTC - 0 likes

    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 permission

    - If their IGN matches the name of the region either do nothing or re-give the perm

    ( So it would need to work in that order)

    When a player leaves a region:

    - Give 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?

  • Avatar of asofold asofold Aug 04, 2014 at 10:36 UTC - 0 likes

    @killerbyte12: Go

    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 ?)?

Table of contents

  1. 1 Maintenance Phase


Date created
Jan 11, 2012
Last update
Nov 09, 2014
Development stage
GNU Lesser General Public License version 3 (LGPLv3)
Curse link
Region specific permissions
Recent files