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

    t3hk0d3

    [​IMG]
    Version: 1.19.5

    PLEASE USE BUKKIT-DEV FORUM FOR DISCUSSION/HELP
    http://dev.bukkit.org/server-mods/permissionsex/
    THANKS IN ADVANCE.

    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.

    [​IMG]

    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.


    Documentation
    Wiki

    Basic setup tutorial (Thanks to lycano)

    Nice tutorial made by Bennetman


    Download
    Stable version

    Development version (mostly stable) - always lastest dev build.

    Sources
    https://github.com/PEXPlugins

    Builds
    http://webbukkit.org:8080/

    Maven Repository
    http://repo.tehkode.ru/browse/ru.tehkode

    IRC
    Join us on #permissionsex, irc.esper.net. Feel free to ask any related questions.

    Tools !NEW!
    Pex Auto-Setup Tool - MySQL and FlatFile !


    Changelog
    Show Changelog (open)
    v1.19.5
    Proper intervals for timed commands (both group/permissions management), without pesky seconds calculations (like /pex user t3hk0d3 timed add cool.permission 10days)
    Bugfixes.
    1.4.6 compatibility.


    v1.19.4
    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
    v.1.19.3
    Modifyworld improvements (configurable messages, now independent from PEX)
    /pex help command
    Minor improvements and bugfixes
    v.1.19.2
    New modifyworld permissions
    Some bugfixes
    v.1.19.1
    Bugfix release
    v1.19
    Bukkit R6 compatible.
    Several bugfixes!
    Permissions now case-insensetive.
    v1.18
    Users logging and cleanup feature.
    Non-inheriting nodes feature.
    Several Bugfixes.
    PermissionsCompat is finally remove from default bundle.
    v1.17
    User/group specific management permissions (permissions.manage.group.Admin)
    Fixed some superperms compatibility issues
    Fixed several bugs
    v1.16
    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)
    v1.15
    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
    v1.14
    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.
    v1.13
    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.
    v1.12
    API get slightly improved
    Ranking ladders.
    User/group name case-insensetivity.
    World-inheritance.
    Timed permissions.
    Modifyworld rules are get improved.
    Tons of minor improvements and bugfixes.
    v1.11
    Many bugfixes and improvements.
    MySQL connection stability improved - reconnection mechanism.
    v1.10
    Promotional/Demotional system.
    Perfomance improvement, with new low-level caching system (thx Joy)
    Modifyworld improved.
    Many lesser improvements and bugfixes.
    v1.06
    New p2compat backend, for easy migration from Permissions 2.x to PEX.
    v1.05
    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.
    v1.04
    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.
    v1.03
    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!
    v1.02
    Compatibility layer loading order issue fixed. Now most of plugins should work.
    Tested with new CB 803 build.
    v1.01
    Regular expression permissions support.
    Newer permissions now added above (bugfix).
    Several bugfixes.
    v1.00
    Initial public release.
     
    BRampersad, grid21, MrRazull and 71 others like this.
  2. Offline

    t3hk0d3

    Check groups using "pex user <user> groups list [world]"
     
  3. Offline

    xsolar66

    aye did that, it said group New, not survivor like it should be defaulting to
     
  4. Offline

    t3hk0d3

    show your permissions.yml pls. pastie.org would be fine.
     
  5. Offline

    xsolar66

  6. Offline

    prefix

    I don't have such a folder. I'm probably running the older version, should i update? Do i need to change anything to keep running file backend with modifyworld if i download the new update?

    Thanks for the reply btw, i was afraid i had done something wrong :D
     
  7. Offline

    tomnicklin

    Anyone know what permissions I need to give so my Mods can use promote/demote they are getting a error about a ladder?
     
  8. Offline

    Kommy000

    So with negative I have to put quotes around the permission node?? because I didn't have to do it with normal nodes
     
  9. Offline

    ctshiner

    I've been trying to migrate to this for weeks, now I'm getting spammed with this whenever I join, no matter, wat group I'm in, no matter what world I'm in. I'm using the unmodified permissions.yml that the converter generated from my permissions2x setup

    Code:
    19:55:41 [SEVERE]     at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    what does this mean?
     
  10. Offline

    t3hk0d3

    Are you sure you are lastest version?
    Can you post full server.log featuring this error?
     
  11. Offline

    Kiithnaras

    I absolutely love your plugin. It makes permission management simple, so very, very simple, yet powerful and robust. I do have a small issue, though. I also love the ShelfSpeak plugin. It does not officially support PEX, rather supporting Permissions 3.1.5b. This plugin requires certain "info" nodes to be defined user(s) or group(s) attempting to write to a shelf. It seems that PEX does not handle these "info" nodes in a compatible way, unless I missed something and am totally derp. If it helps, I will post the error:
    Code:
    2011-08-10 21:47:53 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'shelfline' in plugin ShelfSpeak v0.7
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:320)
        at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:713)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:677)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:670)
        at net.minecraft.server.Packet3Chat.a(Packet3Chat.java:33)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:85)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    Caused by: java.lang.NoSuchMethodError: com.nijiko.permissions.PermissionHandler.getInfoInteger(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/Integer;
        at pyromanic.ShelfSpeak.ssPermissions.maxLines(ssPermissions.java:127)
        at pyromanic.ShelfSpeak.ShelfSpeak.parseLineArgs(ShelfSpeak.java:111)
        at pyromanic.ShelfSpeak.Commands.LineCommand.onCommand(LineCommand.java:34)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        ... 12 more
    If there is a way you could support this permission info-node method, that would be awesome. If not, I will simply have to ask the plugin author to support PEX.
     
  12. Offline

    ctshiner

    Yeah it's definitely the latest, I found the error lies somewhere in the "worlds:" parts of the config. I think I'm just going to start over and rebuild my permissions only with in-game commands. It's too hard to figure out the file structure with the wiki being so out of date
     
  13. Offline

    tomnicklin

    still wait for answer to my question, what permissions do I need to give to my Mods for them to promote/demote, ive given them nearly all permissions and still say something about a ladder? cannot promote on that ladder?
     
  14. Thanks for this plugin! Permissions just wasn't working for me but this does!
     
  15. Offline

    repeat

    i created new world and teleported to there.
    /pex world test inherit world
    after sometime i look at console and...

    Show Spoiler

    2011-08-11 19:38:43 [SEVERE] Could not pass event PLAYER_CHAT to ChatManager
    java.lang.StackOverflowError
    at java.util.regex.Pattern.atom(Unknown Source)
    at java.util.regex.Pattern.sequence(Unknown Source)
    at java.util.regex.Pattern.expr(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.util.regex.Pattern.<init>(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.lang.String.split(Unknown Source)
    at java.lang.String.split(Unknown Source)
    at org.bukkit.util.config.ConfigurationNode.getProperty(ConfigurationNode.java:82)
    at org.bukkit.util.config.ConfigurationNode.getList(ConfigurationNode.java:282)
    at org.bukkit.util.config.ConfigurationNode.getStringList(ConfigurationNode.java:306)
    at ru.tehkode.permissions.backends.file.FileGroup.getParentGroupsNamesImpl(FileGroup.java:51)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:204)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)
    at ru.tehkode.permissions.PermissionGroup.getParentGroups(PermissionGroup.java:225)

     
  16. Offline

    tomnicklin

    anyone?
     
  17. Offline

    MusicMonkey5555

    I just made sure that there where levels for each group and then I have been doing the promote/demote and I have the permission '*' so I can do anything. I am not sure about those command specifically. Sorry I can't help much more. I am going to eventually want the same thing, but am having my own issues in other departments, like allowing people to place water and lava and others not (http://forums.bukkit.org/threads/ad...orrow-is-today-1000.18140/page-30#post-560703) From the looks of it there are more people on here with questions/issues, then those able to answer them. I think most people sort of want the same permission levels, wish there was just a decent example permission file we knew worked and everyone could use as a start.
     
  18. Offline

    Sh00ck

    Super Perm Bridge :p ?

    Because all new Plugins support only Super Perm ;) ?

    a bridge to PEX whould be really cool

    @t3hk0d3

    Edit//

    Oh i see it's compatible with Super Perm ?
    is this like that BRIDGE or what ?
     
  19. Offline

    t3hk0d3

    Can you show permissions.yml? Isn't there cyclic world-inheritance happened?

    UPDATE
    Bug has been fixed in lastest version. Redownload from OP post.

    Sorry, but isn't it complicated to look over thread, im anwsered that question some amount of times.

    Quick anwser:
    permissions.users.promote.<ladder>
    permissions.users.promote.default for default ladder

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

    Paswaru

    I'm having trouble getting world inheritance to work. Once I set one world to inherit from another when I teleport, join or die and then respawn in/from the child world, I get an error like this
    2011-08-11 21:15:53 [SEVERE] Could not pass event PLAYER_RESPAWN to PermissionsEx
    java.lang.StackOverflowError followed by a large mess of errors.

    This happens even with a very simple configuration. I've also tried removing all my plugins leaving just the four from PEX, both the stable and the development downloads. If I remove the worlds section from the configuration and just set the permissions per world, everything is fine.

    My Server logs with the errors
    http://pastebin.com/6fExBGLt
    http://pastebin.com/g0VxNxdK

    My simple permissions.yml
    http://pastebin.com/Gb3kYQyq

    I've also noticed that when I issue the command pex world OurCraft_nether inherit OurCraft that it does not write it to the permissions.yml until I do another command like adding a group or permission node.
    If there is anything else I can provide to help narrow down what I'm doing wrong, please let me know.
    Thank you
     
  21. Offline

    t3hk0d3

    You can use command "pex toggle debug" to look for lacked permission.

    Thank you for detailed bug report. Really satisfying :)
    Bug fixed in lastest version (Redownload from OP post). Sorry for inconvenience.

    Yes it's compatible with BukkitPermissions since 1.13

    What do you mean?

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

    jeremytrains

    Hi, I am currently using v1.13. I am getting an error with you this.getDescription().getVersion() method/command on your onEnable() method. I have tried the getDescription() method and it DOES NOT WORK RIGHT. I get the below error. Could you please fix this startup error? Otherwise VERY COOL. I get 1000 errors with permissions, but only 1 error with permissionsEX!!! THANK YOU SOOOOOOO MUCH!!!! (Migrating from commandpermissions).

    Sorry, forgot error:
    Code:
    [SEVERE] Error occurred while enabling PermissionsEx v1.13 (Is it up to date?): org.bukkit.plugin.PluginDescriptionFile.getPermissions()Ljava/util/ArrayList;
    java.lang.NoSuchMethodError: org.bukkit.plugin.PluginDescriptionFile.getPermissions()Ljava/util/ArrayList;
        at ru.tehkode.permissions.bukkit.BukkitPermissions.collectPermissions(BukkitPermissions.java:105)
        at ru.tehkode.permissions.bukkit.BukkitPermissions.<init>(BukkitPermissions.java:73)
        at ru.tehkode.permissions.bukkit.PermissionsEx.onEnable(PermissionsEx.java:103)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:857)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:264)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:151)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  23. Offline

    Sh00ck

    with that i mean can i easyli use the BukkitPermission Nodes on PEX ?

    @t3hk0d3
     
  24. Offline

    t3hk0d3

    .
    PEX v1.13 require at least CB1000. But you can disable BukkitPerms layer in config.yml
     
  25. Offline

    Rytharr

    Sorry if this has been asked before but I cant really find much information about setting up mulit-world perms. I currently have 3worlds normal,nether,skylands all using the same permission but I want to mke a new world and have a normal&skylands creative maps then normal&nether survival maps. All users would still be in the same groups Im just not sure how to add the perms for the new worlds.

    Here is a chunk of my permissions file as it is now.
    Code:
    Users:
        Carnth:
            group:
            - Villager
        Pwnedtodeath:
            group:
            - Villager
        inAstroid:
            group:
            - Villager
        imAstroid:
            group:
            - Villager
    groups:
        Admins:
            prefix: '&1*Lord*'
            options:
                rank: '0'
            suffix: null
            inheritance:
            - Enforcer
            permissions:
            - '*'
        Enforcer:
            prefix: '&9{Enforcer}'
            suffix: null
            options:
                rank: '10'
            inheritance:
            - Elite
            - Peasant
            - Villager
            permissions:
            - supernatural.admin.command.curse
            - commandbook.give
            - worldedit.fixwater
            - worldedit.fixlava
            - worldedit.snow
            - worldedit.thaw
            - permissions.group
            - logblock.tool
            - logblock.toolblock
            - worldedit.navigation.jumpto
            - falsebook.blocks.*
            - mcbans.lookup
            - mcbans.kick
            - mcbans.mod
            - mcbans.ban.view
            - commandbook.teleport
            - commandbook.teleport.other
            - commandbook.mute
            - commandbook.debug.info
            - logblock.hide
            - commandbook.kick
            - mcbans.*
            - modifyworld.*
    .
    Also is there anyway to not need the permissions.jar anytime I try and remove it nothing works
     
  26. Offline

    MusicMonkey5555

    Ok so what does this print extra, because I can't find anything that it does. And now that I notice it, none of my modifyworld. something permissions are doing anything, so it almost makes me think modifyworld is the wrong command now? I don't know.
     
  27. Offline

    jeremytrains

    I have CB1000. What can I do to fix this error?

    ???:confused:
     
  28. Offline

    XepherLink

    I am OP + OWNER and cannot even promote
     
  29. Offline

    Bronski

    Doh. Can we get some info/update on that? I just realized mine wasn't working either (could have been catastrophic if I had a large server), and I don't know what some of these new options are:

    whitelist: false (<does that mean the default server message to non-whitelisted players will display, and if it's set to true, PEX will instead send the message you have configured there?).

    And do we remove the 'modifyworld' and 'informplayers' sections from our main PEX config.yml now?
     
    MusicMonkey5555 likes this.
  30. Offline

    MusicMonkey5555

    I second that, I think that is why my modifyworld wasn't working. It was enabled in the wrong spot. I am testing it now, but I am guessing this was why. Updating the docs may be easier then replying to 20 people saying things don't work, because they are following what is on there.
     
  31. Offline

    suicidal_banana

    Having some issue prolly caused by cleaning the database for a fresh start;
    Code:
    There is no default group set, this is a serious issue
    The thing is, there is a group named default, but apparently its not default, can i fix that?

    ---

    Edit: the wiki features these two;
    Code:
    pex default group [world] - Print default group for specified world
    pex set default group [world] - Set default group for specified world
    but set doesn't have a group argument? trying to feed it anyway didnt seem to help
     

Share This Page