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. So you mean that you just make one text file like you´re up here and copy and paste in the console ?
  3. Offline


    Right now. :)
  4. Offline


  5. Offline


    Really when i put it in my plugins folder and restart my server...then type /plugins chat manager is red instead of green...and is disabled?
  6. Offline



    I'm having an issue with our permissions. We have it set so guests aren't allowed to build/destroy anything except in a certain world. However, the permissions is failing and allowing guests to build in a world not mentioned in the permissions. Here's the guest perms:

            default: true
            - essentials.who
            - essentials.list
            - essentials.motd
            - essentials.rules
            - stargate.use
            - modifyworld.sprint
            - modifyworld.sneak
                rank: '1000'
                    - towny.wild.*
                    - modifyworld.*
            prefix: '&7Guest '
    CB Build 1597 1.0.1.
    PEX Version 1.16.

    I tested it again after posting this, and guests could break logs and clay but couldn't break glass, gravel, or dirt/grass. I have no idea what's wrong.
  7. Offline


    Per normal "help me" request procedure, post your permissions and config files in code tags.

    It's working fine for me in RB 1.0.1.

    Plugin is green (click):

    Plugin in effect (click):

    See also, my post below.
  8. Offline


    Ok, got the pex config set up for mysql.
    However, when trying to run a command with it ingame it says internal error.

    Viewing the logs shows this.

    Any help would be awesome!
    I'm also in the Permissionsex irc channel if you are able to assist there.

    Edit - Sorry forgot to include my config. Here it is :p.
  9. Offline


    Make sure you have the ChatManager config.yml set to "enable: true". I think it's false by default.
  10. Easy fix, as far as the config file goes. :)
    This needs to be:
    uri: mysql://
    For reference,
    SQL backend configuration section, MySQL example.

    Please don't bump a post like this. As you can see by the lack of a quote above, it breaks the quoting. Now, as for your questions:
    • pomme72 can chat
    Using your permissions you listed, I am unable to reproduce this one (I can't chat)
    • pomme72 can use stone pickaxe (274)
    Looking at the debug output, I see where the wiki is incorrect (I've also fixed it:)). The node you want to use is modifyworld.item.use.<itemid>.on.block.<blockid>, where <itemid> would be the item you want to limit (274 in this case) and <blockid> can be whatever you want. If you wanted to limit a player from using the stone pickaxe on everything, you would use * to cover every item in the game.
    • pomme72 can pick up pig-food (319)
    This one is an error in your permissions file. The node you want to use is modifyworld.items.pickup. You have modifyworld.item.pickup (note the lack of an S).

    Hey, can I make a suggestion to make that list a bit smaller?:)

    Regex-based permission nodes to the rescue! (You will love this).

    With a regex-style line, everything with a pair of parentheses ( ) are considered as part of the node. A pipe | is an and/or, and a dash - is an iteration.

    So take just your pickup nodes:
            - -modifyworld.items.pickup.276
            - -modifyworld.items.pickup.277
            - -modifyworld.items.pickup.278
            - -modifyworld.items.pickup.279
            - -modifyworld.items.pickup.283
            - -modifyworld.items.pickup.284
            - -modifyworld.items.pickup.285
            - -modifyworld.items.pickup.286
            - -modifyworld.items.pickup.293
            - -modifyworld.items.pickup.294
            - -modifyworld.items.pickup.310
            - -modifyworld.items.pickup.311
            - -modifyworld.items.pickup.312
            - -modifyworld.items.pickup.313
            - -modifyworld.items.pickup.314
            - -modifyworld.items.pickup.315
            - -modifyworld.items.pickup.316
            - -modifyworld.items.pickup.317
    And reduce the 18 lines here to this one line:
            - -modifyworld.items.pickup.(276-279|238-286|293-294|310-317)
    This checks for items 276-279 and/or 238-286, and/or 293-294 and/or 310-317. Repeat as necessary for the have and use nodes. Test before committing to production, of course.;)

    There could be a line/item length limit that I'm not aware of, but I'm 99% sure that will work for you.:)

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


    That is exactly right.
  12. Offline


    Trying that right now! Thanks!


    And it works! Fantastic!! Thank you!
    Justin The Cynical likes this.
  13. Offline


    Prefix no work D:

    Also, in the world "Survival World," even though I'm admin and my permission should allow me to, I can't set spawn. there's a test class right under admin called pureadmin with access to everything in all worlds and I can set spawn with that, so I'm guessing the conflict comes from my initial
    - -commandbook.*

    which I try overriding with

    - commandbook.setspawn

    can I not override things? (I'm trying to make survival world as "survival" as possible. Even for admins.)
  14. Put the allow nodes before the mass deny node. PEX works from a top-down viewpoint with the file backend. First node it finds that matches a permission check is the one it goes with. In the case of your linked permissions file, it finds the -commandbook.* node before it finds the commandbook.setspawn node, thereby denying the access.

    The prefixes, I don't know for sure. What chat manager are you using? If it's chatmanager that comes in the PEX archive, make sure it's enabled in it's config file (by default it doesn't turn itself on).
  15. Offline


    So, what setting or combination of settings do I need to allow superperms parent permission nodes to be correctly handled? I have this config.yml:

                file: permissions.yml
        backend: file
        basedir: plugins/PermissionsEx
        createUserRecords: false
        debug: false
        allowOps: false
            disable-unmatched: false
            enable: true
            matched-permissions: true
            debug: true
            raw-permissions: true
            strict-mode: false
            parent-nodes: true
    This is the relevant part from my plugin's plugin.yml:

        description: Gives access to very basic SMS functionality (no permission elevation)
          scrollingmenusign.scroll: true
          scrollingmenusign.execute: true
          scrollingmenusign.execute.elevated: false
          scrollingmenusign.use.sign: true
        description: Gives access to basic SMS functionality
          scrollingmenusign.guest: true
          scrollingmenusign.execute.elevated: true
        description: Allows menus to be scrolled
        default: true
        description: Allows menu items to be executed
        default: true
        description: Allow execution of menu items which bypass permissions checks
        default: true
    And here's the relevant part from my permissions.yml:

            - Default
                world: {}
            default: true
            prefix: '&d'
            - scrollingmenusign.user
    But when my plugin tests for 'scrollingmenusign.use.sign' (or any of the other child nodes of 'scrollingmenusign.guest', it's coming back false.

    I've tried various combinations of the settings under permissions.superperms. with no success. I'm using PEX 1.17 (via Vault 1.19).
  16. Offline


    Perfect plugin! Really just what i needed!
    I do have a request though. Is it possible to make it so that if someone have only joined 1 group and that group is not in the default ladder, i would not have to remember the ladder when demoting and premoting? so that "pex premote <user> would be enough if only in 1 group? Thx! :D
  17. Offline


    I asked this a week or so ago, but i'm still confused. How do I make it where my group called "newby" cannot build until I rank them up to a "member"? I want to put my server on a server list but i'm worried about the kids coming in and tearing everything up, so I want it where Newbys cannot place/destroy blocks, and cant use buckets. Thank you very much, sorry about having to ask again.
  18. Offline


    Hi iNubb.
    What i did (using MySQL) was to give the default group no other permissions than "/list" and chat.
    And then i created a group called "user" with modifying permissions.
    And then i gave the "default" a very high rank, and the "user" a lower rank (like in the tutorial examples), so that when i premote the "default" user, it will become "user".
    I then used inheritance so that the "user" group would also get the "default" permissions.

    So i gave these permissions to the "default" group: (so they can use the chat)
    bukkit.command.list (so they can use the /list command)

    and then i gave the "user" group these:
    modifyworld.* (So they can edit the world. Placing and removing blocks)
    bukkit.command.tell (so they can use the /tell command)

    Ranking command:
    /pex group default set rank 1000
    /pex group member set rank 900

    Adding permissions to group:
    /pex group default remove modifyworld.* (first remove building rights from default group)
    /pex group default add (adding chat permissions to default group)
    ... And so on...

    And at last. The inheritance command:
    /pex group member create default

    Hope this helps you! :) (I did this yesterday.. Thats why its fresh in my memory. ;D )
  19. Offline


    does someone know a solution with my problem that my moderators cant promote?

    if you need permissions and debug-log loock at my previous post at page 145 #4334

    They are able to use /pex but not /pex user group add
  20. Offline


    What exactly does modify world and permissions do?

    i just use chat mangaer and permissionsEX
  21. Offline

    Mr. X

    How can i Diasable TNT for a Group with Modifyworld?
  22. Offline


    When i try the in game commands it says internal error what should it do?
  23. Offline


    Well I'm a derp. I forgot to enable chatmanager.

    The permissions worked beautifully as well. Thanks a million!
  24. Offline


    Give them
    at the top of their permissions list.

    Modifyworld features can be found HERE. Note the "Next:" links at the bottom of each page. Those links will walk you through installation, configuration, and permissions.

    Permissions are what you allow (or disallow) players (Visitors, Members, Mods, Admins, and even your own character) to do on your server.

    You can read all about disabling TNT HERE. You can stop them from destroying, placing, interacting with, picking up, dropping, having, and using TNT.

    Post your config.yml, permissions.yml, and any error messages inside CODE tags.
    (It's the { }# button above where ya type here.)

    Once you do that, someone can take a look and try to figure out what's wrong.

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


    So I would put in the command "pex group Newby add"? Thats the only permission for Newbys, so it would be at the top of their list.
  26. Offline


    pex group <group> add <permission> [world]​

    And be sure the permission is typed correctly:
    with no space between the 2nd DASH and
  27. Offline

    Keillen hayes

    Hey, Is there any way i can use a nickname with chatmanager?
    When i set my nickname it dont show?
    Can somone please tell me how to make it so i can see my nickname thanks.
  28. Offline


    On "Admin" group with permission '*' dont work bukkit command "ban-ip", and banned ip can logon under user name from admin group
  29. Offline


    The information about the config file is outdated on the wiki (i.e. this page). I can't figure out how to set up SuperPerms settings for PEX 1.17 so that it works the same as PEX 1.14 did. Please update that page! Thanks.
  30. Offline


    What if I try to add a group like builder, what do I press to make it go down to the correct area to make a new group? Also what if the text turns red?
  31. Offline


    Remove the second dashes from your perms.

Share This Page