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


    Remove the .jar not the folder.
  3. Offline


    Does this work on a 1.7.2 server? I'm having problems, and i guess thats probably why... :/
  4. Offline


  5. Offline


    is it true that there is no API for permissionsEX except the superperms one?
    cause I wanna make a plugin that hooks in to permissionsEx and changes the group of users through the plugin, possible?

    that is the plugin I wanna make, but that is not possible without an API :(

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: Sep 9, 2018
  6. i removed the permissions jar, kept permissions folder and world.yml, ran the commands through console and nothing has changed, am i doing something wrong here?

    this is what the console is telling me

     Server: /pex backend p2compat
    PermissionsEx: Initializing file backend
    CONSOLE: Permission backend changed!
    Server: /pex dump file permissions.yml
    PermissionsEx: Initializing file backend
    PermissionsEx: Data dumped in "permissions.yml"
    Server: /pex backend file
    PermissionsEx: Initializing file backend
    CONSOLE: Permission backend changed!

    but it doesnt migrate it, just adds the current online players into default group.. can anyone else migrate my yml?
  7. Offline


    Im not asking for a new one to be made, im asking for it to be continued and permissionsex compatible

    source code is in the link

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


    How do I use iChat with this?
  9. Offline



    Description: Trying to use /pex backend p2compat to convert permissions 3.1.6 to PermissionsEx. Many suggestions, they dont work. :(

    <World>.yml -

    permissions.yml - (EXACT SAME AS WORLD.YML)

    You just need to download the ichat for permissions 2. Its on the same page as iChat p3.

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


    Ah nevermind looked at the PEX Wiki and found it.

    Though I would like to know about inheritance.
    I'm switching from Permissions 2.7.4 (tried to use the PEX commands to do it for me and just got a lot of errors so I'm just going to do it manually) and there was an inheritance option in the YML which looked like this:
            default: true
            inheritance: null
            default: false
            - Guest
    I was wonder if it was still used? If not whats the alternative if any?
    The inheritance option really helped out with all the nodes instead of writing the same ones for every group.

    I guess inheritance works! When I did the exact same format from P2 to PEX it worked just fine. Might wanna put that somewhere so people know.
  11. Offline


    pex group Admins create

    Gives me:

    01:27:18 [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'pex' in plugin PermissionsEx v1.13
    at org.bukkit.command.PluginCommand.execute(
    at org.bukkit.command.SimpleCommandMap.dispatch(
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
    at net.minecraft.server.MinecraftServer.b(
    at net.minecraft.server.MinecraftServer.h(
    Caused by: java.lang.RuntimeException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    at ru.tehkode.permissions.commands.CommandsManager.execute(
    at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand(
    at org.bukkit.command.PluginCommand.execute(
    ... 6 more
    Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
    at ru.tehkode.permissions.backends.file.FileEntity.getNode(
    at ru.tehkode.permissions.backends.file.FileEntity.<init>(
    at ru.tehkode.permissions.backends.file.FileGroup.<init>(
    at ru.tehkode.permissions.backends.FileBackend.getGroup(
    at ru.tehkode.permissions.PermissionManager.getGroup(
    at ru.tehkode.permissions.bukkit.commands.GroupCommands.groupCreate(
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(
    at java.lang.reflect.Method.invoke(
    at ru.tehkode.permissions.commands.CommandsManager$
    at ru.tehkode.permissions.commands.CommandsManager.execute(
    ... 8 more
  12. Offline


    After converting my permissions from Permissions 3.x (which I reduced to 2.x format first and then converted, it's working fine), do I still require the Permissions.jar to run on our server? I am just trying to cut down on plugins.
  13. Offline


    The syntax is wrong. To create a new group just do this:
    pex group Admins
    It'll make a new group called Admins.
  14. Offline


    What errors? I may have the same issue
  15. Offline


    This is everything that I do and what it says:

    Show Spoiler

    151 recipes
    16 achievements
    14:53:50 [INFO] Starting minecraft server version Beta 1.7.3
    14:53:50 [INFO] Loading properties
    14:53:50 [INFO] Starting Minecraft server on *:25565
    14:53:50 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-980-
    g4ed23b1-b1060jnks (MC: 1.7.3)
    14:53:50 [INFO] [PermissionsEx] sql backend registered!
    14:53:50 [INFO] [PermissionsEx] file backend registered!
    14:53:50 [INFO] [PermissionsEx] PermissionEx plugin initialized.
    14:53:50 [INFO] [PermissionsEx] p2compat backend registered!
    14:53:50 [INFO] [PermissionsCompat] Compatibility Layer Initalized!
    14:53:50 [INFO] [PermissionsEx] Initializing file backend
    14:53:50 [INFO] Preparing level "world"
    14:53:50 [INFO] Preparing start region for level 0 (Seed: -1865353230724054704)
    14:53:51 [INFO] Preparing start region for level 1 (Seed: -1865353230724054704)
    14:53:51 [INFO] [PermissionsEx] Superperms support enabled.
    14:53:51 [INFO] [PermissionsEx] v1.13 enabled
    14:53:51 [INFO] [ChatManager] ChatManager disabled. Check config.yml!
    14:53:51 [INFO] [ChatManager] ChatManager disabled!
    14:53:51 [INFO] [Modifyworld] Modifyworld disabled. Check config.yml!
    14:53:51 [INFO] [Modifyworld] Modifyworld disabled!
    14:53:51 [INFO] [PermissionsCompat] Compatibility layer enabled.
    14:53:51 [INFO] Server permissions file permissions.yml is empty, ignoring it
    14:53:51 [INFO] Done (0.105s)! For help, type "help" or "?"
    >pex backend p2compat
    14:54:13 [INFO] [PermissionsEx] Initializing p2compat backend
    14:54:13 [INFO] [PermissionsCompat] Parsing "Chadscraft.yml" file
    14:54:13 [INFO] Permission backend changed!
    >pex dump file permissions.yml
    14:54:28 [INFO] [PermissionsEx] Initializing file backend
    14:54:28 [INFO] Error: No default group defined. Use "pex set default group <gro
    up> [world]" to define default group.
    14:54:28 [SEVERE] Error: No default group defined. Use "pex set default group <g
    roup> [world]" to define default group.
    14:54:28 [SEVERE] java.lang.IllegalStateException: No default group defined. Use
    "pex set default group <group> [world]" to define default group.
    14:54:28 [SEVERE] at ru.tehkode.permissions.PermissionManager.getDefaultGr
    14:54:28 [SEVERE] at ru.tehkode.permissions.PermissionManager.getDefaultGr
    14:54:28 [SEVERE] at ru.tehkode.permissions.PermissionUser.getGroups(Permi
    14:54:28 [SEVERE] at ru.tehkode.permissions.PermissionUser.getGroupsNames(
    14:54:28 [SEVERE] at ru.tehkode.permissions.PermissionUser.getGroupsNames(
    14:54:28 [SEVERE] at ru.tehkode.permissions.backends.FileBackend.dumpData(
    14:54:28 [SEVERE] at ru.tehkode.permissions.bukkit.commands.UtilityCommand
    14:54:28 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M
    14:54:28 [SEVERE] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S
    14:54:28 [SEVERE] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno
    wn Source)
    14:54:28 [SEVERE] at java.lang.reflect.Method.invoke(Unknown Source)
    14:54:28 [SEVERE] at ru.tehkode.permissions.commands.CommandsManager$Comma
    14:54:28 [SEVERE] at ru.tehkode.permissions.commands.CommandsManager.execu
    14:54:28 [SEVERE] at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand
    14:54:28 [SEVERE] at org.bukkit.command.PluginCommand.execute(PluginComman
    14:54:28 [SEVERE] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
    14:54:28 [SEVERE] at org.bukkit.craftbukkit.CraftServer.dispatchCommand(Cr
    14:54:28 [SEVERE] at net.minecraft.server.MinecraftServer.b(MinecraftServe
    14:54:28 [SEVERE] at net.minecraft.server.MinecraftServer.h(MinecraftServe
    14:54:28 [SEVERE] at
    14:54:28 [SEVERE] at
  16. Offline


    I have a similar issue, so we both need help, this only occurs when typing the /pex backend p2compat command.

        pex backend p2compat
        15:47:18 [INFO] [PermissionsEx] Initializing p2compat backend
        15:47:18 [INFO] [PermissionsCompat] Parsing "25Main.yml" file
        15:47:18 [INFO] Error during backend initialization.
        15:47:18 [SEVERE] expected '<document start>', but found BlockMappingStart
         in "<reader>", line 278, column 1:
        15:47:18 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl$ParseDocumentStart.produce(
        15:47:18 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(
        15:47:18 [SEVERE]       at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(
        15:47:18 [SEVERE]       at org.yaml.snakeyaml.composer.Composer.getSingleNode(
        15:47:18 [SEVERE]       at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(
        15:47:18 [SEVERE]       at org.yaml.snakeyaml.Yaml.load(
        15:47:18 [SEVERE]       at ru.tehkode.permissions.config.Configuration.load(
        15:47:18 [SEVERE]       at ru.tehkode.permissions.compat.P2Backend.loadPermissions(
        15:47:18 [SEVERE]       at ru.tehkode.permissions.compat.P2Backend.initialize(
        15:47:18 [SEVERE]       at ru.tehkode.permissions.PermissionManager.setBackend(
        15:47:18 [SEVERE]       at ru.tehkode.permissions.bukkit.commands.UtilityCommands.setBackend(
        15:47:18 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        15:47:18 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke(
        15:47:18 [SEVERE]       at sun.reflect.DelegatingMethodAccessorImpl.invoke(
        15:47:18 [SEVERE]       at java.lang.reflect.Method.invoke(
        15:47:18 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager$
        15:47:18 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager.execute(
        15:47:18 [SEVERE]       at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand(
        15:47:18 [SEVERE]       at org.bukkit.command.PluginCommand.execute(
        15:47:18 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(
        15:47:18 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
        15:47:18 [SEVERE]       at net.minecraft.server.MinecraftServer.b(
        15:47:18 [SEVERE]       at net.minecraft.server.MinecraftServer.h(
        15:47:18 [SEVERE]       at
        15:47:18 [SEVERE]       at
    Line 278 does not say USERS, it has a permission node. Line 1 is: users:

    Edit: Yes i did.

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



    I looked at your Error report in your previous post.
    The spacing for "users" is wrong, make sure there is no space before users in both of your YMLs.
  18. Offline


    How do I make several default groups for different worlds?
    I have 3 worlds people join the first world and get the default rank(Newb) but when they goto world 2 they are still default rank newb jhow do i fix this?

    Does the console fly like 50mph?

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


    No, but it did before. You have an invalid permissions.yml

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


    Well its saying there's a problem with that line, have you used an online YML parser?
  21. Offline


    It is possible to make it so that the rank guest can talk and when someone join it automatically writes them into permission.yml. Whats the best prefixer. I used to use ichat with perm 3x
  22. Offline


    Did the online parser return any errors?
  23. Offline


  24. Offline


    Then its the plugin, have you tried redownloading the .jar and trying again?

    Hmm, well I'm at loss as to what the problem is. You might have to manually convert everything like I have to.

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


    Yes I have, multiple times

    EDIT: This error only occurs when I am trying to migrate from Permissions 2 to PermsEx using the /pex backend p2compat command

    EDIT 2: If I type and get that error mentioned above, all pex commands cease to work.

  26. Offline


    you can use ichat with this just use the one ofr permissions 2.x
  27. Offline


    what about users not getting automatically getting wrote in permissions.yml?
  28. Offline


  29. Offline


    How do I set a default rank per world? My users join on world one and are the default rank for world1 on worlds 2 and 3

    lol sorry?
    idk i havnt gotten that far yet lol

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


    What would that entail? I have 14 worlds..


    I was joking ;)

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


    get your first world done probably your spawn world thats what i did once you get that its easy for the rest :D

Share This Page