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

    xsolar66

    kudos, again. =)
     
  3. Offline

    Hamad

    where do i get the prefix?
     
  4. Offline

    Kommy000

    To add a negative permission to a group do I just use the remove command?
    /pex group groupname remove permission node
     
  5. Offline

    NeoCronos

    How about Plugins that use Permissions3, will they work?

    thx
     
  6. Offline

    xsolar66

    Hi @t3hk0d3
    ,I've done some testing myself and I think i found the problem;

    When the command /pex set default group survivor survival ,
    It adds the following:

    groups:
    Survivor:
    worlds:
    Survival:
    default: true
    Creative:
    default: false

    However, I think the problem is that there is already a default:false.. one that is not based on per world.
    so it goes:

    groups:
    Survivor:
    default: false
    worlds:
    Survival:
    default: true #doesn't seem to do anything
    Creative:
    default: false

    For my Builder group, it goes like this:

    groups:
    Builder:
    default: true
    worlds:
    Survival:
    default: false
    Creative:
    default: true

    Either way, if a new player joins the server in the world Survival, they default to Builder, not Survivor. Next thing I tried was to remove the default:true/false that wasn't under a specific world. This caused massive server spam/errors/crash, repeatedly complaining it needed a default group (despite that it already had one, it was just under "world"). It seems that the per-world default groups don't really work all that well;

    EDIT: I tried adding a user 'xsol' to a group "Admin", but only on world "Creative".

    users:
    xsol:
    worlds:
    Creative:
    group:
    - Admin

    First off, in Creative World, user xsol was indeed in group Admin, however the prefix/suffix was that of a Builder. :confused:
    I then traveled to world Survival. Here, xsol was changed to group builder. Upon going back to the creative world, the [Builder] prefix tag stuck, despite regaining admin abilities.

    Last but not least, the modify world doesn't seem to do anything. When it is enabled in the config.yml file, and a group has no modifyworld nodes at all, that group can still, well, modify the world.

    P.S. Sorry for the bad formatting, this forum won't let me format properly.

    P.P.S. Apart from the multi-world failing, this plugin has performed all the commands and basically everything else beautifully, and I plan to use it for as long as I can. Although, I'm curious as to what exactly world-inheritance does..?
     
  7. Offline

    koron

    Hi,

    since the last version of the Plugin, PermissionEx killed the server several times a day.

    Serverlog look at the file:
     

    Attached Files:

  8. Offline

    macman

    Dont know if you saw this:p
     
  9. Offline

    t3hk0d3

    You need CB 1000 or newer

    Belived to be fixed in lastest build. Can you try with lastest version? (just download from link on OP post)

    PEX have caching for users, which incudes inheritance info too. It contains list of groups of user. Problem was caching are not cleared on player teleportation to another world.

    Short anwser: yes.

    Isn't it difficult to try things by yourself?

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

    macman

    No i dont want everything breaking :D
     
  11. Offline

    t3hk0d3

    You can try anything on your test server.
     
  12. Offline

    Grimo

    I'm gonna try it tonight!
     
  13. Offline

    xsolar66

    @t3hk0d3 It seems that players still default to the group that is considered default: true, despite what is under worlds: *blah * default : false
     
  14. Offline

    Bronski

    No you won't :p

    /pex promote xsolar66

    :D
     
  15. Offline

    daleisme

    How do I set a group to default? I deleted the default group and made a new one called "Guest".

    Also Im getting loads of errors for random stuff like user lists;

    Code:
    >pex user list
    14:05:27 [INFO] list are member of:
    14:05:27 [SEVERE] There is bogus command handler for pex command. (Is appropriat
    e plugin is update?)
    14:05:27 [SEVERE] java.lang.RuntimeException: Default user group are not defined
    . Please select one using "default: true" property
    14:05:27 [SEVERE]       at ru.tehkode.permissions.backends.FileBackend.getDefaul
    tGroup(FileBackend.java:154)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.PermissionManager.getDefaultGr
    oup(PermissionManager.java:280)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.PermissionManager.getDefaultGr
    oup(PermissionManager.java:269)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.PermissionUser.getGroups(Permi
    ssionUser.java:189)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.PermissionUser.getGroups(Permi
    ssionUser.java:147)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.bukkit.commands.UserCommands.u
    serListAliasPermissions(UserCommands.java:85)
    14:05:27 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native M
    ethod)
    14:05:27 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown S
    ource)
    14:05:27 [SEVERE]       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unkno
    wn Source)
    14:05:27 [SEVERE]       at java.lang.reflect.Method.invoke(Unknown Source)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager$Comma
    ndBinding.call(CommandsManager.java:291)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager.execu
    te(CommandsManager.java:120)
    14:05:27 [SEVERE]       at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand
    (PermissionsEx.java:113)
    14:05:27 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginComman
    d.java:35)
    14:05:27 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCo
    mmandMap.java:129)
    14:05:27 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(Cr
    aftServer.java:312)
    14:05:27 [SEVERE]       at net.minecraft.server.MinecraftServer.b(MinecraftServe
    r.java:480)
    14:05:27 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:465)
    14:05:27 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:361)
    14:05:27 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
    >
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 15, 2016
  16. Offline

    Kommy000

    so, does anybody know the exact command to add a negative permissions node to a group???
    Is it by using remove command or still use add command but with the minus infront of the permission node?
    Thanks
     
  17. Offline

    damagefilter

    About that SQL backend ...
    Is it still the same as it was with 1.12?
    I totally like this permissions plugin but your table structure is heavily redundant.
    I don't want to be rude or anything but MySQl and SQLite are relational DB systems.
    And what you do there is far away from beeing relational, thus very, very inefficient.

    Do you think you could do something about that?
     
  18. Offline

    Jobsti

    heyho @t3hk0d3

    Thanks for PEX, switched from Groupmanager to PEX, because the superperms...
    Works great!

    But a little Request ;)
    Shorter commands, like:

    useradding: /pexuadd <username> [group] [World]
    (If no group is set, the first group after default, see ranks, like promote. If no World is set, for all worlds. If -world2 = for all worlds, except world2)

    Groupadding: /pexgadd <groupname> [Rank] [Permissions]

    Promoting only for a world: /Promote <username> [World,world2...]
    (No World set, for all Worlds. If -world2 = for all worlds, except world2 )

    <> Required, [] Optional
    In short: using a "g" for groupsettings, "u" for usersettings.

    It would be awsome to see an worldsystem like the groupmanager, with seperate configs for each world and/or mirroring the configs.
     
  19. Offline

    t3hk0d3

    You can use side plugins for that (CommandHelper).

    It's feature of PEX to have all permissions in one file.

    DB Schema would be redesigned in 1.14. If you have any suggestions, feel free to tell me them :)

    just add minus before permission.
    Example:
    pex user t3hk0d3 add "-modifyworld.damage.deal.animal.cow"

    java.lang.RuntimeException: Default user group are not defined . Please select one using "default: true" property

    Bug was fixed in lastest build. Redownload from link, pls.

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

    Swadon

    Hello,

    I try to add this permission (with ModifyWorld) to my default group so that it interacts with a door :

    But it doesn't works :( They don't have the permission to open a door.


    Thank you for helping me :)


    Swadon.
     
  21. Offline

    NuclearW

    @Swadon

    324 is the item id of the door.
    Try the block id: 64
     
  22. Offline

    Swadon

    Oh okay.. ! Thank You :)

    Hm, another question : this permission doesn't work for me :
    Players can't sleep at night.
     
  23. Offline

    t3hk0d3

    You need also "modifyworld.block.interact.26" permission :)
    There is very useful PEX feature - /pex toggle debug
    Very helpful to determine whats wrong with permissions :)
     
  24. Offline

    Swadon

    Thank you for your quick answer and for the debug command :)

    PS : Awesome plugin !
     
  25. Offline

    t3hk0d3

    Default groups bug fixed in lastest build. Just redownload PEX using link from top of thread.
     
  26. Offline

    prefix

    Help, Modifyworld isn't being enabled even thought it's enabled in the config.

    Code:
    2011-08-10 02:58:53 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-945-g73697a4-b1000jnks (MC: 1.7.3)
    2011-08-10 02:58:53 [INFO] [PermissionsEx] sql backend registered!
    2011-08-10 02:58:53 [INFO] [PermissionsEx] file backend registered!
    2011-08-10 02:58:53 [INFO] [PermissionsEx] PermissionEx plugin initialized.
    2011-08-10 02:58:54 [INFO] [PermissionsEx] p2compat backend registered!
    2011-08-10 02:58:54 [INFO] [PermissionsCompat] Compatibility Layer Initalized!
    
    And my config.yml:

    Code:
    permissions:
        basedir: plugins/PermissionsEx
        backend: file
        backends:
            file:
                file: permissions.yml
        modifyworld:
            enable: true
            itemRestrictions: false
        informplayers:
            modifyworld: false
            changes: false
    
     
  27. Offline

    t3hk0d3

    Sorry for that. Wiki is a bit outdated. Check plugins/Modifyworld/config.yml
     
  28. Offline

    Bobysays23

    does any one know how to make the default player have permission to edit the world because i hate adding every single player as a member every time they join.
     
  29. Offline

    Insidiea

    Hey, Whenever one of my moderators promote someone, they get "you don't have permission to promote on this ladder" It worked fine before 1.13, they have nodes permissions.user.promote & demote
     
  30. Offline

    MusicMonkey5555

    Ok forgive me for asking this if it was already answered, but I couldn't find it when I did a search. I have this configuration:

    Code:
    groups:
        Guest:
            default: true
            permissions: null
            options:
                rank: '1000'
            prefix: '&0&eGuest&0&f'
        Member:
            permissions:
            - modifyworld.usebeds
            - modifyworld.bucket.empty.milk
            - modifyworld.bucket.fill.milk
            - modifyworld.bucket.fill.lava
            - modifyworld.bucket.fill.water
            - mcmmo.skills.*
            default: false
            inheritance:
            - Guest
            options:
                rank: '900'
            prefix: '&0&eMember&0&f'
        SuperMember:
            permissions:
            - modifyworld.bucket.*
            - modifyworld.blocks.destroy.325
            - modifyworld.blocks.destroy.326
            - modifyworld.blocks.destroy.327
            - modifyworld.blocks.place.325
            - modifyworld.blocks.place.326
            - modifyworld.blocks.place.327
            - modifyworld.blocks.interact.325
            - modifyworld.blocks.interact.326
            - modifyworld.blocks.interact.327
            - modifyworld.items.drop.325
            - modifyworld.items.drop.326
            - modifyworld.items.drop.327
            - modifyworld.items.pickup.325
            - modifyworld.items.pickup.326
            - modifyworld.items.pickup.327
            - modifyworld.items.have.325
            - modifyworld.items.have.326
            - modifyworld.items.have.327
            default: false
            inheritance:
            - Member
            options:
                rank: '800'
            prefix: '&0&eSuperMember&0&f'
        VIP:
            permissions:
            - '*'
            default: false
            inheritance:
            - SuperMember
            options:
                rank: '700'
            prefix: '&0&eVIP&0&f'
        Admin:
            inheritance:
            - VIP
            options:
                rank: '600'
        Owner:
            permissions:
            - '*'
            default: false
            inheritance:
            - Moderator
            options:
                rank: '0'
            prefix: '&0&eOwner&0&f'
    And for some reason when I promote someone to SuperMember they can't pickup or place lava or water in a bucket. If I promote them to VIP then they can. What am I doing wrong? what to I need to add or change?
     
  31. Offline

    xsolar66

    I really hate to be an annoying maggot, but the default groups still don't work.

    two worlds - creative and survival

    used commands - /pex set default group New creative ; /pex set default group Survivor survival

    user 'xsol' is in group admin, but only on world:creative. (double checked to confirm).

    used /warp survival, but the group defaulted to "New" instead of "Survivor".

    edit: what time zone are you in? It'l be a bit easier to talk over IRC :)
     

Share This Page