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

    flames

    what exactly do you mean? i am running iconomy5 with pex + pex compat, everything fine here. could you post some errors?
     
  3. Offline

    AFakeman

    What about migration from Perm. v3.1.1?
     
  4. Offline

    Bacu

    wait so

    permissions without yaml.

    my god, that's great.
     
  5. Offline

    Gimpster

    I have to admit that PEX has got me stumped. I have been hosting a server for a short time now using Bukkit, but this is the first time I have tried to implement permissions aside from what was included in the Essentials plug-in. I am not getting any errors and can use commends I have restricted in Essentials to admins only but for the life of me none of the other plug-ins which use permissions seem to work. My guess is that something is not right with my permissions.yml file but I do not understand what. I have read the documents for PEX but something is not clicking. Is there a posibility that some one could post a snipit of a working permissions.yml file so that I can see what I am doing wrong, perhaps with comments as is good form when writing code?

    Thanks,

    Gimpster

    Edit: I can see now why I am not a fan of coding and why I struggle with html and linux. Caps in user names matter. Solved.
     
  6. Thank yo soo much I have been looking for something that runs permissions 2.0 instead of that crappy new 3.0
    If you keep this permission 2.0 format than I think you deserve cake and diamonds.
     
  7. Offline

    Bacu

    Getting this error. I checked the .yml for any out of place characters. Everything is spaced and stuff properly. What'm I doing wrong?

    Code:
    minecraft@cirno:/opt/craftbukkit$ ./start.sh
    148 recipes
    16 achievements
    19:57:26 [INFO] Starting minecraft server version Beta 1.6.6
    19:57:26 [INFO] Loading properties
    19:57:26 [INFO] Starting Minecraft server on *:25565
    19:57:26 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-766-g3fc0460-b818jnks (MC: 1.6.6)
    19:57:26 [INFO] Preparing level "world"
    19:57:26 [INFO] Preparing start region for level 0
    19:57:27 [INFO] Preparing start region for level 1
    19:57:27 [INFO] Preparing spawn area: 32%
    19:57:28 [INFO] [PermissionsEx] sql backend registred!
    19:57:28 [INFO] [PermissionsEx] file backend registred!
    19:57:28 [INFO] [PermissionsEx] PermissionEx plugin was Initialized.
    19:57:28 [SEVERE] Could not load 'plugins/PermissionsEx.jar' in folder 'plugins':
    mapping values are not allowed here
     in "<reader>", line 5, column 16:
                    uri: mysql://localhost/permissions
                       ^
    
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:745)
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:307)
            at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:183)
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:564)
            at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:163)
            at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:148)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:228)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
            at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
            at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:124)
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
            at org.bukkit.util.config.Configuration.load(Configuration.java:74)
            at org.bukkit.plugin.java.JavaPlugin.initialize(JavaPlugin.java:156)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:174)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:194)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:117)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:103)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    19:57:28 [INFO] Done (0.222s)! For help, type "help" or "?"
    >stop
    
    and here's my config.yml
    Code:
    permissions:
        backends:
            sql:
                driver:mysql
                uri: mysql://localhost/permissions
                user: minecraft
                password: [[redacted]]
            file:
                file: permissions.yml
        backend: mysql
        basedir: plugins/PermissionsEx
        modifyworld:
            enable: true
            itemRestrictions: false
        informplayers:
            modifyworld: flase
            changes: true
    
     
  8. Offline

    Gimpster

    The error is telling you where the error is. See the ^ character. It is underneath the i in uri which should be url.

    At least this is my guess.
     
  9. Offline

    Bacu

    There is none such character.
     
  10. Offline

    theheyway

    Hey! I love this plugin and it's helping me out a lot and is much easier to figure out than P3--but I have a question: will it support world inheritance/copying like P3? If so, I'd never go back. It's really ugly for my files (and hard to manage) to have everything in one gigantic .yml, especially if I'm copying over craploads of the same permissions for similar worlds.
     
  11. Offline

    flames

    then go never back, pex will support world inheritance soon :)
     
  12. Offline

    t3hk0d3

    malformed yaml.
    also backend should be "sql" instead of "mysql"

    Yeah, i know its real pain in ass to support big ruleset for several world. I think world-inheritance will be very soon. Im already thinking how to implement this best way possible.

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

    ThreeDGuy I steal plugins as my own

    Congrats on this!
    My plugin superflowers supports this plugin :D
     
  14. Offline

    t3hk0d3

    New version 1.11
    update are highly recommended
     
  15. Offline

    DragonSupremacy

    I couldn't help but notice a few spelling errors in the server.log from PermissionsEx. Any chance you can fix them? (I'm a bit of a spelling nazi, sorry. :))

    I know you're Russian, so that's props to you already

    Code:
    Format:
    Current message
    Suggestion
    
    [INFO] [PermissionsEx] sql backend registred!
    [INFO] [PermissionsEx] sql backend registered!
    
    [INFO] [PermissionsEx] file backend registred!
    [INFO] [PermissionsEx] file backend registered!
    
    [INFO] [PermissionsEx] xml backend registred!
    [INFO] [PermissionsEx] xml backend registered!
    
    [INFO] [PermissionsEx] PermissionEx plugin was Initialized.
    [INFO] [PermissionsEx] PermissionEx plugin is initialized.
    
    [INFO] [PermissionsEx] p2compat backend registred!
    [INFO] [PermissionsEx] p2compat backend registered!
    
    [INFO] Connecting sql database server on "mysql://localhost/PermissionsEx"
    [INFO] Connecting to sql database server on "mysql://localhost/PermissionsEx"
    
    [INFO] [PermissionsEx] Modifyworld are enabled.
    [INFO] [PermissionsEx] Modifyworld is enabled.
    
    [INFO] [PermissionsEx] v1.11  enabled
    [INFO] [PermissionsEx] v1.11 enabled
    
     
  16. Offline

    t3hk0d3

    Thank you. Done.
     
  17. Offline

    jonathanyc

    Thank you for the great plugin!
     
  18. Offline

    Pim1234

    with TheYeti's permissions, do i have to use the folder and the yml file of his plugin or do i have to fill in everything in the folder in your plugin?

    i think i do something horribly wrong because none of my plugins can find found this plugin...

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

    flames

    1. no, you just need to read the description. there is also explained how to import permissions 2.x into pex

    2. install also the permissions compat, so plugins that are not compatible with pex yet can use that as permissions 2.x compatibility layer
     
  20. Offline

    Pim1234

    thanks the compat did it!

    i have a '*' as permissions but when i try the /time day command i am being told that i "don't have Permissions to do that" i am using craftbukkit 844 and admincmd

    nobody has permissions!

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

    t3hk0d3

    To use /time you should be op. It's built-in Minecraft server feature.
     
  22. Offline

    MathijsNL

    This is a really great plugin! What bothered me the most in the past was permissions or groupmanager always whining, and having no commands in permissions. With this one i can actually change the files with texteditor while my server is running. This plugin rocks!

    Only 1 question\remark: when i make a permission for admins like
    permissions:
    - *

    i get an error
    i cant copy the code right now, please tell me if it is relevant. Anyway, that doesnt give that group all rights, i have to add eacht plugin.* to the group.

    Will try to post the console output tomorrow
     
  23. Offline

    Pim1234

    no, not the /time set 0, but the /time day
    /time day is not a minecraft command, it is an admincmd command...
    and nobody else has permissions!
     
  24. Offline

    t3hk0d3

    This is yaml specific stuff. Try
    - "*"

    Quoted asterisk should work.

    You can also try
    pex group groupname add "*"
     
  25. Offline

    KaLul

    i use your mod. and iam server admin. but it always says : you dont have enought permissions if i try pex commands.
     
  26. Offline

    hofec

    I don't really understand how this works .. :( (maybe i'm just a troll :rolleyes: )

    I have two permissions files in my plugins/Permissions folder -> perpetum.yml and perpetum_nether.yml (links to pastebin - both files are same..) and i really want this convert to my MySQL db and use all /pex commands in-game (mainly promote/demote system).

    I have Permissions 2.7.4 (Nijikokun) installed | CB #857

    What exactly is the PermissionsCompat file ? I don't understand .. this file is same as Nijis Permissions.jar or what ?

    Anyway .. thanks in advence for any quick-guide .. i just hate permissions system :D [diamond]
     
  27. Offline

    t3hk0d3

    You need download PermissionsCompat (file named Permissions.jar). This is compatiblity layer for Niji's Permissions with migration built-in.

    In other words just extract http://webbukkit.org/jenkins/public/PermissionsCompat/PermissionsCompat-1.11-bin.zip into your plugins directory and than do migration stuff described in OP post.
     
  28. Offline

    KaLul


    I use yetis permissions! i havent changed anything in the permissionsex config file, but just that modifyworld part.
    How can i use permissionsex commands now? i set in permissions/world1/groups.yml ->
    Code:
    permissions:
        - '*'
    can you please help me with that?
     
  29. Offline

    hofec

    ok t3hk0d3 - i put this file to my plugins folder AND also PermissionsEx.jar .. when i try to backend, this message pops up ..

    Code:
    14:46:11 [INFO] hofec [/127.0.0.1:64435] logged in with entity id 113 at ([ perpetum] 444.53125, 91.0, -632.4375)
    14:46:11 [INFO] configarray [Ljava.lang.String;@8b66ac
    14:46:11 [INFO] configarray 0 true
    14:46:11 [INFO] SimpleSave: Current save interval is 30 minute(s)
    14:46:11 [INFO] SimpleSave: Current backup interval is 240 minute(s)
    14:46:17 [INFO] Connection reset
    14:46:17 [INFO] hofec lost connection: disconnect.quitting
    >pex backend p2compat
    14:46:47 [INFO] [PermissionsEx] Initializing p2compat backend
    14:46:47 [INFO] Error during backend initializtation:
    14:46:47 [SEVERE] java.lang.reflect.InvocationTargetException
    14:46:47 [SEVERE]       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    14:46:47 [SEVERE]       at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    14:46:47 [SEVERE]       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    14:46:47 [SEVERE]       at java.lang.reflect.Constructor.newInstance(Unknown Source)
    14:46:47 [SEVERE]       at ru.tehkode.permissions.PermissionBackend.getBackend(PermissionBackend.java:179)
    14:46:47 [SEVERE]       at ru.tehkode.permissions.PermissionBackend.getBackend(PermissionBackend.java:163)
    14:46:47 [SEVERE]       at ru.tehkode.permissions.PermissionManager.setBackend(PermissionManager.java:156)
    14:46:47 [SEVERE]       at ru.tehkode.permissions.bukkit.commands.UtilityCommands.setBackend(UtilityCommands.java:102)
    14:46:47 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    14:46:47 [SEVERE]       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    14:46:47 [SEVERE]       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    14:46:47 [SEVERE]       at java.lang.reflect.Method.invoke(Unknown Source)
    14:46:47 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager$CommandBinding.call(CommandsManager.java:244)
    
    14:46:47 [SEVERE]       at ru.tehkode.permissions.commands.CommandsManager.execute(CommandsManager.java:124)
    14:46:47 [SEVERE]       at ru.tehkode.permissions.bukkit.PermissionsEx.onCommand(PermissionsEx.java:100)
    14:46:47 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    14:46:47 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:128)
    14:46:47 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:279)
    14:46:47 [SEVERE]       at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:428)
    14:46:47 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:413)
    14:46:47 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
    14:46:47 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    14:46:47 [SEVERE] Caused by: java.lang.IllegalAccessError: tried to access class ru.tehkode.permissions.compat.P2Backend
    $1 from class ru.tehkode.permissions.compat.P2Backend
    14:46:47 [SEVERE]       at ru.tehkode.permissions.compat.P2Backend.loadPermissions(P2Backend.java:105)
    14:46:47 [SEVERE]       at ru.tehkode.permissions.compat.P2Backend.<init>(P2Backend.java:50)
    14:46:47 [SEVERE]       ... 22 more
    >pex dump file permissions.yml
    14:47:14 [INFO] [PermissionsEx] Initializing file backend
    14:47:14 [INFO] [PermissionsEx] Data dumped in "permissions.yml"
    >pex backend file
    14:47:21 [INFO] [PermissionsEx] Initializing file backend
    14:47:21 [INFO] Permission backend changed!
    any ideas ?
     
  30. Offline

    t3hk0d3

    There is might be some bogus plugins (bogus manifest's Class-Path). Try to leave Permissions.jar and PermissionsEx.jar only in plugins directory, just for migration time.
     
  31. Offline

    KaLul

    i need a f*ing german install tutorial -.-
     

Share This Page