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


    Yes. Oh, I need to install a chat plugin.. didn't know. Then I'll find some of those and test some more. Many thanks :)
    Maybe include info about this in the wiki (that I love btw).

    EDIT: Got it to work with iChat. Thanks for the help :)
  3. Offline


    When i boot the server i get the "permissionsEx plugin initialized" notification... the then a few lines down it is followed by "permission system not detected, defaulting to op". Can anyone help me? I've been trying to figure this out for 2 days.

    Thanks! Your solution worked perfect.
  4. Offline


    Install PermissionsCompat.
  5. Offline


  6. Offline


    error when using PlayerEditor

    2011-06-26 04:39:35 [INFO] Added testor1 to the database.
    2011-06-26 04:40:01 [INFO] Updated skin for testor1.
    2011-06-26 04:40:45 [INFO] testor2 [/x.x.x.x:57151] logged in with entity id 5293 at ([world] -335.63269508269957, 74.0, -333.4596902716245)
    2011-06-26 04:40:46 [WARNING] Task of 'PlayerEditor' generated an exception
    java.lang.NoSuchMethodError: com.nijiko.permissions.PermissionHandler.getPrimaryGroup(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
        at net.minedev.playereditor.API.PermissionsHandler.getGroup(
        at net.minedev.playereditor.BukkitContribHandler.setAll(
        at net.minedev.playereditor.listeners.PEPlayerListener$
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(
        at net.minecraft.server.MinecraftServer.h(
    2011-06-26 04:40:46 [INFO] testor tried to use command /0.0.8
    i'm using Permissioncompat, it should work ..? strange.
  7. Offline


    Look like you have something wrong with PermissionsEx.jar. You are sure lastest versions of both PermissionsEx and PermissionsCompat used?

    PermissionsCompat compatible with Permissions 2.7, not Permissions 3.
    Nag author to add native PEX support, pls.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 15, 2016
  8. Offline


    yes but ill double check

    I just checked . I was using the stable version and not the beta. Should i switch ?

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


    how to do this?
  10. Offline


    pex user <user> timed add <permission> [lifetime]

    Give user <user> permission <permission> for [lifetime] seconds.
  11. Offline


    You can make promote people to different groups based upon how long they have been playing?
  12. Offline


    there is a plugin for that called timerank
  13. Offline


    Time Rank does not support PermissionsEx.
    MalcolmLC likes this.
  14. Offline


    ahh snap :(
  15. Offline


    Anyway to modify which table it accesses in mysql? I already have a table named accounts. It would be much easier to hook permissions onto that and add the columns group and subgroup.

    Also, how exactly do you go about adding permission nodes in mysql? Manually put them in a table? Or would permissions read the yml for groups?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 15, 2016
  16. Offline


    There is aliases mechanism in SQL backend, you can rename table and names.
    But you can't change scheme of database. It's not yet documented feature.
    Also you need lastest dev build.

    Here is config.yml example:
                driver: mysql
                password: password
                user: user
                uri: mysql://
                    permissions: permissions_list
                    permissions_inheritance: inheritance
                    permissions_entity: entry
                file: permissions.yml
        backend: sql
        basedir: plugins\PermissionsEx
            enable: true
            itemRestrictions: true
            whitelist: false
        debug: false
            changes: false
            modifyworld: true
  17. Offline


  18. Offline


    You can't use separately yml for groups and mysql for users.
    To get user groups use this query:
    "SELECT parent FROM permissions_inheritance WHERE child = <username> AND type = 1"
  19. Offline


    My god I want to pull out my hair over the untold heights of jargon you find with any permissions file. ALL I want is to be able to have certain mods work with certain people, and to stop randomers for destroying stuff like they do. The text files are NOT self explainitory at all.

    I have my config file set out like this:

    basedir: plugins/PermissionsEx
    backend: file
    file: permissions.yml
    enable: true
    itemRestrictions: false
    modifyworld: true
    changes: true

    However, this is probably UTTERLY wrong and I have nothing written in plain english to tell me how this should be set out.
  20. Offline


    AH i just found out what i did wrong. I Set up the permissions file incorrectly XD i got it now.
  21. Offline


    Show your permissions.yml pls. would be fine.
  22. Offline


    Update: TO HELL WITH PERMISSIONS MODS. Ill try again when I can find one which is explained. I mean seriously, what IS a node and where do I actually put it in this text file. In a text file where there are 50 different things all on one very long line, it makes no sense where you put these things. I've been trying to make this stuff work for the last hour to no avail. The guide gave me some clue, but it still didnt make its first step actually clear. Turn on this particular world modification thing... however, it doesn't explain how you actually do that, just gives you a list of various jargon that has little use to somobody who hasn't used a permissions mod before.
  23. Offline


    You're doing it wrong. Nodes are often listed in the plugin developers page. If not, its simply PluginName.command. Also, use Notepad++ if you dont want a long line like you described.

    Ok that should work. The problem is adding permission nodes using...the link you sent (fuzzy on java but I get the syntax). I was so use to GroupManager and yml files lol. Could I get a little help of what exactly im looking for in your code? Like....For instance in a yml file you would name groups and under them have the nodes and so on. In the ??? (permissions_inheritance?) I would add (???) to the column name (???) or....?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 15, 2016
  24. Offline


    Well that should solve the long line issue, for which I thank you, because that was an eyesore. Maybe now I can give this a better go without it inducing blind rage. Yes. I am very impaitent.
  25. Offline


    Ok so i have this up and running but some commands dont seem to work for users
    ( mostly ones from commandbook)
    my .yml
            default: false
            - commandbook.rules
            - commandbook.spawn
                rank: '100'
            default: true
            prefix: '&2'
            - modifyworld.*
            - commandbook.motd
            - commandbook.msg
            - commandbook.rules
            - commandbook.spawn
            - commandbook.whereami
            - commandbook.who
            - falsebook.blocks.*
            - jobs.join*
            - BOSEconomy.common
            - iConomyChestShop.command.iteminfo
            - pvpreward.getreward
            - pvpreward.givereward
            - lockette.user.create.*
            - logblock.tool
            - myhome.home.*
            - mywarp.warp.basic.warp
            - mywarp.warp.sign.warp
            - mywarp.warp.soc.give
            - mywarp.warp.soc.invite
            - mywarp.warp.soc.uninvite
            - default
                rank: '90'
            default: false
            prefix: '&6VIP'
            - mywarp.warp.basic.createprivate
            - mywarp.warp.basic.list
            - mywarp.warp.sign.create
            - Regular
                rank: '80'
            prefix: '&b'
            - commandbook.bans.ban
            - commandbook.bans.isbanned
            - commandbook.bans.unban
            - commandbook.broadcast
            - commandbook.clear
            - commandbook.kick
            - commandbook.mute
            - commandbook.whois
            - commandbook.whois.other
            - lockette.admin.bypass
            - lockette.admin.snoop
            - logblock.*
            - myhome.*
            - mywarp.warp.basic.createprivate
            - mywarp.warp.basic.list
            - mywarp.warp.sign.create
            - spyer.spy
            - Regular
                rank: '10'
            prefix: '&4'
            - '*'
            - Moderator
                rank: '0'
            - Admin
  26. Offline


    Look over your text, in Regulars group you wrote

    instead of permissions:

    that's probably whats causing your users errors.

    You need to be very careful with yml :)
    And if you look in your console i am sure you can see errors :)

    Altso if /pex reload doesn't give you a Permissions Reloaded, message, you know something is wrong :)
  27. Offline


    I ... I.... I love you, so much. [redflower]
  28. Offline


    I tried doing Basic setup tutorial but the prefixes doesn't seem to work. I tried typing in /pex group Admins prefix "&0(&4Admins&0)&7 " anything I'm doing wrong?
  29. Offline


    • as you may have noticed the Wiki is currenlty outdated. Im currently updateing it to latest 1.12 changes
    • some permissions nodes have changed! Please check your permissions. IE permissions.users.rank.promote moved to permissions.user.rank.promote (note user(s)). Plus commands are now multi-permission related for better permissions control. E.g. if you want to use optional arguments like [ladder] then this permission will be checked too! (see commands section on github for changes)
    (( update is in progress as of reading this. please be patient. If anyone noticed: Groups section had invalid nodes in Commands-Wiki. Accidently used "permission." instead of "permissions." sry guys this was my fault.))

    Node changes: (this post will be edited if found any, keep watching)
    • permissions.manage.groups.membership -> permissions.manage.membership
    EDIT: Command-Section on Wiki is up-to-date
  30. Offline



    Not working for me, lots of errors etc. pex 1.11 cb 860 (Tried on 928, also tried 1.12 on 860 and 928)

    I see the exception no file or directory, but i assure you the backend is setup correctly in the config and my permissions.yml is there in the correct place.
  31. Offline


    Please check your permissions.basedir property in config.yml. You moved installation from Windows to Linux, right?

    Anyway, i'll add additional check in that case, redownload 1.12

Share This Page