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. You have an extra space there.
    - -permission.permission
    - - permission.permission
  3. Offline


    Ahh thanks you
  4. Offline


    It would appear that adding the permission - permissions.manage.membership (only -permission.----) does not grant my moderators the ability to /pex user (name) group add (groupname).

    Can anyone confirm this? Works fine with - '*'

    Also, there is an "internal error" issue with any user who has command book. if their config file for command book is default, it says " op-permissions: true" change it to op-permissions: false to resolve the issue.
  5. Offline


    You must do it per group, so they must have the basic pex permissions then you would add on per group so EX:
    With * they have all those permissions, without it you must specify each group.
  6. I made it up by change all shit up there , removed MySQL for now use this :
                file: permissions.yml
        backend: file
        createUserRecords: true
        basedir: plugins/PermissionsEx
        debug: false
        allowOps: false
            enable-wildcards: false
            disable-unmatched: false
            enable: false
            debug: true
            compatibility-mode: false
            parent-nodes: false
            strict-mode: true
  7. Offline


    first of all, sillysilly me hahaha
    thanks for the help :D
    second, as you can see i already have the modifyworld.blocks.interact.*
    or is there a node called modifyworld.interact.* ? what do you mean?
  8. Just what it says on the tin. :)

    16:42:58 [INFO] User $PLAYER checked for "modifyworld.interact.minecart", "modifyworld.interact.*" found
    16:42:58 [INFO] User $PLAYER checked for "modifyworld.vehicle.enter", "modifyworld.vehicle.*" found
    Aside from the $PLAYER bit, the above code snippit is straight from my server console with debug turned on within PEX (1.17 I should add), which is what PEX and modifyworld were checking for when I tried to get into a minecart.

    modifyworld.blocks.interact.* seems to refer more to things like dirt/grass blocks, stone, etc. I think that a vehicle isn't considered a block by modifyworld, so it falls under a different subnode.
  9. Offline


    Thanks for that the mods can change peoples groups now. But when I do commands like /pex group Owner prefix "&0[&4Owner&0]&f" I get
    Show Spoiler
    2011-12-14 23:38:07 [SEVERE] null
    Show Spoiler

    org.bukkit.command.CommandException: Unhandled exception executing command 'pex' in plugin PermissionsEx v1.17
    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 net.minecraft.server.NetServerHandler.a(
    at net.minecraft.server.Packet3Chat.a(
    at net.minecraft.server.NetworkManager.b(
    at net.minecraft.server.NetServerHandler.a(
    at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    at net.minecraft.server.MinecraftServer.w(
    Caused by: java.lang.RuntimeException: java.lang.NullPointerException
    at ru.tehkode.permissions.commands.CommandsManager.execute(
    at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand(
    at org.bukkit.command.PluginCommand.execute(
    ... 12 more
    Caused by: java.lang.NullPointerException
    at ru.tehkode.permissions.backends.file.FileEntity.getOption(
    at ru.tehkode.permissions.ProxyPermissionUser.getOwnOption(
    at ru.tehkode.permissions.PermissionUser.getOption(
    at ru.tehkode.permissions.PermissionEntity.getOptionBoolean(
    at ru.tehkode.permissions.PermissionEntity.initialize(
    at ru.tehkode.permissions.PermissionUser.initialize(
    at ru.tehkode.permissions.ProxyPermissionUser.initialize(
    at ru.tehkode.permissions.PermissionManager.getUser(
    at ru.tehkode.permissions.backends.FileBackend.getRegisteredUsers(
    at ru.tehkode.permissions.PermissionBackend.getUsers(
    at ru.tehkode.permissions.PermissionBackend.getUsers(
    at ru.tehkode.permissions.PermissionBackend.getUsers(
    at ru.tehkode.permissions.PermissionManager.getUsers(
    at ru.tehkode.permissions.PermissionGroup.getUsers(
    at ru.tehkode.permissions.PermissionGroup.clearMembersCache(
    at ru.tehkode.permissions.ProxyPermissionGroup.setPrefix(
    at ru.tehkode.permissions.bukkit.commands.GroupCommands.groupPrefix(
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at ru.tehkode.permissions.commands.CommandsManager$
    at ru.tehkode.permissions.commands.CommandsManager.execute(
    ... 14 more

    Here is my permissions.yml
  10. Offline


    added the node for both minecarts and boats, but with no luck :/

            default: true
            - modifyworld.interact.328        <-----
            - modifyworld.interact.333        <-----
            - modifyworld.blocks.interact.*
            - modifyworld.sneak
            - modifyworld.sprint
            - modifyworld.usebeds
            - modifyworld.blocks.destroy.*
            - modifyworld.items.drop.*
            - modifyworld.items.pickup.*
            - modifyworld.vehicle.*
            - modifyworld.items.use.*
            - CommandBin.general.warp
            - CommandBin.teleport.spawn
            - bukkit.command.list
  11. Hmm, interesting. You might have found a bug.

    No matter what setting I tried in the config, I wasn't able to get it to find the minecart by number, it only worked when I added it by name. (modifyworld.interact.minecart). If you turn on debug, I bet that it would be checking for "boat" as well.

    I'd open a ticket on github and see what @t3hk0d3 has to say.
  12. Offline


    i'll try with modifyworld.interact.minecart/boat and see if that works...

    EDIT: It works! :D he should definitely fix this.
    Bug: using modifyworld.interact.333 <--- (boat) does not work!
    use: modifyworld.interact.boat instead!
    thanks Justin! :D
  13. Offline


    Same Problem! Last tested with 1.16.

    I have to use:
            - modifyworld.items.pickup.grilledpork
            - modifyworld.items.have.grilledpork
            - modifyworld.items.drop.grilledpork
            - modifyworld.items.pickup.cookedporkchop
            - modifyworld.items.have.cookedporkchop
            - modifyworld.items.drop.cookedporkchop
            - modifyworld.items.pickup.porkchop
            - modifyworld.items.have.porkchop
            - modifyworld.items.drop.porkchop
            - modifyworld.items.pickup.cookedpork
            - modifyworld.items.have.cookedpork
            - modifyworld.items.drop.cookedpork
            - modifyworld.items.pickup.320
            - modifyworld.items.have.320
            - modifyworld.items.drop.320
            - -modifyworld.items.*
    If I use only one Itemname or only the ID, it doesn't work. I have to use all the Itemnames (which all works with /i or /give) and the ID
    I think its because - -modifyworld.items.*, but it would be much easier, if only the IDs would be supported!
  14. Offline


    @Jäsef well its not a real issue cause Boats are Entities so you have to name it like you do if you dont want to allow interaction with a pig.

    @Jobsti in my opinion only using numbers for all would slow the item check a down cause it would have to check against "is it a block? is it an entity?" currently entities are checked against permissions in entities event, blocks in blocks obviously ,)

    so for blocks use ids and for entities use names... alternatively only use names that works everytime ^^
  15. Offline


    Is it like possible to have or do a "Add user to group for xx time"? Simular to how your timed permissions work?
  16. Offline


    @Afotai currently only timed permission per user or group is implemented.
  17. Offline


    Hello I get an error when i run PermissionsEx
    this the error
    how do i fix this?
  18. Offline


    Interesting... When a player is op'd and has the "*" permission in PEX, the player does not join silently when combined with vanish no packet, even after being assured it would.
    Plugin Dev's comment are around the bottem of this page, and they directed me here.

    Using the latest version of PEX (1.17) and vanishnopacket (1.8.6)
  19. Offline


    Quick question. I'm sure there was an answer in this thread. I searched but could not find exactly what I need. Now to my question... Is the options section only for ranks? Or is there something else am I missing?

    I used the original Permissions plugin with 1.6, 1.7, 1.8.1 I'm glad to see the the config format is pretty similar.
  20. Offline


    post config please
  21. Offline


  22. Offline


    Hi, which node would I give to my guests to allow them to promote themselves to Citizens (AKA Builders)

    I want them to be able to do /pex user [name] group add Citizen

    What permissions node would I need to give them to be able to do this and not be able to promote them to Owner or Admin?
  23. Offline

    Larry Bob

    After updating PEX & Bukkit to the latest recommended build, my server started throwing "Permissions manager not accessible. Is the PermissionsEx plugin enabled?" errors while loading every plugin. Reverting back to the PEX version & build I was using before (1538) didn't help the situation at all, but removing PEX did. Checked permissions.yml on the parser w/no errors. Anxiously waiting for a reply.
  24. Offline


  25. I can't teleport my players anymore, they dont have permission to be teleported.
  26. Offline


    should I replace with new config.yml ?

    current one:
                file: permissions.yml
        backend: file
            parent-nodes: true
            enable: true
            strict-mode: false
        createUserRecords: false
        allowOps: true
        debug: false
        basedir: plugins/PermissionsEx
    it happens everytime I execute /pex command
  27. Offline


    So do you want to post your yml. It could be a space/tab problem. Also usually on an update letting the plugins regenerate there config ymls is probably the best idea and then move over your configured ones.
  28. Offline


    is this compatible with minecraft 1.0.0 bukkit server now?
  29. Offline


    Your config? Do you have the right node? and does everyone have permission to tp?

    Yes....Look at the title.

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


    try :D
  31. Offline


    i went to the IRC and for the past 3 days no one was there to help.
    I keep getting an 'internal error' when i try loretime commands and thts the only plugin with problems

Share This Page