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



    I test your plugin, i want to know if It is possible to do this :
    default: true
    prefix: '&7'
    suffix: '&f'
    - modifyworld.*
    - -modifyworld.blocks.destroy.*

    The idea is to authorize member to connect, but without some possibility ?
  3. Offline


    From experience I can tell you that yes this is possible but I think you would want to do it like this:

            default: true
            prefix: '&7'
            suffix: '&f'
            - modifyworld.login
    If you have modify world enabled in its config.yml then it won't permit any modify world commands that you don't specifically grant.
    No need getting the wildcard involved if you don't have to.

    I know I've posted about my own troubles but I have learned a few things so far ;)

    JTC, your post is making for another looooong day at work. I can't wait to get home and take another crack at my Guest group :D
  4. Offline


  5. Offline



    It works!!

    Now I get to do all the tedious sorting without wondering if it's going to be time well spent or not :)

    The PEX debug log is very handy indeed. I found some interesting stuff..

    The errors it reported showed the missing perms: "modifyworld.blocks.interact.dirt.0" and "modifyworld.blocks.destroy.dirt.0"

    The funny thing is obviously the "0" doesn't represent dirt because the error for stone ended in "modifyworld.blocks.interact.stone.0".. so that's interesting.
    Seeing as MW recognizes text labels I now need to find a good list of the ingame labels.. as I'm pretty sure "modifyworld.blocks.destroy.Brown Mushroom (block).0" would give me some errors...

    I also got a couple other PEX debug entries that you may be able to decipher.. I don't know what they mean...

    "2011-11-01 13:06:46 [INFO] User nebenezer checked for "worldedit.limit.unrestricted", no permission found"
    "2011-11-01 13:06:46 [INFO] User nebenezer checked for "", no permission found"


    JTC - I've been wracking my brain for almost a week trying to sort this out. Thank you!!

    ps.. What is the Javadoc.jar for? If I don't know do I probably not need it?
  6. Offline


    I know this is improper etiquette, but does anyone know why anyone not an operator cannot access their permissions? In the config.yml, "allowOps: false" is set.
  7. Offline


    well here's the bad part, if i do get the 1.15 I'll end up out-dating a couple other of my plugins... :'(

    EDIT: correction i re-downloaded the new build and it works..... i kinda feel dumb now. however i had to switch a couple plugins out for another... :'(

    hey i have A serious problem with my server i know that it has nothing to do with PEX but can someone help me?

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


    Okay, so everything works fine when I put nodes for defaults right? But when I want to promote someone or myself it gives me an "Internal Error"! Any idea why or how I can fix this?
  9. Offline


    well the simple solution (if its your server) is to promote yourself manually. but if not i can help you there.:oops:
  10. Offline


    that would be fine, exactly as i put on the thread is what it is on the server
  11. Offline


    can someone tell me how to disable OP commands or point me to a place that has a good description? I need to disable creative mode and the /give command.
  12. Offline


    How can I promote manually?
  13. Offline


    promotion ladders?

    i just g
    i just always get the reader error whenever i put in the *

    for something simpler than pexs complicated system id recomend this

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Sep 9, 2018
  14. That I don't have any idea about I'm afraid, I've never seen or received one of those lines with a 0 at the end.

    From what I have seen with other items, it's usually something like diamond_block (note the underscore between the words). So I would guess that it would be something like brown_mushroom, but the debug output should show for sure.

    I am not sure, something to do with the worldedit and worldguard plugins. I don't use worldguard and I just started using worldedit (mainly for the fixwater command:)), so I'm not totally familiar with it's permissions set.

    You are welcome.

    Javadoc.jar? What is that from? I've never seen that in the PEX archive.

    Unfortunately, that's a fact of life when running a bukkit server. I've had to do that as well for a few plugins, including some of my favourites. :(

    Ah, missed that.

    *looks* Ok, I'm not at my test server right now (won't be for a few hours yet), but scanning your permissions file, I do see a few things that could be fixed. I don't know if these will fix your particular slowdown, but they are something that I noticed.

    User section, user name rsccman. You have * in there. Your don't need the other nodes, the * covers it all.
    A few users also have a permission node of things like /bb, /pardon, and so on. I'm guessing that ones like pardon are the built-in bukkit commands? I don't think that will work. If they are, use things like bukkit.command.pardon.

    The list of bukkit commands and permission nodes is at

    EDIT: OK, I ran your permissions on my test server. The machine is an Intel 2500K with 8 gigs of RAM with Java 6 update 26. When I initially ran the promote command, it took about four or five seconds for the console to report that the promotion was done. After that, it took about two to three seconds. I wish I had an idea as to what to adjust to make this faster, but I can only think of switching to a SQL backend with a real MySQL server. My local SQL server was able to promote and demote virtually instantly when I tried it.

    Converting the file to a sql format was easy. With the server running, use:
    pex dump sql "permissions.sql"
    to get a sql dump of the current permissions. Change your config.yml to access the sql server. Start it up once, let PEX create the tables, shut the server down, import the sql dump and assuming that there aren't any duplicate keys you need to remove from the dump file (as I said, I did find two in yours), restart the server and you should be golden.

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


    By typing it in the permissions.YML file. I STRONGLY recommend that if you do this that you use the online YML parser. I apologize but i don't have the link handy at the moment, if i get it I'll edit it in. :)
  16. There is a good one linked in the first post of the thread (up at the top).

    As for 'manually promoting', one could just specifically set the group membership for a particular user, but generally that's reserved for admin/op level.
  17. Offline


    well yea, that's pretty much what I what i was trying to say... sorry for the miscommunication.:oops:
    EDIT: but if its your server than you would have all the files necessary to promote yourself, without needing to use a command in-game, now true it would be a lot more convenient to be able to do this in-game, sometimes you have to take a little more time on something to make it better.
  18. Offline


    Well, this just keeps getting more and more intersting..

    ModifyWorld truly does give OP a sick amount of control over their world. Which is good but lends to some tedium during perm setup :/

    All in all it's a home run though, very very cool stuff here :)

    Well, this is what I found.. I don't know exactly what the .0's are for (I think the 0's may be a default) or why I see them and you don't but I found that I had to assign permission to build a wallsign on each face of a given block (N,S,E,W) hence the .2, .3, .4 and .5 on the place.wallsign nodes.. I had to allow interaction with the block type and sign type, as well as allow for the sign to be placed facing each cardinal direction..

    default: true
    - commandbook.rules
    - commandbook.spawn
    - modifyworld.blocks.interact.dirt.0
    - modifyworld.blocks.interact.grass.0
    - modifyworld.blocks.interact.longgrass.1
    - modifyworld.blocks.interact.sand.0
    - modifyworld.blocks.interact.sign.0
    - modifyworld.blocks.interact.wood.0
    - modifyworld.items.drop.sign.o
    - modifyworld.items.have.sign.0
    - modifyworld.items.pickup.sign.0
    - modifyworld.login
    prefix: '&b[GUEST] &f'
    rank: 1000
    Yeah, it is nice how MW gives you the exact info you need. Obviously I could go through and identify what perms I need by trial and error, but that would be a LOT of trial and error. I would love to learn that a list of all these uber-specific perm nodes exists somewhere ;)

    javadoc.jar was included in the latest dev-build package. Yesterday was the first time I'd seen it. I hadn't seen any documentation about it so I just tossed it in /plugins/ with the rest of the PEX Dev .jars
  19. Offline


    I finally want to change to this, I guess. What's the easiest way to migrate from Permissions 3? I already switched to mchat for the groups.
    Sorry, I can't read everything right now because I don't have much time. Please be friendly and send me a link if there's a tut or something. :)
  20. Offline



    Check out THIS PAGE. It's full of great information about PEX and links to tutorials on how to use it.
  21. Offline


    How can I use PermissionsEx with MySQL?
  22. Offline


    Is it possible to only allow a group to promote/demote up to a certain group level?

    I want to allow the group Moderator to promote people only up to Member and no higher, this way they can't promote themselves and other players to Moderator/Admin. How is this done? Thanks.

    EDIT: I found it, I was trying to use "permissions.manage.membership" which doesn't have any type of ranking system, then I found "permissions.user.promote/demote.default" which works like a charm.
  23. Offline


    Thanks, really funny. Jesus, I hate how people always have to do things like that on the internet. I had lots of things to do and couldn't find anything that fast, as I already wrote (or can't you read?).
    I can only find information on how to migrate from permissions 2 however and the method to change the yaml file to the permissions 2 layout first and then migrate it gives me a bunch of stacktraces. Will post later.
  24. Offline


    if you could walk me thru the process it would be wonders to me =)
    or ill just try to do it on my Gamin test computer
    quadcore2 4gb ram atm =)

    also how do you inject a provent permission like if i dont want one person from the group to tele or ect to me? would i do - -permission? like - -general.teleport.*?

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


    Okay so I tried promoting myself manually because I keep getting an error but it won't work...
    Anyone want to tell me if anythings worng with this?

    --------group: Co-Owner
  26. Offline


    It seems my post was lost, so I will post again. I am trying to limit OP access to the /gamemode and /give commands. I have the bukkit permission nodes, but don't know the format.

    how do I designate nobody for a command?
    does it go in the permissionsEX permissions.yml file? or in the base directory permissions.yml file?

    I don't know if this has been answered for you or not yet, but I was having the same problem. I fixed it by thinking backwards. I had to ENABLE all, and restrict what I didn't want them to have. so the Item list for Guest is every item but dirt Disabled, followed by a - modifyworld.*

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Sep 9, 2018
  27. I believe that "converting" a permissions 3 to permissions 2 file was more or less combining the separate user and world files. There may be more, but I don't recall if there was or not. Permissions 2/3 was a while ago.:)

    The wiki has instructions on how to do this. Link is in the first post.

    Hmm, that may be why you are seeing the numbers at the end of the node. I'm using the currently released version, I've not looked at a the dev versions yet. ModifyWorld settings for the facing of a block, that is amazing. I never would have thought of allowing for that.

    Thank you for posting what you found, hopefully someone else will be able to find it useful as well.

    The permissions file in the base server directory isn't used by PEX.

    As for the other part, I don't understand the question. Are you wanting to prevent certain players in a group from using a command that others in the same group have? You could try adding the negative permission node to the player alone.

    Yes, a negative permission node on a player should keep them from running a command that others in the same group have.

    As for the SQL part, what I put in my previous post pretty much covered the steps.

    The user entry can't use dashes.:p

    Yes, I know the dashes are supposed to be spaces. Suggestion: Use code tags next time [ code ] and [ /code ] (remove the spaces to make it work).

    Your user entry looks fine, but your group setup is what matters. Also, you didn't post what error you are getting in the server console or client.

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


    Well my pail window has a modifyworld en/disable but doesnt work at all lol so to enable or disable it i just go to the config in the pex and in modifyworld but rite now i have it disabled because i dont have a list of all of its features and perms nodes is there anywhere i can find it! Another question for the general population is...
    Is there any way for me to use pex to en/disable ops to use certain op commands? i searched and searched the internet for perms nodes for op commands but to no avail. There is a player permissions setting (in pail window) that has by default all op commands that you can check/un-check to disable them but it doesn't work it still allows you to use them
  29. Offline


    Etetherin, as I build my groups I am finding the syntax to be very specific. The block and item ID lists linked in the ModifyWorld wiki is a good starting point but only gives you part of the info you need.
    As JTC suggested I've been setting myself to the group I am working on, then I try doing whatever I want to enable for that group. With PEX logging on, anything that is forbidden will be conveniently listed in the server.log, at which point you can simply copy and paste the perm node from the log into your perms.yml.

    Still very new to all this but I do believe OPS is all or nothing. Maybe the easiest way to manage your highest member groups is grant them "*" and restrict anything you don't want them to have?

    If you are going to build your perms.yml to work with modifyworld let me know if you want the nodes I've found so far, or if you want to work together to build the list we're both looking for.. My only concern there is that the syntax JTC is dealing with is slightly different than what I'm seeing.. so there would be some trial and error involved.

    Shoot me a pm, or hit me up on Skype if you want to work together on this ModifyWorld stuff. Skype: neVenezer
  30. Offline


    HI there.
    Every time i do /reload my users are guests... i use the latest build. can anyone help?
  31. Offline


    It's really tricky on a live server however, especially with Multiworld. :D I'll see how I'll do it...

    I think I'll take my server offline for one day and then do all that stuff.

Share This Page