Inactive [ADMN/DEV] PermissionsEx (PEX) v1.19.5 - Tomorrow is Today! [1.4.6-R0.1]

Discussion in 'Inactive/Unsupported Plugins' started by t3hk0d3, May 21, 2011.

  1. Offline


    Version: 1.19.5


    PermissionsEx (PEX) is a new permissions plugin, based on Permissions ideas and supports all of its features. But PEX is more! It offers different backends, powerful ingame management, fine grained restrictions for world modification.


    Current features
    1. Bukkit Permissions (SuperPerms) compatible.
    2. Several backend support. Currently bundled backends is File (YAML) and SQL (MySQL, SQLite). Also it's possible to add your own.
    3. YAML backend, with new, fully rethinked, config schema. Now all user, groups and their permissions are stored in one file - permission.yml. BTW file name is adjustable too.
    4. SQL backend, most delicious. Currently MySQL and SQLite supported, but other DB (like Postgre) are possible too. PEX deploys the DB scheme (tables and initial data) automatically. This means, that you only need to provide data on how to connect to the db, everything else PEX will handle by itself.
    5. Flexible architecture and API - you can change a lot programmatically.
    6. Compatibility layer with TheYeti's Permissions (2.7.4) (as a separate part of the plugin). In most cases plugins, which use Permissions, will alsowork with PEX also.
    7. Rich chat/console command interface. You can do almost everything ingame. Command list below.
    8. Modifyworld - Embedded restrictions mechanism (we call it "modifyworld"), which provides the possibility to control players abilities, such as destroying/placing blocks, riding carts/boats or even getting spotted by mobs and much more. Disabled by default.
    9. Multigroup inheritance. User, as well as Group, can be member of several groups. And inherit their permissions, options and prefix/suffix.
    10. Permissions based upon Regular Expressions. This mean you can use regular expressions. Example: modifyworld.blocks.(destroy|place).(3|12) - this permission allow place or destroy only sand (12) or dirt (3) blocks. There is still limitation on dot usage in your regexps - dots are escaped by default.
    11. Multiworld permissions. Just don't specify world and permission would work in any world.
    12. Multiworld inheritance. You can inherit different groups in different worlds.
    13. Easy migration from Permissions 2.x. Converter for both YAML and SQL are embedded into PermissionsCompat. Just use simple instruction.
    14. Perfomance friendly. Low-level caching helps alot when you have 100+ online users :)
    15. Promotional/Demotional system. You can assign ranks to groups and promote/demote users to higher/lower ranked group.
    16. World-inheritance - permissions/option of one world can be inherited by another world.
    17. Timed Permissions - you can give user permission only for some amount of time.
    18. Chat Manager - small chat plugin, bundled with PEX. With prefixes/suffiex and colors. Check wiki for more details.


    Basic setup tutorial (Thanks to lycano)

    Nice tutorial made by Bennetman

    Stable version

    Development version (mostly stable) - always lastest dev build.



    Maven Repository

    Join us on #permissionsex, Feel free to ask any related questions.

    Tools !NEW!
    Pex Auto-Setup Tool - MySQL and FlatFile !

    Show Changelog (open)
    Proper intervals for timed commands (both group/permissions management), without pesky seconds calculations (like /pex user t3hk0d3 timed add cool.permission 10days)
    1.4.6 compatibility.

    Built for Bukkit 1.4.2-R0.1
    Added inventory permissions (modifyworld.items.put/take.<item>.of.<chest>)
    Added item hold permission (modifyworld.items.hold.<item>)
    Sdded monster egg spawn permission (modifyworld.spawn.<creature>)
    Few other minor fixes
    Modifyworld improvements (configurable messages, now independent from PEX)
    /pex help command
    Minor improvements and bugfixes
    New modifyworld permissions
    Some bugfixes
    Bugfix release
    Bukkit R6 compatible.
    Several bugfixes!
    Permissions now case-insensetive.
    Users logging and cleanup feature.
    Non-inheriting nodes feature.
    Several Bugfixes.
    PermissionsCompat is finally remove from default bundle.
    User/group specific management permissions (
    Fixed some superperms compatibility issues
    Fixed several bugs
    SuperPerms compatbility bridge were rewritten - no lags anymore and now with debug output (now you can view superperms checks).
    Numerous of bugs were fixed (Thanks you guys for reporting them)
    Modifyworld were improved (modifyworld.item.use)
    Compatiblity for 1317+
    Fixed perfomance issues with SuperPerms (if you still experience they try to disable "raw-permissions" in config.yml)
    Fixed issue with prefix inheritance
    Improved Options mechanism.
    Auto saving new users feature, disabled by default.
    SuperPerms bridge improved - more permissions supported by wildcards.
    File backend dumping now fully functional. SQL dumping is still bogus (do not dump world-specific inheritance and prefixes), will be fixed soon.
    Many bugfixes and minor improvements.
    Superperms (BukkitPerms) support
    Multiworld inheritance and prefixes/suffixes
    Groups weighting
    ChatManager, chat plugin which bundled with PEX.
    Modifyworld now separate plugin, but still bundled with PEX.
    API changed slightly, CustomEvents (PermissionsEntityEvent, PermissionsSystemEvent) introduced.
    Many lesser improvements and tons of bugfixes.
    API get slightly improved
    Ranking ladders.
    User/group name case-insensetivity.
    Timed permissions.
    Modifyworld rules are get improved.
    Tons of minor improvements and bugfixes.
    Many bugfixes and improvements.
    MySQL connection stability improved - reconnection mechanism.
    Promotional/Demotional system.
    Perfomance improvement, with new low-level caching system (thx Joy)
    Modifyworld improved.
    Many lesser improvements and bugfixes.
    New p2compat backend, for easy migration from Permissions 2.x to PEX.
    Users/Groups dumping (pex dump <backend> <file>).
    New commands pex promote/demote. Actually this is just aliases for "pex user group set/remove"
    Few bugfixes.
    Players now can be informed about changes (has been added to group, changed permission/option). Disabled by default - set "permissions.informplayers.changes" to "true"
    Config node "permissions.verbose", which responsible for player informing about modifyworld restrictions has been renamed to "permissions.infromplayers.modifyworld".
    Autocomplete has been improved.
    New command "pex config <node> [value]". This command help to manipulate configuration file (config.yml) from console/chat interface.
    Many bugfixes.
    Autocomplete for users (taken from registred users and online users) and groups names.
    New command for user removing (pex user <user> delete)
    Fixed several nasty bugs. Thanks for bugreports!
    Compatibility layer loading order issue fixed. Now most of plugins should work.
    Tested with new CB 803 build.
    Regular expression permissions support.
    Newer permissions now added above (bugfix).
    Several bugfixes.
    Initial public release.
    BRampersad, grid21, MrRazull and 71 others like this.
  2. Offline


    And still, i cant get sleep, next problem:
    Altho the prefix is working, it looks ugly nomatter how i configure it.
    Atm I have it '&f(Admin) &6' but it just looks ugly cause the
    > is still there, so my name will look like
    <(Admin) cheti
    > and it also colors the last
    > and leaves the first
    < white...
    e// and i have no idea why the bigger/smaller symbol automatically throws my text on the next row...
  3. Offline


    tried this but it failed, do u have eg to share?
  4. Offline


    I tried the format in the 2nd example already, but the groups aren't passing perms to other groups.

    The last saved permissions.yml:

    Green is good, red is bad:
    The Nobleman group isn't attacked by creepers. (Line 25.)
    • The Noblewoman group needs to inherit everything from the Nobleman group. (She gets attacked.) (Line 38/39.)
    • The Guardian group needs to inherit everything from the Nobleman group. (They get attacked.) (Line 46/47.)
    The Lord group needs to inherit everything from the Guardian group (and has invisibility to all monsters). (Line 54 works, Guardian didn't have anything to pass -yet-..)
    • The Lady group needs to inherit everything from the Lord group. (She gets attacked.) (Line 64/65.)
    • The Owner group needs to inherit everything from the Lord group. (I get attacked.) (Line 71/72, shows I even tried quotation marks instead of just apostrophes, to no avail.)
    And isn't the config case sensitive? So your 2nd example of
            - member
    would not inherit anything because it's actually "Member", right?

    I've been messing with this thing so much by now, I can't even break blocks with '*' in the Owner group. -.-


    The problem has something to do with the '*' as far as I can figure.
  5. Offline


    OH! Thank you for clarifying this!
  6. Perfect. Thank you for posting all that. I wish more people would be as detailed.

    Now, lets see....


    Well, I'm sorry to say that aside from the last case (the owner group), I wasn't able to reproduce anything. The only thing that I can mention is that if a mob targets someone, it will keep that target even if they are promoted to a group where -modifyworld.mobtarget.* kicks in. Once that node is in affect for the player, only new mobs will be held to that setting.

    As for the owner group, yes, the * seems to be found first before all the rest. Looking at the output of pex user $player, it appears that PEX will evaluate the current group permissions before inherited ones. So as the owner, PEX looks at your current permissions first (*) then looks at the ones from Lord, then Guardian, then one of the nobles, and so one down the line.
    20:06:38 [INFO] Player are member of:
    20:06:38 [INFO]    Owner (not ranked)
    20:06:38 [INFO] Player 's permissions:
    20:06:38 [INFO] 1) essentials.spawnmob (own)
    20:06:38 [INFO]    * (from Owner)
    20:06:38 [INFO]    -modifyworld.mobtarget.* (from Lord)
    20:06:38 [INFO]    * (from Lord)
    20:06:38 [INFO] (from Nobleman)
    20:06:38 [INFO]    modifyworld.* (from Nobleman)
    20:06:38 [INFO] (from Nobleman)
    20:06:38 [INFO]    scavenger.scavenge (from Nobleman)
    20:06:38 [INFO] (from Nobleman)
    20:06:38 [INFO]    modifyworld.* (from Citizen)
    20:06:38 [INFO] (from Peasant)
    20:06:38 [INFO] bar's options:
    For the owner group, because of the group membership perms are checked first, I would add -modifyworld.mobtarget.* before the * for the owner group.

    The config is case sensitive when it comes to node names and sections (groups:, permissions:) but group names doesn't seem to be quite as picky. I've seen both, but I try to keep the case the same, if for thing else, pure paranoia.

    EDIT: Added this info to the wiki as well.
    Stormbow likes this.
  7. Offline


    Ok, thanks for looking into all that for me!

    PS - How'd you get that permission list? What was the command for that?
  8. From the console (will work in-game as well, just add the / at the beginning. Personally, I run from the console for things like this, much easier to read especially if chat is busy), run pex user $PLAYER.

    For SQL backends, it's a necessity since one can't just pop open a permissions.yml file and take a look.:)
  9. Offline


    I just downloaded this and all commands are working, but whenever someone destroys a block it reappears. P.S. there is no protection where this is occurring.
  10. Offline

    Timothy Graham

    does this permissions work with the new 1.0.1-R1 build?
  11. Offline


    Yep, that's what I've been working from. The inheritance and '*' wildcards aren't compatible, but other than that, everything works.
  12. Offline


    Does the chatmanager support factions or do i have to use something like herochat?
  13. Offline


    so apparently, alerter v1.41 doesnt want to work for me anymore with the pex plugin. Its giving me this error.
    Running latest bukkit for MC 1.0.1 R1
    Running latest pex (last I checked) v1.17

    2011-12-18 02:13:45 [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'al' in plugin Alerter v1.41
        at org.bukkit.command.PluginCommand.execute(
        at org.bukkit.command.SimpleCommandMap.dispatch(
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
        at net.minecraft.server.MinecraftServer.b(
        at net.minecraft.server.MinecraftServer.w(
    Caused by: java.lang.NullPointerException
        at me.Patrick_pk91.area.Area.controlla_opp(
        at me.Patrick_pk91.alerter.Alerter.onCommand(
        at org.bukkit.command.PluginCommand.execute(
        ... 7 more
  14. Offline


    Im not sure why but mine is stuffing up!
    Heres my permissions.yml file contents

    default: false
    - modifyworld.*
    - essentials.balance.*
    - essentials.balancetop
    - essentials.afk
    - essentials.list
    - essentials.msg
    - essentials.nick
    - essentials.nick.color
    - essentials.mail
    - essentials.mail.send
    - essentials.afk
    - essentials.helpop
    - essentials.rules
    - essentials.suiside
    - essentials.home
    - essentials.sethome
    - essentials.tpa
    - essentials.delhome
    - essentials.tpaccept
    - essentials.tpdeny
    - essentials.warp.*
    default: true
    - modifyworld.*
    - essentials.kit.*
    - essentials.balance.*
    - essentials.balancetop
    - essentials.afk
    - essentials.list
    - essentials.msg
    - essentials.nick
    - essentials.nick.color
    - essentials.mail
    - essentials.mail.send
    - essentials.afk
    - essentials.helpop
    - essentials.rules
    - essentials.suiside
    - essentials.home
    - essentials.sethome
    - essentials.tpa
    - essentials.delhome
    - essentials.tpaccept
    - essentials.tpdeny
    - essentials.warp.*
    default: false
    - '*'

    Any idea?
  15. Offline


  16. Offline


    Is this easier and better than Permissions? I need an Permissions Plugin for my server but Permissions isn't updated yet but this is. Is this better or just an Add-on of Permissions?
  17. Offline


    My server is running you PermissionsEX now for 3 months and love it took me some time to get it running right but got it. My is at 1.0.1 how soon will this be updated to this build? Or can you send me where I can get an earlier version?
    Thank You BT
  18. Offline


    OK, maybe i have PEX config wrong

  19. Hey !
    My permissions work now , almost :(
    I´m Admin on the server and some more players to but the problem is :
    I can do everything on the server (place and remove blocks,commands and so on )
    But my friend (Admin) cant, or can do some stuff but not all :/
    Any ideas ? I use MySQL so i dont have any permissions.yml files.
    But I know that I gived Admins '*' and my friends '*' :/
  20. Offline



    Little problem for me, I didn't give the '*' perms for the admins.... But all the admins have all perms.... They can do everything, but I don't wan't this !
    Any idea ? Perhaps something with the ops.txt file...

    Perhaps something wrong in the config file ?
  21. Offline


    Which one should i use for 1597 "stable version" or "Development version" (mostly stable)
  22. Offline



    When I add "permissions.manage.membership" to my moderator group, they cannot promote. Wat do
  23. Offline


    If I want my Admins to have the same permissions for every world, should I just not use the world: part?
  24. Offline


    I have a small bit of trouble with this... I'll just re-type everything here.

    Show Spoiler
    [SEVERE] while parsing a block mapping; expected <block end> but found Scala initializing PermissionsEx 1.17 (Is it up to date?)
    while parsing a block mapping
    in "<reader>", line 1, column1:
    expected <block end>, but found Scalar
    in "<reader>", line 6, column 2

    at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(
    at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(
    at org.yaml.snakeyaml.composer.Composer.composeNode(
    at org.yaml.snakeyaml.composer.Composer.composeDocument(
    at org.yaml.snakeyaml.composer.Composer.getSingleNode(
    at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(
    at org.yaml.snakeyaml.Yaml.loadFromReader(
    at org.yaml.snakeyaml.Yaml.load(
    at ru.tehkode.permissions.config.Configuration.load(
    at ru.tehkode.permissions.backends.FileBackend.initialize(
    at ru.tehkode.permissions.PermissionManager.setBackend(
    at ru.tehkode.permissions.PermissionManager.initBackend(
    at ru.tehkode.permissions.PermissionManager.<init>(
    at ru.tehkode.permissions.bukkit.PermissionsEx.onLoad(
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(
    at org.bukkit.craftbukkit.CraftServer.reload(
    at org.bukkit.Bukkit.reload(
    at org.bukkit.command.defaults.ReloadComman.execute(
    at org.bukkit.command.SimpleCommandMap.dispatch(
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
    at net.minecraft.server.MinecraftServer.b(
    at net.minecraft.server.MinecraftServer.w(
    [WARNING] [PermissionsCompat] PermissionsEx plugin not found. Some plugins may not work.

    And here is my permissions file (it's set up for server setup)
    Show Spoiler




    default: true


    - -'*'


    - default


    - '*'

    EDIT: I forgot one thing, when I tried to get in a cart to test the cart system of the world I was setting up at that moment, the server kicked me and removed me from ops.
  25. Offline


    Could you add the quirk that was introduced in 1.16? I think a lot of people may be having issues with that one.
    Before checking permissions (but after outputting debug info), Pex converts the permission request string to lowercase, resulting in this problem:
    User Sporadisk checked for "multiverse.access.Kelewan", no permission found
    Sporadisk's permissions:
    This means that permission configs with uppercase characters that worked in other plugins, or in pex versions prior to 1.16, are now broken, and the admin is given almost no indication of what might be wrong.
    Justin The Cynical likes this.
  26. Offline


    I have the same problem
    I turned on the debug mode but i dont get any errors regarding that
    only "cant find permission: multiverse...."
  27. PEX is a replacement for the old (and now dead and discontinued) permissions 2 and 3 series. It takes a lot of the theory and ideas behind those permissions plugins and adds more.

    Is it better? I think so, a lot of others do as well, and there are others who hate it for various reasons. It all depends on your needs for your server and your point of view.

    There isn't really anything to update. 1.0.1 is the first RB after the 1.8.1 (1337) build, which is what PEX 1.17 is built for (1.16 worked as well). I think the first post is referring to the minecraft version, which is still 1.0.0. 1.0.1 was primarily a bug fix for the problem clients were having joining a server.

    Might be. However, you didn't use code tags, so it's impossible to tell. PEX uses the YAML format for it's files, and not using code tags in the forum destroys the formatting.


    pex hierarchy will show just the inheritance path, if any
    pex group $group_name will show the permissions for the entered group (with inheritance)
    pex user $player will show the permissions for just the user entered (with inheritance)


    With the SQL backend running, you can try this:

    pex dump file testing.out

    This should create a file named testing.out, which will contain your permissions settings in a file backend format, and post that.

    (I just figured this out. Must add this to the wiki somewhere...)

    It could be either one. I'd blank out the ops.txt file (it's not strictly needed) and post your permissions so it can be looked at.


    That node is for group management (pex user $FOO group set $GROUP). You want to look at the permissions.user.promote and permissions.user.demote nodes. (A few lines below the manage.membership nodes in the wiki)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Sep 9, 2018
  28. Offline


    well i have a problem and is that when i turn my server all but when any no-admin want write a command
    ( sethome home spawn warp )
    this tell me
    You do not have access to that command
    But in the console when i type pex user Rhumy this tell me:
    07:53 PM [INFO] Rhumy are member of:
    07:53 PM [INFO] default (not ranked)
    07:53 PM [INFO] Rhumy's permissions:
    07:53 PM [INFO] commandbook.spawn (from default)
    07:53 PM [INFO] commandbook.return (from default)
    07:53 PM [INFO] (from default)
    07:53 PM [INFO] commandbook.home.teleport (from default)
    07:53 PM [INFO] commandbook.home.set (from default)
    07:53 PM [INFO] commandbook.warp.teleport (from default)
    07:53 PM [INFO] commandbook.whereami.compass (from default)
    07:53 PM [INFO] commandbook.whereami (from default)
    07:53 PM [INFO] Rhumy's options:

    please help me :S i want fix this problem to make a good server.

    sorry for my bad english i do not speak
  29. Only if you have all your other permissions set up as world specific. Adding a permission node that is not under a world: heading will apply it globally.
            permissions:   <- global permissions, applies to all worlds
            - creativity.allworlds
            - essentials.gamemode
            - Users
                    permissions:    <- world specific permissions, applies only to the world named creative
                    - mywarp.warp.*
                    - mywarp.warp.soc.*
                    - ucreate.notch
                    - ucreate.teleport
    Well, that error is claiming that you have a typo in a config file. Going by the line it shows, I'm guessing your permissions file. However, you didn't use code tags, so the forum software destroyed the formatting. If you edit your post and replace the spoiler tag with code (or add code tags into the spoiler section) and paste it in again, the formatting should be preserved. Also, there is a link to an online YAML parser in the first post, it can help with finding these errors and verifying that your file is formatted correctly for the YAML standard.

    Good idea.

    Added to


    Well, what node is the debug output showing that isn't part of the group? I use multiverse as well, and the permission nodes it uses can be a bit of a pain to get set right.

    You need to post your permissions settings in code tags. There could be any number of things that are off. This, unfortunately, is not enough to tell.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Oct 10, 2018
  30. Offline


    Disabling Creeper seem to have no effect....
  31. Offline


    Hi, my mods get the message:

    "Don't have enough permission for group GROUPNAMEHERE" when they try to promote.

Share This Page