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


    Hello again, Ive migrated over to Pex from groupmanager and I have a few questions. These will probably be simple answers and me just being an idiot somewhere down the line. Firstly using the
    /user [user] set group [group]
    does not actually change the users group. Looking into the config files it seems to just add it under "Options:" Also I have set all the rank numbers for each group but when i try
    /pex promote [user]
    I get the message "17:45:44 [SEVERE] Ranking Error (Diagonalspoon > FarmerJigsaw): User are not in this ladder" Help would be awesome!
  3. Offline


    Thank you for bug report. Fixed in lastest build.
  4. Offline


    Ok a few questions/concerns/w/e you want to call them.

    First, anytime I use any ingame command besides /pex reload, it crashes my server (IE Read Timed Out Error) and needs to be forced down and restarted, this wasnt such a big deal until I wanted to promote users ingame with the /pex promote playername command.

    Second, when new players join the server, they are not automatically added to the permissions.yml users: list. This presents a big issue for my server.

    Also, not really a bug, not im not fully clear on how exactly I make it so the perms only effect certain worlds in the permissions.yml file, thoughts?

    Finally, I think thats actually all of it, will edit with more if I remember, answer at your own discretion.
  5. Offline


    Right, ChatManager is disabled by default and can be removed without any remorse :D

    More info, pls. Server.log would be fine.

    This works how its intended. It's ridicilous to add any user whom visited your server to permissions.yml. For daily tasks (changing user group) use commands instead of direct permissions.yml editing.

    Is it so hard to read FAQ in OP post? ;)

    You are welcome :D

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


    I know my problems really realyl probably easy to solve, can you just give us an answer? :)
  7. Offline


    pex user <user> group set <group>

    not set group
  8. Offline


    My plugin just randomly died and now chatmanager and modifyworld wont start :S any ideas It was working perfectly an hour ago.
  9. Offline


    Yep that was it.. I dont how many time I checked that file and thought that it said : true.. thanks, working as needed now!
  10. Offline


    In response to the first part, here is the server log, i also input in quotes where I put the command etc.

    2011-08-22 20:25:47 [INFO] [PLAYER_COMMAND] kyuubibr: /weather sun
    2011-08-22 20:25:52 [INFO] [PLAYER_COMMAND] Kaeweze: /sethome
    2011-08-22 20:26:04 [INFO] [Admin] [Aru]: server may crash
    2011-08-22 20:26:05 [INFO] [Member] [Kaeweze]: where are you guys shawn
    2011-08-22 20:26:13 [INFO] [Member] [Kaeweze]: why
    (used the /pex promote PlayerName command here)
    2011-08-22 20:27:40 [INFO] Read timed out
    (above is the read time out error occuring after, and below is me having to force a stop on my server to boot it up)
    2011-08-22 20:28:04 [INFO] Starting minecraft server version Beta 1.7.3
    2011-08-22 20:28:04 [INFO] Loading properties
    2011-08-22 20:28:04 [INFO] Starting Minecraft server on *:25565

    In response to the second part, the old permissions basic did it, saved a lot of time for inputing when players need ranks, but w/e, ill deal with it till i find another permissions.

    For the third part, not to insult your competence, but if you had read the first part, you would know using any of those types of permissions commands cause my server to to RTE, so just providing the syntax for the yml file instead of an asinine response about reading the FAQ (which I have) would have been prefered.

    Once again, answer at your own discretion.
  11. Offline


    I also have requested that, when 1.13 was released, and told it would be put in 1.14.
    Still hoping it gets put in because I really it.

    Also, would it be possible to add different defaults per world? I want to have a different default group per world, which would also mean users would have different groups in each world. Is this possible?
  12. Offline


    Can someone please tell me why I'm getting

    [SEVERE] [ChatManager] PermissionsEx not found, disabling
    [SEVERE] [Modifyworld] PermissionsEx not found, disabling

    They are all in the plugins folder, all the same version. Why does it keep disabling chatmanager and modifyworld?
  13. Offline


    So am i the only one experiencing this bug??

  14. Offline


    Forgive me for posting what may have already been answered, but I've been getting really frustrated trying to find a way around my dillema. I'm a prior user of 2.7.6 w/ assignpermissions plugins.

    I need to be able to give one of my groups name "mod2" the ability to promote/demote "default" users to the "member" group.

    However, the problem I have found is that you only have very general permission nodes... Nothing specific to allow me to give them the only ability of adding players to certain groups... This in effect allows them to promote themself, or anyone else, up to the group stats of "admin."

    Am I missing something, do you have a more specific node?

    Assignpermissions in combination with permissions 2.7.6 allowed me to simply give mods a node of:


    Please tell me I'm overlooking something, and that the same is possible with permissionsex. Thank you!
  15. Offline


    I have some problems with negating of permissions. I tried the Basic setup example and it works like a charm, exept that mobs can attack me. So I tried to forbid "Members" to chat. This is my configuration:
    But Member are able to chat. Any suggestions?
  16. Offline


    you need to go into their config.ymls and set something like 'enable=true'

  17. Offline


    @t3hkod3 GREAT plugin, I have been having an issue with in game commands though. I have quite a large number of permissions in my permissions.yml file (approx 9.5 KB worth) and I have used both permissions file and permissions sql. When I use permissions file though the in game commands take a long time and send read timed out errors to the server while it is making the change. Usually this results in the server getting hung and although people are connected to the server it is unusable. When I used the sql version it didn't hang at all and the permissions were instant. However, I like to change the options by hand in the yml file. Is there a way that I could change the yml files in game w/o it hanging the server? Thanks for any help.
  18. Offline


    i have a problem:
    00:44:46 [INFO] Starting Minecraft server on *:25565
    00:44:46 [WARNING] The server will make no attempt to authenticate usernames. Be
    00:44:46 [WARNING] While this makes the game possible to play without internet a
    ccess, it also opens up the ability for hackers to connect with any username the
    y choose.
    00:44:46 [WARNING] To change this, set "online-mode" to "true" in the server.set
    tings file.
    00:44:46 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-945-
    g73697a4-b1000jnks (MC: 1.7.3)
    00:44:47 [INFO] [PermissionsEx] sql backend registered!
    00:44:47 [INFO] [PermissionsEx] file backend registered!
    00:44:47 [INFO] [PermissionsEx] PermissionEx plugin initialized.
    00:44:47 [INFO] [PermissionsEx] p2compat backend registered!
    00:44:47 [INFO] [PermissionsCompat] Compatibility Layer Initalized!
    00:44:47 [INFO] [PermissionsEx] Initializing file backend
    00:44:47 [SEVERE] while scanning for the next token; found character '\t' tha
    t cannot start any token initializing PermissionsEx v1.13 (Is it up to date?)
    while scanning for the next token
    found character '\t' that cannot start any token
    in "<reader>", line 9, column 21:

    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja
    at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(
    at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(P
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(
    at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(
    at org.yaml.snakeyaml.composer.Composer.composeNode(
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(
    at org.yaml.snakeyaml.composer.Composer.composeNode(
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(
    at org.yaml.snakeyaml.composer.Composer.composeNode(
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(
    at org.yaml.snakeyaml.composer.Composer.composeNode(
    at org.yaml.snakeyaml.composer.Composer.composeDocument(
    at org.yaml.snakeyaml.composer.Composer.getSingleNode(

    at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    at org.yaml.snakeyaml.Yaml.load(
    at ru.tehkode.permissions.config.Configuration.load(
    at ru.tehkode.permissions.backends.FileBackend.initialize(FileBackend.ja
    at ru.tehkode.permissions.PermissionManager.setBackend(PermissionManager
    at ru.tehkode.permissions.PermissionManager.initBackend(PermissionManage
    at ru.tehkode.permissions.PermissionManager.<init>(PermissionManager.jav
    at ru.tehkode.permissions.bukkit.PermissionsEx.onLoad(
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(
    at org.bukkit.craftbukkit.CraftServer.<init>(
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur
    at net.minecraft.server.MinecraftServer.init(
    00:44:47 [WARNING] [PermissionsCompat] PermissionsEx plugin not found. Some plug
    ins may not work.

    Where should i search for this "^"?
  19. Offline


    I am getting so many errors, i cant let people on my server! There are too many errors to post, but could somone post an example <World>.yml file?

    18:41:55 [INFO] [PermissionsCompat] Parsing "25Main.yml" file
    18:41:55 [INFO] Error during backend initialization.
    18:41:55 [SEVERE] expected '<document start>', but found BlockMappingStart
     in "<reader>", line 278, column 1:
    18:41:55 [SEVERE]     at org.yaml.snakeyaml.parser.ParserImpl$ParseDocumentStart.produce(
    18:41:55 [SEVERE]     at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(
    18:41:55 [SEVERE]     at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(
    18:41:55 [SEVERE]     at org.yaml.snakeyaml.composer.Composer.getSingleNode(
    18:41:55 [SEVERE]     at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(
    18:41:55 [SEVERE]     at org.yaml.snakeyaml.Yaml.load(
    18:41:55 [SEVERE]     at ru.tehkode.permissions.config.Configuration.load(
    18:41:55 [SEVERE]     at ru.tehkode.permissions.compat.P2Backend.loadPermissions(
    18:41:55 [SEVERE]     at ru.tehkode.permissions.compat.P2Backend.initialize(
    18:41:55 [SEVERE]     at ru.tehkode.permissions.PermissionManager.setBackend(
    18:41:55 [SEVERE]     at ru.tehkode.permissions.bukkit.commands.UtilityCommands.setBackend(
    18:41:56 [SEVERE]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    18:41:56 [SEVERE]     at sun.reflect.NativeMethodAccessorImpl.invoke(
    18:41:56 [SEVERE]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    18:41:56 [SEVERE]     at java.lang.reflect.Method.invoke(
    18:41:56 [SEVERE]     at ru.tehkode.permissions.commands.CommandsManager$
    18:41:56 [SEVERE]     at ru.tehkode.permissions.commands.CommandsManager.execute(
    18:41:56 [SEVERE]     at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand(
    18:41:56 [SEVERE]     at org.bukkit.command.PluginCommand.execute(
    18:41:56 [SEVERE]     at org.bukkit.command.SimpleCommandMap.dispatch(
    18:41:56 [SEVERE]     at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
    18:41:56 [SEVERE]     at net.minecraft.server.MinecraftServer.b(
    18:41:56 [SEVERE]     at net.minecraft.server.MinecraftServer.h(
    18:41:56 [SEVERE]     at
    18:41:56 [SEVERE]     at
    18:41:56 [INFO] [PermissionsEx] Initializing file backend
    18:41:56 [INFO] [PermissionsEx] Data dumped in "permissions.yml"
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Sep 9, 2018
  20. Offline


    We recently started using this for permissions on our server.. I'm liking how its setup.

    However for some reason the suffix and prefix automatically add brackets to the chat line. I would greatly appreciate someone explaining how to remove them or maybe adding an option to. :D

  21. Offline


    Hey t3hk0d3, is there a way to make player health show up in chat? If not, could you recommend a compatible plugin that does?
  22. Offline


    mchat is very nice

    Are you using the chat plugin that comes with permissionsEx or are you using another chat plugin? You probably just need to change the config file for the chat plugin :)
  23. Offline


  24. Offline



    Awesome that you added permisionsbukkit support :D

    But I got a problem by migrating from permissions. That is the reason why I haven't switched to this plugin already.
    I pulled my two permissions files from the world I have as main world, into one file in the root. Now I use the first command in the console, no errors. Then with the second command it gives as error "no default group" or something like that.

    Any idea how to fix that? Cause I have a group in the permissions file with as option default: true. (not under the section options, but on the place it should be)
  25. Offline


    Anyone? Really could use some assistance with this. Thank you!

    On a side note, another issue (with either PEX or xauth): Players who log in prior to using /login still have all the useable commands of that PEX players username. Thus players could potentially log in as another persons name w/ all the commands without even having to verify there login. Massive problem. Help?
  26. Offline


  27. Offline


    To answer your first question use ranks. With that you can set it up so your mod2 group can only promote to a rank you define. As for your question about /login issues, that has to deal with xAuth and it really isn't a massive problem as there is no real reason (other than the obvious) to be running in offline mode and to be worried about users logging in as other users. If that is such a big problem, don't have online-mode set to false. But to bide by your question, it seems xAuth related to me.

    Why not try looking into the problem yourself? To make you feel better, line 278 onward in your permissions.yml you have groups instead of group.
  28. Offline


    It is a massive problem when your server is dedicated to supporting both free (cracked) and paid clients. I'm not a large fan of Notch, and I give people the option to opt-out of paying for a BETA game, instead encouraging players to support the plugin developers.

    But thank you for the rank structure answer! So if you could elabroate a bit more, I'd really appreciate it. Iet's say I have these ranks: default (default), vip, donate, donate2, donate3, donate4, mod2, mod, headmod, admin.

    I assume I would make a ranking 'value' of: (I also don't understand the difference in values, couldnt i just use #'s 1-10 rather then 0-1000?
    admin - 0
    headmod - 100
    mod - 200
    mod2 - 300
    donate4 - 400
    donate3 - 500
    donate2 - 600
    donate - 700
    vip - 800
    default - 900

    and leave mod2 with permission nodes of:

    (assuming I have the hierarchy properly setup, which I do):
    With this setup, would this then only allow mod2's to promote players to ranks below them?
  29. Offline


    Yes you can just use 0 - 10. As far as I can tell, using numbers in between say 10 and 20 would be most useful to people running faction servers where there are a lot of in-between groups. As for the permission nodes, just permissions.user.promote and permissions.user.demote. And yes this would only allow mod2 to promote/demote to a rank lower then their current rank.
  30. Offline


    You also have the Member group inheriting from a group called Default. You don't have a group called Default specified so you probably need to change that to Untrusted
  31. Offline


    Gotcha, thanks for the speedy replies and help! Just to verify, I wouldn't use the .ladder extension? Ladder being the rank #? Say I only wanted mod2 to be able to promote a default player to a "VIP" player, and nothing else. Would I then use the .ladder# extension? i.e. permissions.user.promote.8


Share This Page