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

    Waradmirals

    Hi,

    I'm having a problem that's similar to a post earlier; new users that join my server are not being added to the users permissions with a default group.

    Please help.


    here's my permissions:

    Config:
    Code:
    permissions:
        backends:
            file:
                file: permissions.yml
        backend: file
        basedir: plugins/PermissionsEx
        modifyworld:
            enable: true
            itemRestrictions: false
        informplayers:
            modifyworld: false
            changes: true        
    Code:
    groups:
        Private:
            default: true
            prefix: '&8[&dPrivate&8] &7'
            build: true
            permissions:
            - mcmmo.commands.whois
            - mcmmo.chat.partychat
            - mcmmo.commands.party
            - mcmmo.ability.*
            - mcmmo.skills.*
            - lwc.protect
            - myhome.home.*
            - jobs.join.*
            - iConomy.access
            - iConomy.list
            - iConomy.payment
            - iConomy.rank
            - mobbounty.collect
            options:
                rank: '1000'
    

     
  3. Offline

    t3hk0d3

    Show your permissions.yml please. Check for boolean fields.

    I'll though how to implement in next release.

    You are welcome :)

    I can't make support for this before it's not in main branch of Bukkit. Or i'll got load of "ClassNotDefExceptions".
    Im know about this, and i'll implement it as soon as it will be released. Anyway, thank you :)

    Already did, in 1.12.

    Pretty interesting idea, but bit compicated to implement.

    You read my thoughts? :D

    PermissionUser (and PermissionGroup) have getOwnOption method, which returns options without inheritance. This means if user don't have option than groups won't be checked for that option.

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

    Waradmirals

    No answer to my post ? Has me stuck right now.
     
  5. Offline

    t3hk0d3

    Show output of "pex user <username which should be in default group>"
     
  6. Offline

    lycano

    A new user wouldn't be added to default group cause everyone who isnt assigned to any group like new users who joining the server are automatically assigned to this group. They are virtual thus they wouldnt be saved as normal user and dont showup in database or file.
     
  7. Offline

    Swippen

    Hello again.. I changed back to permission3 settings in Towny and tried again with both in debug mode. Here is the result:

    Code:
    2011-07-04 19:48:05 [WARNING] [PermissionsEx] Debug mode enabled
    2011-07-04 19:48:12 [INFO] Swippen [/192.168.0.162:51848] logged in with entity id 29 at ([world_new] 55.1875, 65.0, -166.3125)
    2011-07-04 19:48:12 [INFO] [Towny] Debug:    From: world_new,13,-42
    2011-07-04 19:48:12 [INFO] [Towny] Debug:    To:  world_new,13,-42
    2011-07-04 19:48:12 [INFO] [Towny] Debug:        Location{world=CraftWorld{name=world_new}x=55.1875y=64.92159999847412z=-166.3125pitch=31.777561yaw=-90.944496}
    2011-07-04 19:48:12 [INFO] [Towny] Debug:        Location{world=CraftWorld{name=world_new}x=55.1875y=65.0z=-166.3125pitch=31.777561yaw=-90.944496}
    2011-07-04 19:48:25 [INFO] User Swippen checked for "modifyworld.blocks.interact.2", "modifyworld.*" found
    2011-07-04 19:48:25 [INFO] [Towny] Debug: onPlayerItemEvent took 0ms
    2011-07-04 19:48:26 [INFO] User Swippen checked for "modifyworld.blocks.destroy.2", "modifyworld.*" found
    2011-07-04 19:48:26 [INFO] [Towny] Debug: Perm Check: Does Swippen have the node 'towny.admin'?
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 installed.
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 says false.
    2011-07-04 19:48:26 [INFO] [Towny] Debug: Swippen (world_new,14,-42) Cached Status: UNCLAIMED_ZONE
    2011-07-04 19:48:26 [INFO] [Towny] Debug: Perm Check: Does Swippen have the node 'towny.wild.destroy'?
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 installed.
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 says false.
    2011-07-04 19:48:26 [INFO] [Towny] Debug: Swippen (world_new,14,-42) Cached Destroy: false
    2011-07-04 19:48:26 [INFO] [Towny] Debug: Perm Check: Does Swippen have the node 'towny.wild.destroy'?
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 installed.
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 says false.
    2011-07-04 19:48:26 [INFO] [Towny] Debug: Perm Check: Does Swippen have the node 'towny.wild.block.2'?
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 installed.
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 says false.
    2011-07-04 19:48:26 [INFO] [Towny] Debug: Perm Check: Does Swippen have the node 'towny.admin'?
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 installed.
    2011-07-04 19:48:26 [INFO] [Towny] Debug:    Permissions3 says false.
    2011-07-04 19:48:26 [INFO] [Towny] Debug: onBlockBreakEvent took 6ms (Swippen, true)
    2011-07-04 19:48:26 [INFO] User Swippen checked for "modifyworld.blocks.interact.2", "modifyworld.*" found
    2011-07-04 19:48:26 [INFO] [Towny] Debug: onPlayerItemEvent took 0ms
    2011-07-04 19:49:52 [INFO] Stopping the server..
    "User Swippen checked for "modifyworld.blocks.destroy.2", "modifyworld.*" found" That should mean i have access right? or why does it not look for the Towny permissions? Seems to me that PermissionEx doesn't work with Towny. Or am I missing something?
     
  8. Offline

    lycano

    @Swippen maybe im wrong but "Perm Check: Does Swippen have the node 'towny.wild.destroy'?" tells me that it looks for this permission and didnt found any. Do you have this permission added to the group or user?
     
  9. Offline

    Swippen

    Tried installing Permissions 3 and same tests worked..

    so I guess i have to go with permission 3 =/

    Yes he is part of member and member have
    modifyworld.*
    towny.wild.*

    No inheritance

    But when towny says that it is checking... you get no output from PEX that it is checking that permission. So PEX doesnt seem to be triggered no?

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

    Waradmirals

    **** Users only get added to the file if i physically promote/demote ******

    Code:
    pex user skypha
    18:13:42 [INFO] Skypha are member of:
    18:13:42 [INFO] Private (rank 1000 @ default)
    18:13:42 [INFO] Skypha's permissions:
    18:13:42 [INFO] modifyworld.* @common (from Private)
    18:13:42 [INFO] mcmmo.commands.whois @common (from Private)
    18:13:42 [INFO] mcmmo.chat.partychat @common (from Private)
    18:13:42 [INFO] mcmmo.commands.party @common (from Private)
    18:13:42 [INFO] mcmmo.ability.* @common (from Private)
    18:13:42 [INFO] mcmmo.skills.* @common (from Private)
    18:13:42 [INFO] lwc.protect @common (from Private)
    18:13:42 [INFO] myhome.home.* @common (from Private)
    18:13:42 [INFO] jobs.join.* @common (from Private)
    18:13:42 [INFO] iConomy.access @common (from Private)
    18:13:42 [INFO] iConomy.list @common (from Private)
    18:13:42 [INFO] iConomy.payment @common (from Private)
    18:13:42 [INFO] iConomy.rank @common (from Private)
    18:13:42 [INFO] mobbounty.collect @common (from Private)
    18:13:42 [INFO] Skypha's options:
    I don't understand - I want new users to show up in my user file so that they can build etc. - the plugin isn't adding them -

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

    t3hk0d3

    Right, what the sense to adding every player ever joined your server into permissions file? They are automatically join default group (Private), so no spamming in permissions file. I suggest you to use promotion system to quickly move users to higher ranked groups instead of manual file editing.

    You are sure installed PEX properly? There should be PEX and Compat. In case of Towny Compat should work as both P3 or P2, according Towny sources on github.

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

    DragonSupremacy

    How exactly can world inheritance be configured? is it a custom table that needs to be made, or something?
     
  13. Offline

    Kommy000

    Will this plugin work with switching from permissions 3? Do I have to change the groups.yml and users.yml from permissions 3 format to 2.7.4 for this plugin to be able to do the conversion??
     
  14. Offline

    t3hk0d3

    There is three commands:

    pex worlds - list all worlds
    pex world <world>
    pex world <world> inherit <parentWorld> - parentWorld can be comma-separated list or just single world name
     
  15. Offline

    Oscarius

    Yes, you have to switch to 2.7.4. It's worth it.
     
  16. Offline

    t3hk0d3

    new features of 1.13 (development version)
    • Group weighting (pex group <group> weight [weight])
    • Embedded chat manager (prefixes/suffixes/coloring) with some sweet features (like forced ranged (local) chat) (pex config "permissions.chat.enable" true and after that reload)
     
  17. Offline

    1hacker

    Feature request
    It would be nice if <entityName> could be .animal & .monster so I could do e.g. modifyworld.entity.damage.deal.animal.* or modifyworld.entity.damage.take.monster.*
    Great plugin and really nice source code btw ;-)
     
  18. Offline

    t3hk0d3

    hmm...seems reasonable
     
  19. Offline

    Aholic

    Hello.

    I have 2 groups, Guest and Users. Guests has an prefix [Guest], but I dont want that Users has any prefix. Is this possible? :)
     
  20. Offline

    t3hk0d3

    pex group Users prefix ""
     
  21. Offline

    Aholic

    Mhmhm...If I type this, he tells me the old "Users" prefix.
     
  22. Offline

    Liyalai

    I'm having issues with prefixes, they don't seem to be working at all for me.
    Plugins i'm using are, CommandBook, WorldEdit, MagicCarpet, and Warpy.

    Code:
    groups:
        default:
            default: true
            permissions:
            - modifyworld.*
        Admins:
            prefix: '[Architect]'
            permissions:
            - '*'
            options:
                rank: '0'
        Builder:
            prefix: '[Builder]'
            options:
                rank: '100'
     
  23. Offline

    Aholic

    Resolved. I just put a color code in the prefix =D

    Thanks!
     
  24. Offline

    Wonderjunk

    How do i create multiworld permissions?
     
  25. Offline

    Williamsson

    Excellent plugin! Just switched from group manager, and I like it!
    Although, the commands are a bit tiresome, but it's a matter of getting used to them I guess :)

    Though I have one question, if I want to restrict the group default from using TNT, what would that look like? :)
    As I can see I can only allow a group to place a block, not deny them?
     
  26. Offline

    t3hk0d3

    You can negate permission, example:
    -modifyworld.blocks.place.46

    This will deny from placing TNT
     
  27. Offline

    Williamsson

    Hmm, now it looks like this:

    Code:
    groups:
        default:
            default: true
            permissions:
            - modifyworld.*
            - modifyworld.blocks.place.46
            - citizens.use.*
            - commandbook.spawn
            - essentials.help
            - essentials.home
            - essentials.motd
            - essentials.sethome
            - essentials.spawn
            - falsebook.blocks.*
            - iConomy.access
            - iConomy.bank.access
            - iConomy.bank.join
            - iConomy.bank.join.multiple
            - iConomy.bank.leave
            - iConomy.bank.main
            - iConomy.bank.deposit
            - iConomy.bank.withdraw
            - iConomy.list
            - iConomy.payment
            - iConomy.rank
            - mcdocs.*
            - stargate.use
    But I can still place TNT.

    And I'm in the default group only.

    And this shows what the default's allowed to do when I use the command /pex group default

    Code:
    10:36:18 [INFO] Group default's permissions:
    1) modifyworld.* @common (own)
    2) modifyworld.blocks.place.46 @common (own)
    3) citizens.use.* @common (own)
    4) commandbook.spawn @common (own)
    5) essentials.help @common (own)
    6) essentials.home @common (own)
    7) essentials.motd @common (own)
    8) essentials.sethome @common (own)
    9) essentials.spawn @common (own)
    10) falsebook.blocks.* @common (own)
    11) iConomy.access @common (own)
    12) iConomy.bank.access @common (own)
    13) iConomy.bank.join @common (own)
    14) iConomy.bank.join.multiple @common (own)
    15) iConomy.bank.leave @common (own)
    16) iConomy.bank.main @common (own)
    17) iConomy.bank.deposit @common (own)
    18) iConomy.bank.withdraw @common (own)
    19) iConomy.list @common (own)
    20) iConomy.payment @common (own)
    21) iConomy.rank @common (own)
    22) mcdocs.* @common (own)
    23) stargate.use @common (own)
     
  28. Offline

    Ciggie

    this plugin stops me from being able to place any block at all, despite being OP.
     
  29. Offline

    t3hk0d3

    modifyworld.blocks.place.46 should be above "modifyworld.*"

    add "modifyworld.*" to you permissions, or disable modifyworld.

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

    Williamsson

    Hmm, it looks like this now and still dont work:

    Code:
    permissions:
            - modifyworld.blocks.place.46
            - modifyworld.*
            - citizens.use.*
            - commandbook.spawn
            - essentials.help
            - essentials.home
            - essentials.motd
            - essentials.sethome
            - essentials.spawn
            - falsebook.blocks.*
            - iConomy.access
            - iConomy.bank.access
            - iConomy.bank.join
            - iConomy.bank.join.multiple
            - iConomy.bank.leave
            - iConomy.bank.main
            - iConomy.bank.deposit
            - iConomy.bank.withdraw
            - iConomy.list
            - iConomy.payment
            - iConomy.rank
            - mcdocs.*
            - stargate.use
     
  31. Offline

    Ciggie

    Great - got that, thanks. How would I go about allowing OPs to use commands such as /vulcan - from a Magic spell plugin?
     

Share This Page