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


    Okay, I have 2 questions. The first one is how do I make my rank "Newby" not able to place any blocks? I know you type in "pex group Newby add (permission)" But what is the exact permission called? And the second one is what is the command to let my group Moderator have access to all Worldguard functions? Hope to get an answer, Thanks!!!!!
  3. Offline


    I'm having trouble with this:

    Debug output:
    User Sporadisk checked for "multiverse.access.Kelewan", no permission found
    Snippet from permissions.yml:
            - multiverse.access.Kelewan
    Snippet from output from the command "pex user sporadisk list":
     Sporadisk's permissions:
    I moved the permissions from sql to file in order to be able to debug this, but the yaml file parses without issue, and since pex has in fact registered the permission, the problem probably isn't related to use or syntax anyway.
    So, why does this happen?

    I found out that since v1.16, PEX converts permission requests to lowercase before checking if the user has the corresponding permission. Unfortunately, it does not convert the user's permission to lowercase. Thus, any permissions that are not all lowercase will fail to be recognized.
    Working around the bug is easy as soon as you know it exists: Make sure all permissions are declared in lowercase. :)
  4. Offline


    1) You can always give the permission '-' to the group Newby by typing:
    pex group Newby add
    And then proceed to remove the '- modifyworld.*' from the Newby group by typing:
    pex group Newby remove modifyworld.*
    this way, the people in group Newby will only be able to chat and won't be able to place or destroy blocks.

    2) Last time I checked, WorldGuard didn't have permission nodes. Sorry :/ Here's a quote:
  5. Offline


  6. Offline


    Don't take my comments the wrong way they are only to help. I made similar mistakes at first as well.

    Next time I suggest just using the code tags here. Which are... [code ].....[/code].

    First issue I see is that there is no : after a few things and nodes no longer need ' ' except -'*' (I believe)

    oops hold on...
            - Member
            - modifyworld.*
            - '*'
                    - permission.node
                    prefix: '&7[Admins R Boss!]'

    Few things to make sure:

    1. Make sure you have a default set.
    2. Your group names need to mach. If Member inherits loser and its call losers then it won't work. (By the way not an inviting name). Also if your default is Member why inherit loser?
    3. Prefix and suffix go in a different section under the world information. Options is for rank. So you could just leave options blank I think.
    4. 4 space for indents (don't use tab to be safe).
    5. Make sure you have the users in this yml.
    6. Look at the documentation again it will help.[/code]
  7. It might be because no one else has run into this.:)
            - Guest
            - -modifyworld.items.have.46
            - modifyworld.*
    PEX debug mode on, server console log:

    15:42:26 [INFO] CONSOLE: Giving bar some 46 (TNT)
    15:42:28 [INFO] User bar checked for "modifyworld.items.have.3", "modifyworld.*" found
    15:42:28 [INFO] User bar checked for "modifyworld.items.have.46", "-modifyworld.items.have.46
    " found
    In game, as soon as it finds the negation node for the tnt, it gets yanked from the player.

    Why @nick4980 is seeing the 0 at the end of the node check, I don't know. I seem to recall seeing someone else in the thread (this was quite a few pages back) that had seen this as well, and it appeared that modifyworld was looking at which side of the block an item was placed, but it was also the dev version of 1.17 that was being used.

    My wild guess is that nick is using a dev version of PEX, not the release version, but that is a wild guess.
  8. Offline


    I made myself a newby and I could still destroy blocks... :/
  9. As I understand it, at this point you have two options:
    • Modifyworld is not turned on in the modifyworld config.yml (not the PEX config.yml mind you)
    • You have a misconfiguration in your permissions file, assuming you are using a file backend
    With either one, if you look at them and can't figure it out, you will need to post your configs in code tags or link to them on something like pastebucket so others can take a look and see.:)
  10. Offline


    I get this error when a user tries to perform a command, :

  11. Offline


    Great plugin, @t3hk0d3! I love the multiworld permissions. I also love how it's easy to use and also compatible with every single plugin I use (and I use about 50). However, there are a couple issues that have been bugging me for a while:

    Negation doesn't seem to work for me. I try this:

            default: false
            - '*'
            - -vanish.silentjoin
            - -vanish.silentquit
    But admins still log in invisibly.

    Also, could you please remove the need to specify a ladder to promote/demote someone if they are only on one ladder? I am using /pex promote <player> <ladder>, fyi.
            default: true
            - example.perm
                rank: '900'
                rank-ladder: main
            default: true
            - example.perm
                rank: '800'
                rank-ladder: main
            default: true
            - example.perm
                rank: '700'
                rank-ladder: main
    In this example, there is really no need to have to specify a ladder name if you are promoting a builder to advanced or something.

    Thanks for your time!
  12. Well, I'm not t3hk0d3, but I think I have some working answers for you.:)

    If you are using a file backend, the negation nodes need to come before the allow nodes.

            default: false
            - -vanish.silentjoin
            - -vanish.silentquit
            - '*'
    Unless you have multiple ranking ladders, I don't think you need to specify one. At least, I don't have the rank-ladder entry in mine (i only have the single ladder) and I'm able to promote/demote without specifying a ladder.

    BTW, thank you for posting this. I've added to the wiki an example section of the permissions file using multiple ladders.:)

    Unfortunately, this is a rather generic message that is shown when there is a problem.:( The cause could be a misconfiguration in one of your files causing PEX to unload itself, it could be another permissions manger is taking control over permissions before PEX can, thereby blocking it from doing anything (this is more of a guess since you didn't specify what command is being run).

    If you are using a file backend, you will need to post your permissions.yml (please use code tags or a link to pastebin) and your server startup log, starting at the bukkit version line.

    @t3hk0d3 (and everyone else)

    OK, a Troubleshooting and FAQ section has been started on the wiki.

    The only way it's going to get better is for everyone to make suggestions and stuff. :)

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


    If your not talking about the PEX config.yml file, where is this one you speak of? Sorry, im new at doing this, but the only config.yml i see is in pex
  14. Offline


    For me pEX is not inheriting commands as in the Mod is not getting the commands the VIP, BUILDER, and MEMBER are.
  15. I was up to changes from file to MySQL and could not contact the db for a time but after meesing around a bit I got it.
    But now when I setup the groups and so after the Basic permissions Setup , I did every thing from cmd first but when I got ingame with my buddy for testing . At first I try to set him to "Trial" on my server the server spams error . And after that I can do any commad on the server not even cmd work withuot error.
    I´am going to post some error logs on pastbin soon.
    Normal I post them dirrect here but I think it´s to big to post it here.

    Never mind got it but I had to remove my MySQL files :(
  16. Offline


    This is an awesome plugin! Just finished installing it on my server!
  17. Offline


    Ive installed everything correctly and the plugin is working fine, the only problem is, essentials.kit node isnt working for some reason :/
  18. Offline


    I'm sorry but I don't understand why this config file isn't working =(

    I think I fail with the multi world in the Membre group.
    Should somebody help me?

    Thanks for your time and for your future help =)
  19. Modifyworld has it's own config.yml file in the modifyworld directory. For future reference:
    Under the Important Notices section:
    Modifyworld is disabled by default. To enable it, check plugins/Modifyworld/config.yml

    For modifyworld to work, it has to be enabled in that file as well.

    You are going to help to put your permissions file up somewhere to be looked at to try and figure out what's going on. Inheritance is working for me.

    If you paste it here, please put it in code tags. Otherwise, link to a pastebin (or equivalent) dump of it.

    Ug essentials. In my experience, it's twitchy.

    What happens when you try to run it? And if you turn debug mode on in PEX (pex toggle debug in the server console), what is it showing when the command is run.

    *looks at your permissions file*

    Might I make a suggestion or two to help cleanup your permissions file?

    Lines 28-31:
            - essentials.kit.armor
            - essentials.kit.*
    The first three lines are unnecessary (tools, armor, kit). The kit.* line should cover all.

    The admins group permissions:
            - mcmmo.admin
            - mcmmo.*
            - '*'
            - announcer.admin
            - essentials.kit.*
    You have '*' in there. Nothing else should be needed as * gives access to all possible commands.

    Looks like you have some permissions.yml file problems.:)

    Per a YAML parser:

    while scanning for the next token
    found character '\t' that cannot start any token
      in "<unicode string>", line 58, column 1:
    PEX uses the YAML file format for it's config files. You have tabs in the file which is not allowed. You need to replace every tab in the file with four spaces and make sure every line is lined up correctly. The wiki and the first post have some example permissions.yml files that you can look at to compare formatting.

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


    Oh I found it.
    A blank lign between users and groups contains 2 tabs ><
    Sorry for my little problem, now everithing is perfectly working!

    Thanks a lot for your quick and effective answer!
    Justin The Cynical likes this.
  21. Glad to be of help and thank you for letting the thread know it's working!:)
  22. Offline


    yea, at first i had just the '*', but I still didnt have mcmmo permisions so i added them all, and at first I had only essentials.kit.* aswell, but it didnt work aswell so I added the armor, food and tools.

    Any more suggestions ?

    e/ tried the pex toggle debug, it just said debug enabled, what to do next?
    e// got the admin commands working with removing everything and leaving just '*'. Kits still dont work for default users :/
    e/// oh and did I mention, that prefix and suffix doesent work either..
  23. Offline


    Update this plugin please!
  24. Offline


    Can you post a group showing a working example of inheritance? None of mine are working, and I've been all over the web trying to find a working example.

    I want the Owner and Lady ranks to inherit from the Lord rank, for example, and absolutely nothing I've found is working for me. Every other permissions based thing I do is fine, but I don't want to manually add every single node for X groups.
  25. Offline


    I get this error when I try to use a command, I already have permission for it. I don't know what to do and my server launches soon, would be great for some help.

    "I'm sorry, but you do not have permission to perform this command. Please contact the server administrators if you believe that this is in error."
  26. Well, there is this older post of mine that has a snippit of my setup:

    There is also this:

    If you put yours up somewhere with a description of what you are expecting it to do (and what it's actually doing), someone can look at it and point out where it's falling over.:)

    Unfortunately, this doesn't help any. What needs to be looked at is your permissions setup (if it's a file, use code tags or a link to pastebin or equivalent), as well as the command that is attempting to be run and what group the player is a member of.

    Update what? It's working fine for the latest recommended build. If something isn't working for you, then you kind of have to be specific.:)

    Lets see....

    • The debug toggle should show what permission nodes are being looked for and what pex finds when it does a check, so once it's turned on, run the command and look at the console to see what it's looking for and what it found. Verify in your config.yml for permissions that debug under the superperms section is true to make sure it shows everything.
    • I did some poking around with essentials (I feel dirty) and found that the latest version of essentials appears to need to have bukkit permissions turned on in the essentials config. As for the kit thing, it seems that, with PEX anyway, it does two checks: The first one is for essentials.kit to see if the player has access to the command to begin with. The second check is to see if the player has access to a particular kit. This was unexpected to me. So what you will need to do for your players is have the essentials.kit node added, then have either essentials.kit.*, which will allow access to all defined kits, or specific kits such as, which allows for access to the tools kit.
    • Prefixes are something else entirely, and need a chat manager. If you installed the chatmanager that is in the PEX archive, you will need to enable it in the chatmanager config. The wiki covers installation and prefix configuration as well.


    Seriously, get some sleep. Everything is working, so you have earned it. Glad to hear it's working.:)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Feb 15, 2019
  27. Offline


    how do I have VIP group access
    - creative.mode
    in all worlds but 1 ?

    I have 1 PVP world that I dnt want creative mode being accessed

    I've tried a load of combinations none seem to work

    using multivers
  28. What have you tried so far? You could try adding creative mode access globally then add a negation node for just that one world (I verified that this does work).
  29. Offline


    Ughh, its 3am here and this is my first time modding and dealing with permissions so as much as I understand is:
    1. debuging i still didnt understand :D
    2. i have to tun on bukkit permissions on the essentials config and then for the kits i have to add essentials.kit and essentials.kit.*
    3. to fix this i need to install chat manager

    am i right or not ? :D

    2. i didnt find the part to enable bukkit permissions and I added essentials.kit and essentials.kit.* but i can test it tomorrow with friends
    3. it seems that chat manager has been installed and enabled the whole time...
  30. No worries, I've been there way too many times.:D

    1. Debugging shows what permission node is being checked for and what it finds for those checks. It's how I found that essentials does two checks when a player tries to access a kit.

    2. Yes, that should work. When I started my test server, I saw that essentials didn't hook into a permissions plugin and was using a config based setup. If you don't want essentials to use bukkit perms, then you can turn it off but from there you would have to ask the essentials group about configuration for what players have access to.

    3. If chatmanager is installed and active, according to the last permissions file you linked to, you don't have any prefixes setup. The Basic Permissions Setup section of the wiki has examples. So if you ran this command in-game:
    /pex group Member prefix "&0(&8M&7ember&0)&7 "
    The group Members goes from this:
            - modifyworld.*
    To this:
            prefix: '&0(&8M&7ember&0)&7 '
            - modifyworld.*
  31. Offline


    1. Okay got it :p
    2. THANKS! Kits are working fine now :p
    3. Still doesent work... my permissions file is looking like this atm.

    e/ AAA im srsly hallicunating, its 3:45am and i just noticed that chatmanager is installed but not enabled. Sorry for troubling but everything is working now and i can get my 2 hours of sleep :)
    Justin The Cynical likes this.

Share This Page