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


    OK, thanks. That post and also this one:

    I'm doing some more investigation now - I'm wondering if it's related to the fact I'm calling PEX via Vault is relevant? Using Vault, the call to check if a player has a permission node will use the PEX has() method, and not the superperms player.hasPermission() method. Does the native PEX has() method know about parent/child/grandchild permission node relationships, I wonder?

    (oh, the sample config.yml/permissions.yml/plugin.yml that I posted was taken from a real example on my dev server of the unwanted behaviour)
  3. Offline


    permissions node that I tried:
    They can still only set one home
    No, there is no error in server logs, just says 'error: you cannot set more than 1 home'
    Yes pex and essentias are fully up to date
    YES in the config file of essentials I made that node's permission for 5 homes, so why isnt it working?
  4. Offline


    How do you deny a group a permission? Faction plugin by default adds the basic commands to all users and I need to deny the factions.kit.fullplayer to certain groups, how can I do this?
  5. Offline


    Any help?

  6. Does it show for anyone? Are you using chatmanager that comes with PEX? And is it enabled in the chatmanager config.yml?

    ava.lang.RuntimeException: Default user group is not defined. Please select one
     using the "default: true" property
    Looks like your problem might be right there.:) Can you post (or link) to your permissions setup?

    Lines 77 and 86:) Your '*' node for admin and co-owner are missing the dash at the beginning. I'm pretty sure this will fix the problem (I'm not in a position to do any testing at the moment).

    Thank you for using code tags.:)

                rank: '0'
            prefix: '&0[&6High King&0]&6 '
            - essentials.gamemode.others
            - essentials.gamemode
            - '*'
    You misspelled permissions.:p

    Negate the node you don't want the players to have by adding a dash.

    - <- allow
    - <- deny

    Desht, the one from @Kid Tiger (, did you get a copy of the permissions? Can you send it to me? I would like to take a look at them directly. I'm not in a position to thoroughly test at the moment, but with what I was able to check with what is in that post, I wasn't able to reproduce what is described.

    The latest post from paully104 on the variables, I received that as well, and I'm afraid my lack of knowledge would prevent me from helping much on that.:(

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


    I never did get any more detail from Kid Tiger, and I haven't followed up with him. The problem with paully104 turned out to be a bug in my own plugin which I've fixed now.

    Will keep you posted if I learn anything else, thanks.
    Justin The Cynical likes this.
  8. Offline


    Doesn't matter I figured out :p
  9. Offline


    How can I enter /pex commands in-game?
  10. Offline


    Going from PermissionsEx 1.16 to PermissionsEx 1.17 breaks for me.
    I use command helper with the following alias to make things easy for my staff.
    /promote $player [$group=Builder] = /pex user $player group set $group

    This is what happens in 1.17 when I call: /promote someguy

    2011-12-29 13:20:18 [INFO] CH: Running original command on player piousminion ----> /promote someguy
    2011-12-29 13:20:18 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'pex' in plugin PermissionsEx v1.16
            at org.bukkit.command.PluginCommand.execute(
            at org.bukkit.command.SimpleCommandMap.dispatch(
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
            at net.minecraft.server.NetServerHandler.handleCommand(
            at com.laytonsmith.aliasengine.AliasCore$1.done(
            at com.laytonsmith.aliasengine.MScriptCompiler.execute(
            at com.laytonsmith.aliasengine.AliasCore.alias(
            at com.sk89q.commandhelper.CommandHelperListener.runAlias(
            at com.sk89q.commandhelper.CommandHelperListener.onPlayerCommandPreprocess(
            at org.bukkit.plugin.RegisteredListener.callEvent(
            at org.bukkit.plugin.SimplePluginManager.callEvent(
            at net.minecraft.server.NetServerHandler.handleCommand(
            at net.minecraft.server.NetServerHandler.a(
            at org.getspout.spout.SpoutNetServerHandler.a(
            at net.minecraft.server.Packet3Chat.a(
            at net.minecraft.server.NetworkManager.b(
            at net.minecraft.server.NetServerHandler.a(
            at org.getspout.spout.SpoutNetServerHandler.a(
            at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
            at net.minecraft.server.MinecraftServer.w(
    Caused by: java.lang.NoClassDefFoundError: ru/tehkode/utils/StringUtils
            at ru.tehkode.permissions.commands.CommandsManager.execute(
            at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand(
            at org.bukkit.command.PluginCommand.execute(
            ... 26 more
    I'm no expert, but it looks like pex is broken in a way that won't let a plugin call it's commands. *shrugs* Till then I guess I'm stuck with 1.16. :/
  11. Offline


    what you be the permission for not letting people use /plugins or /pl in game?
  12. Offline


    Valtn55 likes this.
  13. *facepalm*

    I knew it was something silly. Thank-you!
    Justin The Cynical likes this.
  14. Offline


    Thanks for your reply.
    It seems that the plugin doesn't support the Scandinavia characters: Æ Ø Å.

    And for some reason that make the plugin think it's version 1.16, instead of 1.17.
    Thats really wired :/

    Not sure where to report such thing.
  15. Just like that.:) Type them in with the slash at the beginning vs not using the slash if using the console directly.

    Umm, are you sure you didn't accidently mix versions there?:)

    According to the error log you posted, PEX 1.16 is installed, not 1.17.

    Github would be the best place since that's where the PEX code is stored at.

    Honestly, it sounds like you have your permissions configured wrong. PEX works on the idea that if the node isn't present, the player/group doesn't have permissions to do it.

    Can you link to your permissions using pastebin or pastie so it can be looked at? I'm assuming you are using a file backend. Oh yes, please give an example of the command (and node) your players are able to run that you don't want them to have as well. It helps knowing exactly what's not working as expected.:)

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


    Can someone please give an example with SuperPerms in their permissions.yml?
    I can't get superperms to work in my PEX. Remember to put it on pastebin (so I can copy it :p) and quote my post! THANKS!
  17. The permissions.yml in the PEX directory? It's just like any other permission node, add them there.
  18. Offline


    so this would work:
            default: true
                prefix: '&e'
                suffix: '&f'
                build: false
            inheritance: null
            - simpleclans.admin: true
            - buttonwarp.use
            - jail.command.jail
  19. Not quite.:)

    simpleclans.admin: true is the format for superperms only permissions managers. With PEX, you just add the node to give it to a group.

    - simpleclans.admin

    If you happen to use a wildcard node and want to remove just one particular node from everything else the * covers, you would add a dash at the beginning of the node name.

    For example, say the the following nodes exist:

    If you use - simpleclans.* in a group, all three nodes are true for the group. However, if you want to give access to the user and promote parts, but not the admin one, you can do this:

    - simpleclans.user
    - simpleclans.promote

    or you can do this:
    - -simpleclans.admin
    - simpleclans.*

    The second one removes access to admin but allows access to user and promote.

    Does that help?

    Hehehe:) Glad you got it working, no worries, it happens to everyone.:D

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


    If they don't have a permissions disabled my players can use there a way to disable all permissions for them? But allow them certain ones?

    So like

    - -disableAll
    - canDoThisPerm

    Basically a player can set the rank of someone because I didn't add the - -permission

    Is there a way I can do this quickly without going through it all and adding false to everything? (by false I mean - -)

    Basically any command that doesn't have - - works... e.g. /time set x

                file: permissions.yml
        backend: file
            parent-nodes: true
            enable: true
            strict-mode: false
        createUserRecords: false
        allowOps: false
        debug: false
        basedir: plugins\PermissionsEx
    that's the config file..

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

    Hmm, your permissions look OK right off the top of my head... I see some redundant stuff in there and see that setting up some inheritance would make it a lot smaller, but otherwise...

    The time command, huh? The players that can do this, are they members of any particular group and are they in the ops.txt file?
  22. Offline


    ahahah, that's it! silly me, I forgot about that...the accounts were ops previously so that messed with it! Now it works! lol

    Yeah the redundancy is an issue which i'll fix up soonish :) Thanks<3
    Justin The Cynical likes this.
  23. Offline


    As operator when I use /pex it says an internal error has occurred.
  24. Offline


    - simpleclans.anyone
    - simpleclans.member
    - simpleclans.leader
    doesnt work.
  25. Offline

    Kid Tiger

    i'm not running anything complicated. latest of everything, and the permissions nodes didn't work. but nevermind that, is there anyway to give someone a map without having to make a finite number of them when you do the /sms givemap id number? i made myself one, and then an admin tried making one and he couldn't. this mod is awesome, but it definitely needs some practical tuning.
  26. Offline


    when someone joins the server is it set so that they are automatically stuck into a group? because i would really like that in a permissions plugin. i am undecided whether to use this bpermissions or permissionsbukkit. permissionsbukkit seems generic, bpermissions seems dev friendly and this seems like it has more features but i need an auto-stick into group feature and if possible some sort of way to make it so if they play for 2 weeks or a month or something it ranks them up to another rank etc. etc. and idk if it would be a perm plugins job to do this i expect i would need a program or specialty plugin to do this but soon i will be making a server website and i would really like it if when a player registers on the website and inputted there McName on the website they get auto-ranked in game, if it did that then i also wouldn't be fussed about the whole auto-rank them when they login thing
  27. Yes, PEX can do this. Setting the createUserRecords option in the PEX config.yml will tell PEX to add the player to the default group if they are not already in the permissions settings.
    These things, I don't know how one would go about doing that. Perhaps having the forum send console commands to the server or something.
  28. Offline


    My moderators are not able to promote guests.
    But Supporters can.
    Any idea whats wrong here? I can't see anything different between these groups regarding the promote-permissions.

    Userlist is shortened here.

    Permissions (open)

            - Supporter
            - Moderator
            - Admin
            default: true
            prefix: '&f[Gast]'
            - modifyworld.items.drop.*
            - modifyworld.items.pickup.*
            - essentials.list
            - essentials.msg
            - essentials.spawn
            - essentials.rules
            - simpleprefix.gast
                rank: '10'
            prefix: '&2'
            - petition
            - iConomy.payment
            - essentials.home
            - essentials.sethome
            - essentials.signs.use.heal
            - essentials.suicide
            - essentials.tpaccept
            - essentials.tpdeny
            - essentials.back
            - essentials.back.ondeath
            - essentials.mail
            - essentials.mail.send
            - ChestShop.command.iteminfo
            - lwc.protect
            - simpleregionmarket.sell
            - simpleprefix.member
            - Gast
                rank: '9'
                    - modifyworld.*
                    - modifyworld.damage.take.*
                    - modifyworld.mobtarget.*
                    - modifyworld.*
            prefix: '&5[VIP]'
            - essentials.tpa
            - essentials.tpaccept
            - essentials.tpahere
            - essentials.tpdeny
            - essentials.afk
            - essentials.spawner
            - essentials.spawner.*
            - essentials.heal
            - falsebook.blocks.*
            - modifyworld.*
            - Member
                rank: '8'
            prefix: '&9[Supporter]'
            - petition.moderator
            - petition.moderate
            - essentials.tpa
            - essentials.tpahere
            - essentials.afk
            - permissions.user.promote.*
            - permissions.user.demote.*
            - simpleprefix.supporter
            - Member
            suffix: '&2'
                rank: '8'
            prefix: '&5[+]&9[Supporter]'
            - simpleprefix.vipsupporter
            - Supporter
            - VIP
            suffix: '&2'
                rank: '8'
            prefix: '&3[Moderator]'
            - essentials.ban.offline
            - petition.moderator
            - petition.moderate
            - petition.warp-to-own
            - petition.warp-to-own-if-assigned
            - essentials.kit
            - essentials.kit.modkit
            - essentials.warp.list
            - essentials.setwarp
            - essentials.home.others
            - essentials.tempban
            - essentials.ban
            - essentials.kick
            - essentials.tpa
            - essentials.tpo
            - essentials.tpohere
            - essentials.tpahere
            - essentials.tpaccept
            - essentials.tpdeny
            - essentials.afk
            - essentials.jails
            - essentials.togglejail
            - essentials.togglejail.offline
            - essentials.broadcast
            - essentials.spawner
            - essentials.spawner.*
            - essentials.heal
            - essentials.heal.others
            - falsebook.blocks.*
            - worldedit.navigation.jumpto
            - permissions.user.promote.*
            - permissions.user.demote.*
            - modifyworld.*
            - lwc.mod
            - simpleprefix.moderator
            - Member
            suffix: '&f'
                rank: '8'
            prefix: '&5[+]&3[Moderator]'
            - superpickaxe.use
            - simpleprefix.vipmoderator
            - Moderator
            suffix: '&f'
                rank: '8'
            prefix: '&4[Admin]'
            - '*'
            - simpleprefix.admin
                rank: '8'
  29. Offline


    With allowOps: false in the config.yml a user with '*' can still use the command /op <user> to obtain OP status.

    The two related permissions are as follows:

    This makes the allowOps: false setting ineffective.
    AMinecraftplayer likes this.
  30. Offline


    Hello I'm sorry I know this is nooby and stuff but is this version of PEX (1.17) compatible with Bukkit's #1597 build? I read through the last few pages but didn't find an answer in any posts.

    It says [1.0.0] in the title but hasn't been updated since December 13. I just want to get some clarification before I install it. I used it on my previous 1.8.1 server before and it worked great.
  31. Offline



    your inheritance on 'moderator' is set to 'member', you need to either change the inheritance to 'supporter' or you need to add the demote and promote permissions directly in to the 'moderator' group permissions

Share This Page