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

    dragonhib

    Awesome replacement for Permissions 2.7.4 (don't tell me about 3.Xshit). Easy migration, easy administration !! Really good work !! Thanks to devs
     
  3. Offline

    sfxworks

    Please answer. I understand how to query to get a users rank but thats completely useless if I dont know how to set ranks with mysql. All you linked me was a script.
     
  4. Offline

    NEO

    Yes i always do the work on my test server beforehand, especially on things that require excessive testing or server downtime.
     
  5. Offline

    t3hk0d3

    at first you should select user groups:
    Code:
    SELECT parent FROM permissions_inheritance WHERE child = ? AND type = 1
    Than you should obtain their ranks and rank ladders
    Code:
    SELECT name, permission, value FROM permissions WHERE name IN (<comma separated groups list>) AND permissions IN('rank', 'rank-ladder');
    Just keep in mind what user can be in different ladders simultaneously, but group can't.
     
  6. Offline

    sfxworks

    This isn't the answer that I am looking for.

    How do I create groups.
    How do I add permission nodes to those groups.

    I am not looking for a method to retrieve information.
     
  7. Offline

    NEO

    Im not seeing anything i can change to correct the issue.

    Code:
    permissions:
        backends:
            file:
                file: permissions.yml
        backend: file
        basedir: plugins\PermissionsEx
     
  8. Offline

    t3hk0d3

    Okay i'll explain database schema:

    There is three tables:

    permissions
    This table used to store permissions and option values

    name - Entity (User/group) name
    type - Indicates what entity is group (0) or user (1)
    permission - Permission or option name
    world - Permission's or option's world
    value - Option value, should be empty for permissions

    permissions_entity
    This table used to store user/group basic information, like prefix/suffix

    name - Entity (User/group) name
    type - Indicates what entity is group (0) or user (1)
    prefix - Entity prefix
    suffix - Entity suffix
    default - Used for group, 1 indicates what group is default.

    permissions_inheritance
    This table used to store inheritance information
    child - child entity name
    parent - parent entity name
    type - type of inheritance: 0 - group-group link, 1 - user-group link, 2 - world-world link (used in world-inheritance)

    This is enough?

    windows-style directory separator

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

    sfxworks

    Can I do this?

    1 default 0 addon.command,addon.command2,addon.command3 null null

    Or would I have to do this?

    1 rank1 0 addon.command null null
    2 rank1 0 addon.command2 null null
    3 rank1 0 addon.command3 null null

    Would this be where I assign players groups? Where child = playername and parent = groupname?
     
  10. Offline

    NEO

    Oh duh, thanks for the help. I need to get some sleep i suppose..
     
  11. Offline

    t3hk0d3

    You should store permission in own row. So second.

    Code:
    Where child = playername and parent = groupname?
    Right.

    Just in case: https://github.com/t3hk0d3/PermissionsEx/wiki/SQL-Database-schema
     
  12. Offline

    Insidiea

    Can someone help me out, I'm coming from group manager, I don't mind redoing the groups, it's just the players file that would kill me
     
  13. Offline

    t3hk0d3

    merge groups.yml and users.yml to one file, rename it into "<your default world name>.yml" (ex: world.yml).
    Put this file to plugins/Permissions/ (create directory, if there is no such).
    And migrate as you are migrating from Permissions 2.x
     
  14. Does this work for 1.6.6?
     
  15. Offline

    t3hk0d3

    1.6.6?
    Minecraft version? Well it's clearly stated what PEX are tested with 928 build?
    Well, 935 works too, forgot to change title, oops :)
     
  16. Offline

    ProjectInfinity

    Any word on Permissions 3.x support? :)
    And, how is this plugins performance in comparison with Permissions?
     
  17. Offline

    Woods

    Sometimes my users which have been promoted just suddenly get demoted by 1 rank from rank 3 to rank 2 and rank 2 to default (rank 1) which sucks when that happens when no mods/admins are online. Is there anything to do about it or a new fix which is still for Bukkit Build 860?
     
  18. Offline

    robsterr8

    I Just can't figure it out

    i installed a clean mint Minecraft Bukkit Server latest Build: MC 1.6.6.
    and i just isntalled PEX
    my username is in the OPS.txt (but i think this woon't affect anything.

    Now when i start the server it tells me that PEX is loaded and the connection to the DB is set!
    i'm using a mysql DB

    this DB has 1 entry it's the one from default
    i set up an user in the permissions.yml
    it looks like this

    Code:
    groups:
        default:
            default: true
            permissions:
            - modifyworld.*
        admins:
            inheritance:
            - default
            permissions:
            - permissions.*
            - modifyworld.*
            - '*'
    users:
        robsterr8:
            group:
            - admins
    
    the config file looks like this:

    Code:
    permissions:
        basedir: plugins/PermissionsEx
        backend: sql
        backends:
            sql:
                driver: mysql
                uri: mysql://localhost:3306/minecraft
                user: minecraft
                password: '*********'
        modifyworld:
            enable: true
            itemRestrictions: false
        informplayers:
            modifyworld: true
            changes: true
    
    i can add and remove blocks i guess it's because of the ops.txt because when i try to use any permission commands just for testing /pex user robsterr8 it tells me i haven't got enough permissions..

    how can i change my own permissions and how can i set up permissions for other players

    do i have to add all the recorde manually in the mysql db?

    i would be really thankful for your help .. i'm like deperate oO

    thanks and cheers

    rob
     
  19. Offline

    t3hk0d3

    https://github.com/t3hk0d3/PermissionsEx/wiki/Commands

    Also you can import your permissions.yml file into your MySQL.
    to that you must:

    pex backend file <--- switches you on File backend
    pex dump sql "permissions.sql" <-- dump current users/groups into permissions.sql file

    Than just import that sql file using your favorite DB administration tool (phpMyAdmin, cli mysql, etc).

    More info please. server.log in pastie.org would be file - promotions/demotions are logged.

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

    Insidiea

    I added -modifyworld.* to defaults permissions, I don't want the to be able to do anything, It isn't working, any help?
     
  21. Offline

    t3hk0d3

    And you enabled modifyworld? I hope so, coz modfiyworld are disabled by default.
     
  22. Offline

    kside

    Hey, I don't know if anyone else has had this issue but the permission node for the /pex promote & /pex demote commands doesn't work. (permissions.users.rank.promote or permissions.user.rank.promote)

    I had to look through the source on why it wasn't working & here's what I found:

    The permission nodes for "/pex promote <user> [ladder]" (permissions.user.promote) works instead.
    src/main/java/ru/tehkode/permissions/bukkit/commands/PromotionCommands.java
    Line: 77, 112

    In other words:
    permissions.user.promote = /pex promote <user> & /pex promote <user> [ladder]
     
    pherce likes this.
  23. Offline

    Vhab

    Just switched to this plugin after pulling my hairs out with Permissions 3.
    It just works, the behavior is logical and most importantly the documentation is clear and complete.

    Thank you for this.
     
  24. Offline

    rayorlana

    is simplejail plugin compatible with pex?
     
  25. Offline

    Insidiea

    Where do I put
    permissions.modifyworld.enable
    ?
     
  26. Offline

    t3hk0d3

    type in console:
    Code:
    pex config "permissions.modifyworld.enable" true
     
  27. Offline

    Mhalkyer

  28. Offline

    xZise

    Is there somewhere a complete API description page?

    Fabian
     
  29. Offline

    t3hk0d3

    Well, there is javadoc in source code. But im also working on API manual. There is quite many possibilities and they all should be documented.
     
  30. Hello Mr. Epic Plugin Developer Sir,

    I am having trouble getting permissions to work. :(

    Here is my permissions.yml so far:
    (note: It's not finished yet)
    Show Spoiler
    Code:
    groups:
        Survivalist:
            default: true
        permissions:
        - modifyworld.blocks.place.(1|3|4|5|6|12|13|15|17|20|22|23|24|25|27|28|35|37|38|39|40|41|42|43|44|44:1|44:2|44:3|45|47|48|49|50|53|54|57|58|61|65|66|67|69|70|72|76|77|80|81|82|84|85|86|87|88|89|91|96|321|323|324|328|330|331|333|342|343|354|355|356)
        - modifyworld.blocks.destroy.(1|3|4|5|6|12|13|14|15|16|17|18|20|21|22|23|24|25|27|28|30|31|32|35|37|38|39|40|41|42|43|44|44:1|44:2|44:3|45|47|48|49|50|53|54|56|57|58|61|65|66|67|69|70|72|73|76|77|79|80|81|82|84|85|86|87|88|89|91|96|321|323|324|328|330|331|333|342|343|354|355|356)
        - modifyworld.items.pickup.(1|3|4|5|6|12|13|15|17|20|22|23|24|25|27|28|35|37|38|39|40|41|42|43|44|44:1|44:2|44:3|45|47|48|49|50|53|54|57|58|61|65|66|67|69|70|72|76|77|80|81|82|84|85|86|87|88|89|91|96|321|323|324|328|330|331|333|342|343|354|355|356)
        - modifyworld.items.drop.(1|3|4|5|6|12|13|15|17|20|22|23|24|25|27|28|35|37|38|39|40|41|42|43|44|44:1|44:2|44:3|45|47|48|49|50|53|54|57|58|61|65|66|67|69|70|72|76|77|80|81|82|84|85|86|87|88|89|91|96|321|323|324|328|330|331|333|342|343|354|355|356)
        - modifyworld.blocks.interact.*
        - modifyworld.vehicle.enter
        - modifyworld.vehicle.collide
        - modifyworld.usebeds
        - modifyworld.entity.damage.deal.*
        - modifyworld.entity.damage.take.*
        - modifyworld.entity.mobtarget.*
        - modifyworld.vehicle.destroy
    users:
        jarrodlikesnotch:
            group:
            - Survivalist
            options:
                permissions:
                    manage:
                        users:
                            permissions: 'true'
        thewowmasta:
            group:
            - Survivalist
        die442931:
            group:
            - Survivalist
    

    and my config.yml:
    Show Spoiler

    Code:
    permissions:
        basedir: plugins\PermissionsEx
        backend: file
        backends:
            sql:
                driver: mysql
                uri: mysql://localhost/database
                user: username
                password: password
            file:
                file: permissions.yml
        modifyworld:
            enable: true
            itemRestrictions: true
        informplayers:
            modifyworld: true
            changes: true



    The problem I'm getting is that every time I log on all my items disappear because apparently they are "illegal items," even the ones that have been so far allowed with the permissions.yml. Also, the players are unable to interact with the world, even if they are OP. They can still use godmode and zombe's fly mod from other plugins/mods but they cant place or destroy. Q_Q

    Any help would be extremely grateful :D

    P.S. I also have the PermissionsCompat .jar in my plugins file as well, if that means anything.
     
  31. Offline

    bulls3y3

    Hey Guys,
    I've got a problem. When i do th first 3 steps (create group admin, add right * to admin group and add me ti admin group) i cannot do the /pex commands. none of them. my permissions.yml looks like that:
    Code:
    groups:
        default:
            default: true
            permissions:
            - modifyworld.*
        Admins:
            permissions:
            - '-----'
    users:
        BULLS3Y3:
            group:
            - Admins
    
    
    
    If you know what the problem is, could you tell me or post the working file with the first three steps?
    Thank you

    EDIT: fixed it! But i have got another problem: The prefixes don't work. What chat-plugin works with PEX? I used the permissions 3.x version of iChat
     

Share This Page