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

    Scizzr

    Just saying: You should try harder to be more original.
    Hmm. Yeah.
     
  3. Offline

    t3hk0d3

  4. Offline

    meiamone

    I have looked all over my permissions file and haven't seen anything that should prevent -modifyworld.entity.mobtarget.* from working. Does anyone else see a problem?
    Code:
    groups:
        Guest:
            default: true
            worlds: null
            permissions:
            - craftbook.mech.elevator.use
            - craftbook.mech.bridge.use
            - craftbook.mech.bookshelf.use
            - commandbook.motd
            - commandbook.rules
            - commandbook.kit.kits.starter
            - commandbook.time.check
            - commandbook.whereami
            - commandbook.whereami.compass
            - commandbook.clear
            - commandbook.debug.info
            - commandbook.spawn
            - lwc.create.private
            - lwc.info
            - lwc.remove
            - modifyworld.chat
            - modifyworld.blocks.destroy.2|3|5|12|17|24|50
            - modifyworld.blocks.place.2|3|5|12|17|24|50
            - modifyworld.blocks.interact.2|3|5|12|17|24|50|324
            - modifyworld.items.drop.*
            - modifyworld.items.pickup.*
            - modifyworld.items.have.*
            - modifyworld.entity.interact.*
            - modifyworld.vehicle.enter
            - modifyworld.vehicle.collide
            options:
                rank: '1000'
            prefix: '&0(&8G&7uest&0)&7 '
        Citizen:
            default: false
            worlds: null
            permissions:
            - iConomy.access
            - citizens.use.*
            - commandbook.motd
            - commandbook.rules
            - commandbook.time.check
            - commandbook.whereami
            - commandbook.whereami.compass
            - commandbook.clear
            - commandbook.debug.info
            - commandbook.spawn
            - commandbook.kit.list
            - commandbook.msg
            - commandbook.say.me
            - commandbook.who
            - craftbook.mech.elevator.use
            - craftbook.mech.bridge.use
            - craftbook.mech.bookshelf.use
            - DuckShop.use.*
            - dwarfforge.create
            - dwarfforge.use
            - dwarfforge.destroy
            - lwc.create.private
            - lwc.info
            - lwc.remove
            - modifyworld.*
            - monsterhunt.usercmd.hunt
            - monsterhunt.usercmd.huntscore
            - monsterhunt.usercmd.huntstatus
            - monsterhunt.usercmd.hunttele
            - myhome.home.basic.*
            - mywarp.warp.basic.warp
            - mywarp.warp.basic.createprivate
            - mywarp.warp.basic.delete
            - mywarp.warp.basic.welcome
            - mywarp.warp.basic.compass
            - mywarp.warp.basic.list
            - mywarp.warp.basic.search
            - mywarp.warp.soc.invite
            - mywarp.warp.soc.uninvite
            options:
                rank: '900'
            prefix: '&0(&eCitizen&0)&7 '
            inheritance: null
        Builder:
            default: false
            worlds: null
            permissions:
            - commandbook.kit.kits.builder
            - DuckShop.create.personal
            - DuckShop.break.personal
            - jobs.join.*
            - jobs.world.*
            - -modifyworld.blocks.destroy.13|14|15|16|21|22|24|82|87|88|89
            options:
                rank: '910'
            prefix: '&0(&eBuilder&0)&7 '
            inheritance:
            - Citizen
        Miner:
            default: false
            worlds: null
            permissions:
            - commandbook.kit.kits.miner
            - DuckShop.create.personal
            - DuckShop.break.personal
            options:
                rank: '920'
            prefix: '&0(&eMiner&0)&7 '
            inheritance:
            - Citizen
        Blacksmith:
            default: false
            worlds: null
            permissions:
            - commandbook.kit.kits.blacksmith
            - DuckShop.create.personal
            - DuckShop.break.personal
            - -modifyworld.blocks.destroy.13|14|15|16|21|22|24|82|87|88|89
            options:
                rank: '930'
            prefix: '&0(&eBlacksmith&0)&7 '
            inheritance:
            - Citizen
        Farmer:
            default: false
            worlds: null
            permissions:
            - commandbook.kit.kits.farmer
            - DuckShop.create.personal
            - DuckShop.break.personal
            - -modifyworld.blocks.destroy.13|14|15|16|21|22|24|82|87|88|89
            options:
                rank: '940'
            prefix: '&0(&eFarmer&0)&7 '
            inheritance:
            - Citizen
        Lumberjack:
            default: false
            worlds: null
            permissions:
            - commandbook.kit.kits.lumberjack
            - DuckShop.create.personal
            - DuckShop.break.personal
            - -modifyworld.blocks.destroy.13|14|15|16|21|22|24|82|87|88|89
            options:
                rank: '950'
            prefix: '&0(&eLumberjack&0)&7 '
            inheritance:
            - Citizen
        Engineer:
            default: false
            worlds: null
            permissions:
            - citizens.create.trader
            - commandbook.kit.kits.builder
            - commandbook.kit.kits.miner
            - commandbook.kit.kits.blacksmith
            - commandbook.kit.kits.farmer
            - commandbook.kit.kits.lumberjack
            - commandbook.more
            - commandbook.kick
            - craftbook.mech.ammeter.use
            - craftbook.mech.elevator
            - craftbook.mech.bridge
            - craftbook.mech.gate
            - craftbook.mech.cauldron
            - -modifyworld.items.drop.*
            options:
                rank: '800'
            prefix: '&0(&eEngineer&0)&7 '
            inheritance:
            - Citizen
        Agent:
            default: false
            worlds: null
            permissions:
            - craftbook.mech.ammeter.use
            - commandbook.teleport.other
            - commandbook.call
            - commandbook.bans.isbanned
            - commandbook.kick
            - commandbook.kit.kits.mod
            - PortableTorch.Allow
            - worldguard.locate
            - worldguard.fire-toggle.*
            options:
                rank: '100'
            prefix: '&0(&1Agent&0)&7 '
            inheritance:
            - Citizen
        Owner:
            default: false
            worlds: null
            permissions:
            - '*'
            -modifyworld.entity.mobtarget.*
            options:
                rank: '0'
            prefix: '&0(&6Owner&0)&7'
    users:
     
  5. Offline

    t3hk0d3

     
  6. Offline

    meiamone

    I didn't know the order mattered. Thanks much, I will try it now!
     
  7. I keep getting this message when I use iChat:

    iChat: Found Permissions (v2.7.7)
    iChat: Permissions plugin not found or wrong version. Disabling
    iChat: iChat Disabled

    I'm pretty sure I installed the compat.

    Here's my config:
    http://pastebin.com/41KACYBt
     
  8. Offline

    sem785

    Yeah I dont know where the random spaces came from but in my permissions.yml everything is good, like you said :p
     
  9. Offline

    Drago1128

    I just dragged everything into my plugins folder and it worked! For u:[diamond][diamond][diamond][diamond][cake][cake] :)
    EDIT: Nvm it itsn't working now... D:
    Edit 2: I Am so confused of how to install it... right.... all videos of YouTube... are... German ...
     
  10. Offline

    robbydude

    Hey t3hk0d3. Is there a way I can let users themselves use the command /pex user <name> group set <group> where <group> is the <user>'s group, and that group only?
     
  11. Offline

    t3hk0d3

    Not actually, this is very specific behavior. Also i don't think what this is good idea to let users promote users in own group :)
     
  12. Offline

    repeat

    ChatManager: suggestion!

    Code:
            message = message.replace("%prefix", this.colorize(user.getPrefix()))
                             .replace("%suffix", this.colorize(user.getSuffix()))
                             .replace("%world", player.getWorld().getName())
                             .replace("%message", chatMessage)
                             .replace("%player", player.getName());
    
            message = this.replaceTime(message);
    
    
            event.setFormat("%2$s");
            event.setMessage(message);
    You make message which include player name. It sad. At dynmap I have dublicate
    DenysPro: DenysPro: shas nado poehaty v magazin kupity koe


    What if make something like this (not code but i belive you see principle and make it rightly)

    Code:
            name = message.replace("%prefix", this.colorize(user.getPrefix()))
                            .replace("%suffix", this.colorize(user.getSuffix()))
                            .replace("%world", player.getWorld().getName())
                            .replace("%message", "")
                            .replace("%player", player.getName());
    
    Event.getPlayer().setDisplayName(name)
    
            name = message.replace("%prefix", "")
                            .replace("%suffix", "")
                            .replace("%world", "")
                            .replace("%message", chatMessage)
                            .replace("%player", "");
       message = this.replaceTime(message);
            event.setFormat("%2$s");
            event.setMessage(message);
     
  13. Offline

    alfskan

    how can I update?(0.1.2->0.1.3)

    just replace jar file?
     
  14. Offline

    flames

    chatmanager works like it should, dynmap chat implentation was originally made for ichat and no chatplugin, so dynmap adds nickname by itself. we will provide a fix for dynmap very soon.
     
  15. Offline

    t3hk0d3

  16. Offline

    briankdk

    Wow - That would be SO great !!

    Can u guide me in the right direktion ???? I have tryed to get it to work for 2 weeks now.....

    And now i looked again.... there isent anywhere i can config it so that people can build, get stuf etc...without them being OPED first :-(

    I figured it out...allmost!

    Now people can build..... even if they are not OP's.... but how can i give them permission to use "/give briankdk 001 10" (so i get 10 items of stone)

    Even if it set permission to '*' it still can be used (and the same minutte i OP my self...i can use "/give briankdk 001 10"

    Anyone know how to fix it ?

    ANd....now i got that to wwork...except then "Too many items" dosent work anymore....

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

    Luke Zwekii

  18. Offline

    Saxona

    EDIT: /FACEPALM

    I'm an idiot and really shouldn't post or try to learn things when I've been up for 20 hours ~_~
     
  19. Offline

    repeat

    Modifyworld and ChatManager not work without PEX (is it correct behavior?)
    Code:
    2011-08-02 17:10:14 [SEVERE] Could not load 'plugins\ChatManager.jar' in folder 'plugins': PermissionsEx
    org.bukkit.plugin.UnknownDependencyException: PermissionsEx
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:207)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:130)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:128)
        at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:97)
        at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:51)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:132)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
      
    2011-08-02 17:10:14 [SEVERE] Could not load 'plugins\Modifyworld.jar' in folder 'plugins': PermissionsEx
    org.bukkit.plugin.UnknownDependencyException: PermissionsEx
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133)
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:207)
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:130)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:128)
        at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:97)
        at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:51)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:132)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
     
  20. Offline

    t3hk0d3

    Do you expect what plugins which are part of PEX will work without PEX?

    Thank you for bug report. Fixed in lastest build. Just redownload archive from first post.

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

    Luke Zwekii

    Okay, will do.

    Edit: The messages are gone :cool:
     
  22. Offline

    repeat

    what's the point was to separate them? :)
     
  23. Offline

    Luke Zwekii

    So you have the ability choose if you want Modifyworld and ChatManager (And to not make PEX so bloated) (?)
     
  24. Offline

    repeat

    bloated as file size or as code size?
    i can disable WM and CM in config
    It's only a question. I really thought that each plugin can run by himself
     
  25. Offline

    Oneduality

    Has anyone written a meaningful interface for this for the web or desktop? if not I might have to give that a whirl myself..
     
    Saul R.W likes this.
  26. Offline

    Luke Zwekii

    I'm not sure, I think maybe file.
     
  27. Offline

    macman

    I have a question, I added 2 permissions to my pex file, the permissions are permissions.user.demote and permissions.user.promote but when the admin tries to run them they report no access to that ladder, Please help Thanks


    EDIT

    Also when i promote or demote players the server hangs for 1 min and even sometimes kicks everyone but when we log back in the player i promoted was promoted to next rank so what's wrong with it? I'm running Pex 1.13 and cb 1000
     
  28. Offline

    t3hk0d3

    Post server.log please.
     
  29. Offline

    macman

    What part of it, its 17mb big?

    EDIT i have wiped it and started a new one, but i still dont know what part of it you wish to see.

    Here is what i get when i promote, no other errors other than it hangs and huge lag spike

    I replaced usernames with XXX

    Code:
    2011-08-02 20:26:49 [INFO] User XXXX has been demoted to Guest group on default ladder by XXXX
    2011-08-02 20:26:49 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  30. Offline

    t3hk0d3

    Also you have to give permission permission.users.promote.<ladder>
    Example: permission.users.promote.default
     
  31. Offline

    macman

    And as for the other issue nothing is logged when a admin try to promote someone


    -EDIT-

    did not see your new post ill try that now

    -EDIT 2-

    That fixed it adding .default
     

Share This Page