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

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    [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
    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.

    This post has been edited 103 times. It was last edited by t3hk0d3 Dec 24, 2012.
    BRampersad, grid21, MrRazull and 71 others like this.
  2.  
  3. Offline

    flames

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    just using the /pex.. commands
  4. Offline

    DragonSupremacy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yeah.. I could do that, but that means I have to type in 1 command per prefix, per suffix, per groupname, and a few permission nodes at a time, which is less then desirable
  5. Offline

    flames

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    you also can edit the yaml file (if you use file backend) and after you set up all of your permissions, just use /pex reload
  6. Offline

    SleepingSickness

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I'm pretty new to hosting this server of mine and I'm trying to get this all down. Is there any way I can someone to link me to a "completed" permissions.yml" file so I can use it as a reference? I am having a hard time understanding how to build the code for groups and whatnot. I have the basic theory down, but I don't know what the individual 'nodes' are to set up specific permissions for moderators etc. Thanks in advance!
  7. Offline

    Starhero

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Sorry if it is posted but is there a way to convert permissions over to this? So I don't have to rewrite 40+ members?
  8. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Version 1.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!
  9. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    There is 3rd party Perl script, which converts TheYeti's yaml files into SQL queries.
    I think better ask Abadon (he is a author of script) for help.

    Anyway, im currently planning to write a C utility (for Linux and Windows) to do such things.
  10. Offline

    Killie01

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    can't wait for xml support
  11. Offline

    Starhero

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Can not find said thing sir. searched bukkit and google.

    Also for some reason while manually adding in at least admins, on of my groups usually has * for permissions and no inheriting, but for some reason this is giving me a parse error? Checked spaces...everything is correct.
  12. Offline

    HEmile

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    This... wow this is just epic! Sounds a lot better than the usual permissions :)

    EDIT: Denial permissions?!? I love you :D
    ANOTHER EDIT: Oh that probably was already in the default permissions, didn't know that :p
    Either way, do prefix and suffix work in this?
  13. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    To be honest denial permissions are Permissions feature :)
  14. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    yes.
    Code:
    /pex user <user> prefix [newprefix]
    /pex user <user> suffix [newsuffix]
    /pex group <group> prefix [newprefix]
    /pex group <group> suffix [newsuffix]
  15. Offline

    HEmile

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Ahhh ok great. I can't seem to be able to enable the permissions.modifyworld setting. It doesn't show up in my config.yml
  16. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Sorry, you need to add it manualy. You gave me idea, i'll add command to edit config.yml from chat/console.
  17. Offline

    HEmile

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Would be useful :p
    What exactly would I need to add, then?
    I tried it, but it didnt work.
  18. Offline

    flames

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Code:
    permissions:
        backends:
            sql:
                driver: mysql
                uri: mysql://localhost/dbname
                user: dbuser
                password: dbpass
        backend: sql
        basedir: plugins/PermissionsEx
        modifyworld: true
        informplayers:
            modifyworld: false
            changes: true
    
    see "modifyworld: true"
  19. Offline

    DragonSupremacy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yeah, that would work if I used file backend, but I've chosen to do stuff differently then before (moving from GroupManager).

    I'm trying out a MySQL solution instead. I don't suppose it's possible I create the file in its entirety while using file backend, then switch to MySQL and have it convert everything over?
  20. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Not yet. I will think about dumping inmemory data to sql dump. Thank you for idea :)
  21. Offline

    DragonSupremacy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Sounds good.

    I am having trouble getting the SQL portion to work however. I assume I need to add a SQL table that holds the values for which user is in which group?
  22. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Show errors pls.

    To enable SQL backend you just need set "permissions.backend = sql", also provide host, user, password and database name.
    PEX will automaticaly create tables and initial data (default group).
  23. Offline

    DragonSupremacy

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yeah, I've done that, the default table is setup. After that, I am placed in the default usergroup, but there's no way in-game for me to change anything as I just have "modifyworld.*"

    Edit: just gave the default usergroup '*' permission in MySQL WorkBench, can change everything from there
  24. Offline

    flames

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    DragonSupremacy, you would be better set to make initial changes (create admin group, give it '*' and put your self into admin group) from console. or at least dont forget to remove '*' from default after you are done
  25. Offline

    KingPin

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hiya, this looks very interesting, any way to import the text file into mysql backend? thank you.
  26. Offline

    shatteredbeam

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I'd love to use this but I'm not convinced of its stablity yet. using Permissions with an SQL backend is just...amazing. I can't wait to use this on our high-traffic server.

    I have an issue, though. I'll stop you here if you know there are issues entering commands to pex within the console as thats where I have been testing. This is on build 803 running only Regios and PermissionsEx. Compatibility layer installed too. (was playing around with it)

    This happens on group delete, doesn't matter which group.
    Code:
    >pex group donator delete
    21:19:21 [INFO] Group donator removed!
    21:19:21 [SEVERE] There is bogus command handler for pex command. (Is appropriate plugin is update?)
    21:19:21 [SEVERE] java.lang.RuntimeException: java.lang.NullPointerException
    21:19:21 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager$CommandBinding.call(CommandsManager.java:231)
    21:19:21 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager.execute(CommandsManager.java:126)
    21:19:21 [SEVERE]       at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand(PermissionsEx.java:91)
    21:19:21 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    21:19:21 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:127)
    21:19:21 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:271)
    21:19:21 [SEVERE]       at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:401)
    21:19:21 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:386)
    21:19:21 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:292)
    21:19:21 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    21:19:21 [SEVERE] Caused by: java.lang.NullPointerException
    21:19:21 [SEVERE]       at ru.tehkode.permissions.sql.SQLEntity.remove(SQLEntity.java:259)
    21:19:21 [SEVERE]       at ru.tehkode.permissions.sql.SQLPermissionGroup.removeGroup(SQLPermissionGroup.java:141)
    21:19:21 [SEVERE]       at ru.tehkode.permissions.PermissionGroup.remove(PermissionGroup.java:162)
    21:19:21 [SEVERE]       at ru.tehkode.permissions.bukkit.commands.PermissionsCommand.groupDelete(PermissionsCommand.java:547)
    21:19:21 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    21:19:21 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    21:19:21 [SEVERE]       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    21:19:21 [SEVERE]       at java.lang.reflect.Method.invoke(Unknown Source)
    21:19:21 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager$CommandBinding.call(CommandsManager.java:225)
    21:19:21 [SEVERE]       ... 9 more
    
    Update: This happens on any user or group remove, not just groups.
  27. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Look like you are trying to remove virtual user or group. Anyway this is a bug.
    Try http://webbukkit.org/jenkins/public/PermissionsEx/PermissionsEx-HEAD-bin.zip.
  28. Offline

    alcol

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hello !

    Hello

    He works with General ?
    I have this error code :

    Code:
    18:47:29 [INFO] [PermissionsEx] PermissionEx plugin was Initialized.
    
    18:47:29 [GRAVE] Could not load 'plugins\General.jar' in folder 'plugins': Permi
    ssions
    org.bukkit.plugin.UnknownDependencyException: Permissions
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:125)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:160)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:108)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:85)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:217)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:204)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:144)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:259)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
  29. Offline

    NeoBlu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Hi there!
    I actually don´t get it how to set up Admin rights like '*' or world.'*' .
    Means i know ho to open it and I knew how to do this with TheYeti´s Permissions, but with PEX it still wont work.
    Any idea?

    btw: do prefixes and suffixes work atm?

    /edit i think i got it:
    I used "Info:"
  30. Offline

    shatteredbeam

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    @tehkode: Thanks for updating that. I appreciate your quick response in only the way a server owner can :)

    @NeoBlu: The best way is to use PEX from the in-game console and add the permission using the command 'pex group <group> add <permission> [world]' for the total admin rights. Here's what I did right off the bat:

    pex group admin create (create admin group)
    pex group admin add * (add * wildcard to admin group)

    Then, add yourself to the admin group for the wildcard permission to take effect:
    pex group admin user add shatteredbeam (adds me to admin group)

    Once you've done this, you can start using /pex commands ingame. There are much finer granular controls you can use instead of the * wildcard, look at the original post if you're only looking to add pex nodes for in-game control.

    As for prefixes and suffixes, they do indeed work, but PEX is not a chat mod, it only sets the fields. You'll need something like iChat to actually display the prefix/suffix information.

    Hope that helps.
  31. Offline

    fregaPT I steal plugins as my own

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    W
    Will you make an API ?
    Or the Permissions API works here ?
    And all of the plugins that support Permissions work with this plugin ?

    EDIT:
    Sorry !
    I didn't read the whole thread :D
    Keep up good work !
  32. Offline

    t3hk0d3

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    You are sure what PermissionsCompat - "Permissions.jar" (http://webbukkit.org/jenkins/public/PermissionsCompat/PermissionsCompat-master-bin.zip) is inside "plugins/" ?

Share This Page