Inactive [ADMN/INFO] GroupManager v1.0 alpha-3 - A Permissions replacement [440-531]

Discussion in 'Inactive/Unsupported Plugins' started by AnjoCaido, Feb 17, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    AnjoCaido

    GroupManager - The Permissions 2.x plugin sucessor.
    Version: v1.0 alpha-5

    Yes, it has multiworld and multigroup users support now. When 1.0 final release, next step is database (SQLite/MySQL).

    ---

    If you use Essentials:
    - Don't use both EssentialsGroupManager.jar and GroupManager.jar! Just choose one, because they are the same!
    - Don't use both EssentialsGroupBridge.jar and FakePermissions.jar! Just choose one, because they are the same!


    ---

    As the growth of this plugin is getting faster and faster, I needed to put multiword support the soon as I could.
    Now it's here. And GroupManager is keeping all of it's good stuff! Did I say it is going to bring a lot more of new stuff too?

    Purpose of the plugin:
    The purpose has changed. Permissions got better. But it still not enough. Why I did, and keep doing this?
    I started it thinking that it would make me happy. Now it's because it will make YOU happy.

    Advantages against Permissions:
    • User multigroup support.
    • Full command list to change anything during game or thru the console.
    • Good API to change things. You to change a player group you can do getPlayer(name).setGroup(getGroup(name))
    • Exception nodes.
    • It separates groups files from users files.

    New Features:
    • User multigroup support(yay!)
    • Multiworld support(meh).
    • It has world permission mirroring(you can make a world nether having the same permissions of world2 instead of default world1).
    • It saves only the files that will have contents changed.
    • It separates groups files from users files.
    • It cleans old backup files older than 24h.

    Previous Features(included):
    • It has the same file format as Permissions, no need to get used with anything new.
    • It comes with a fake Permissions plugin, that attaches GroupManager to all your permissions dependent plugins. No need to make any changes, nor update other plugins. Just adjust your permissions files and GO!
    • Commands to change users permissions are REALLY on-the-fly(no touching files).
    • It saves the permissions data periodically.
    • It backups every file before overwrites.
    • Tons of commands for complete user/group/permission management during game/console.
    • It has a fantastic temporary permissions system, that let's you to make changes in users, with the possibility to go back at any time(and it never is saved on files).
    • Negative nodes(aka '-'): You can take off specific permissions from users that have a full set.
    • Exception node(aka '+'): Used when a user/group has a set of negative nodes, and you want to allow a specific one.

    User's subgroups: a brief explanation
    You can see on the file structure(down here on same post), that users have an optional node called subgroups. That node is a list, just like "permissions" node. There you can list a user subgroup, it can be as many as you want.
    What a user inherits from subgroups? Only permissions. It means nothing on a subgroup's info node(prefix, suffix, build and other variables) will be considered.
    The user will still be considered as a member of that group, but will only inherits it's permissions, like some commands, kits, etc.

    This reduces the needs of a nest of groups inheriting each other.
    You can have one user in Peasant group, which has only some basics, and them let him join in Miner as a subgroup, where he can get Miner kits, or other related to miner group.
    Later, when your town needs a railer, you can just add the group Railer to him as subgroup, and he will have both things at same time. When the job is done, you just remove the subgroup.
    This gets even more interesting when you have groups related to towns, factions, teams… etc.

    World mirroring: a brief explanation
    Let's say you have a config file like this:
    Code:
    settings:
      data:
        save:
          minutes: 10
      logging:
        level: INFO
      permission:
        world:
          mirror:
            world1:
              - world2
              - world3
            world4:
              - world5
    It means that all your permissions of world2, and world3 will be the same of world1. And it means all permissions of world5 will be the same of world4.
    It won't copy any file. In fact, it won't matter if there is files for world2… when the permissions get load, every request for world2 will be redirected for world3. Simple as that.

    If no mirroring is specified, any world not loaded will automatically mirror the default world of the server.

    File structure: a brief explanation
    The files read for GroupManager 1.0+ for data management are two files per world. The users file are users.yml. The groups file are groups.yml.
    The thing is that those files are located in:
    plugins/GroupManager/worlds/WORLDNAME

    So the file structure for the world called anjoCaidoWorld and netherWorld will be:
    plugins/GroupManager/worlds/anjoCaidoWorld/groups.yml
    plugins/GroupManager/worlds/anjoCaidoWorld/users.yml
    plugins/GroupManager/worlds/netherWorld/groups.yml
    plugins/GroupManager/worlds/netherWorld/users.yml

    The files might look like this:
    groups.yml
    Code:
    groups:
        Admins:
            default: false
            info:
                build: false
                prefix: ''
                suffix: ''
            inheritance:
            - SemiAdmin
            permissions:
            - '*'
        Default:
            default: true
            info:
                build: false
                prefix: ''
                suffix: ''
            inheritance: []
            permissions:
            - essentials.spawn
            - essentials.motd
            - essentials.help
            - essentials.home
            - essentials.sethome
        Moderator:
            default: false
            info:
                build: false
                prefix: '&c'
                suffix: 'Mod'
            inheritance:
            - Default
            permissions:
            - essentials.tp
            - essentials.tphere
            - essentials.item
            - essentials.give
        SemiAdmin:
            default: false
            info:
                build: false
                prefix: '&c'
                suffix: 'SemiAdmin'
            inheritance:
            - Moderator
            permissions:
            - +groupmanager.mandemote
            - +groupmanager.manpromote
            - -groupmanager.*
            - '*'
        Peasant:
            default: true
            info:
                build: false
                prefix: '&e'
                suffix: 'Peasant'
            inheritance:
            - Default
            permissions: []
        Miner:
            default: false
            info:
                build: false
                prefix: ''
                suffix: ''
            inheritance:
            permissions:
            - essentials.kit
            - essentials.kit.miner
            - flashlight.regular
        Healer:
            default: false
            info:
                build: false
                prefix: ''
                suffix: ''
            inheritance:
            permissions:
            - essentials.kit
            - essentials.kit.healer
            - essentials.heal
        Farmer:
            default: false
            info:
                build: false
                prefix: ''
                suffix: ''
            inheritance:
            permissions:
            - essentials.kit
            - essentials.kit.farmer
            - essentials.spawnmob
        Railer:
            default: false
            info:
                build: false
                prefix: ''
                suffix: ''
            inheritance:
            permissions:
            - essentials.kit
            - essentials.kit.railer
    users.yml
    Code:
    users:
        anjocaido:
            group: Admins
            info:
                prefix: '&c'
                suffix: King
            permissions: []
        gmcouto:
            group: SemiAdmin
            permissions: []
        zenexer:
            group: Moderator
            permissions:
            - essentials.god
        aMiner:
            group: Peasant
            info:
                prefix: '&d'
                suffix: Miner
            permissions: []
            subgroups:
              - Miner
        aHealer:
            group: Peasant
            info:
                prefix: '&d'
                suffix: Healer
            permissions: []
            subgroups:
              - Healer
        aFarmer:
            group: Peasant
            info:
                prefix: '&d'
                suffix: Farmer
            permissions: []
            subgroups:
              - Farmer
        tempRailer:
            group: Peasant
            info:
                prefix: '&d'
                suffix: Miner
            permissions: []
            subgroups:
              - Miner
              - Railer
    You can see that the node structure are exactly the same used for GroupManager 0.99d(-) and Permissions, it means you can use the same files here.
    Note: Every node that doesn't make part of the respective file is ignored. So if you are migrating from older GroupManager or Permissions you can just duplicate your files as groups.yml and users.yml. When comes the time where is needed to save the file, all unused data for each file will be discarded. So you don't need to split files, just duplicate them with correct names, it will work.

    Negative and Exception nodes: a brief explanation
    Let's say you have a group SemiAdmin like this.
    Code:
    groups:
      SemiAdmin:
        default: false
        permissions: [+groupmanager.manpromote, -groupmanager.*,
          '*']
        inheritance: [Moderator]
        info: {prefix: '', build: false, suffix: ''}
    You should read this way:
    '*' -> means this group will have access to all commands.
    '-groupmanager.*' -> Where all his commands of groupmanager where removed.
    '+groupmanager.manpromote' -> Except manpromote.

    It means he can do everything that is not of GroupManager, AND manpromote.

    It's like listing essentials.*, worldedit.*, worldprotect.*, everyotherthing.* and groupmanager.manpromote.

    It gives a very big flexibility on permissions.

    Note:
    For every level of inheritance,
    Every permission starting with '+' is tested first. Then comes permissions starting with '-'. Then comes normal permissions(including '*').

    Commands:
    • Now on multiword support, every command will act only on the selected world.
    • If none/invalid world is selected, it will run on the default world.
    • If the world selected is a mirrored world, it will work on the mirror world.
    (on next version, when a command involves a player, there will be a toggle that will automatically act on the victim(player) world is in)
    Code:
    commands:
      manuadd:
        description: Move a player to desired group.(Adds to the file if not exists)
        usage: /<command> <player> <group>
        permission: groupmanager.manuadd
      manudel:
        description: Remove any user specific configuration. Make him default group.
        usage: /<command> <player>
        permission: groupmanager.manudel
      manuaddsub:
        description: Add a group to a player's subgroup list.
        usage: /<command> <player> <group>
        permission: groupmanager.manuaddsub
      manudelsub:
        description: Remove a group to a player's subgroup list.
        usage: /<command> <player> <group>
        permission: groupmanager.manudelsub
      mangadd:
        description: Add group to the system.
        usage: /<command> <group>
        permission: groupmanager.mangadd
      mangdel:
        description: Removes group from the system(all it's users become default)
        usage: /<command> <group>
        permission: groupmanager.mangdel
      manuaddp:
        description: Add permission diretly to the player.
        usage: /<command> <player> <permission>
        permission: groupmanager.manuaddp
      manudelp:
        description: Removes permission diretly from the player.
        usage: /<command> <player> <permission>
        permission: groupmanager.manudelp
      manulistp:
        description: List all permissions from a player.
        usage: /<command> <player>
        permission: groupmanager.manulistp
      manucheckp:
        description: Verify if user has a permission, and where it comes from.
        usage: /<command> <player> <permission>
        permission: groupmanager.manucheckp
      mangaddp:
        description: Add permission to a group.
        usage: /<command> <group> <permission>
        permission: groupmanager.mangaddp
      mangdelp:
        description: Removes permission from a group.
        usage: /<command> <group> <permission>
        permission: groupmanager.mangdelp
      manglistp:
        description: Lists all permissions from a group.
        usage: /<command> <group>
        permission: groupmanager.manglistp
      mangcheckp:
        description: Check if group has a permission, and where it comes from.
        usage: /<command> <group> <permission>
        permission: groupmanager.mangcheckp
      mangaddi:
        description: Add a group to another group inheritance list.
        usage: /<command> <group1> <group2>
        permission: groupmanager.mangaddi
      mangdeli:
        description: Remove a group from another group inheritance list.
        usage: /<command> <group1> <group2>
        permission: groupmanager.mangdeli
      manuaddv:
        description: Add, or replaces, a variable to a user (like prefix or suffix).
        usage: /<command> <user> <variable> <value>
        permission: groupmanager.manuaddv
      manudelv:
        description: Remove a variable from a user.
        usage: /<command> <user> <variable>
        permission: groupmanager.manudelv
      manulistv:
        description: List variables a user has (like prefix or suffix).
        usage: /<command> <user>
        permission: groupmanager.manulistv
      manucheckv:
        description: Verify a value of a variable of user, and where it comes from.
        usage: /<command> <user> <variable>
        permission: groupmanager.manucheckv
      mangaddv:
        description: Add, or replaces, a variable to a group (like prefix or suffix).
        usage: /<command> <group> <variable> <value>
        permission: groupmanager.mangaddv
      mangdelv:
        description: Remove a variable from a group.
        usage: /<command> <group> <variable>
        permission: groupmanager.mangdelv
      manglistv:
        description: List variables a group has (like prefix or suffix).
        usage: /<command> <group>
        permission: groupmanager.manglistv
      mangcheckv:
        description: Verify a value of a variable of group, and where it comes from.
        usage: /<command> <group> <variable>
        permission: groupmanager.mangckeckv
      manwhois:
        description: Tell the group that user belongs.
        usage: /<command> <player>
        permission: groupmanager.manwhois
      tempadd:
        description: Creates a temporary permission copy for that user.
        usage: /<command> <player>
        permission: groupmanager.tempadd
      tempdel:
        description: Remove the temporary permission copy for player.
        usage: /<command> <player>
        permission: groupmanager.tempdel
      templist:
        description: List players in overload-permissions mode made by /tempadd.
        usage: /<command>
        permission: groupmanager.templist
      tempdelall:
        description: Remove all overrides made by command /tempadd.
        usage: /<command>
        permission: groupmanager.tempdelall
      mansave:
        description: Save all permissions on file.
        usage: /<command>
        permission: groupmanager.mansave
      manload:
        description: Reload current world and config.yml. Or load given world.
        usage: /<command> [world]
        permission: groupmanager.manload
      listgroups:
        description: List the groups available.
        usage: /<command>
        permission: groupmanager.listgroups
      manpromote:
        description: Promote a player in the same heritage line to a higher rank.
        usage: /<command> <player> <group>
        permission: groupmanager.manpromote
      mandemote:
        description: Demote a player in the same heritage line to a lower rank.
        usage: /<command> <player> <group>
        permission: groupmanager.mandemote
      mantogglevalidate:
        description: Toggle on/off the validating if player is online.
        usage: /<command>
        permission: groupmanager.mantogglevalidate
      mantogglesave:
        description: Toggle on/ff the autosave.
        usage: /<command>
        permission: groupmanager.mantogglesave
      manworld:
        description: Prints the selected world name
        usage: /<command>
        permission: groupmanager.manworld
      manselect:
        description: Select a world to work with next commands.
        usage: /<command> <world>
        permission: groupmanager.manselect
      manclear:
        description: Clear world selection. Next commands will work on your world.
        usage: /<command>
        permission: groupmanager.manclear
    All commands that changes permissions only allow you to change users below in a inheritance level(eg. Admins can't mod other Admins, but can modify Moderators).
    Except for Console, he can modify anyone.

    So, what happens with all of these plugins that already use Permissions?
    They will still work. I made a fake Permissions plugin, that will replace your old Permissions plugin. And the new fake one will attach directly on GroupManager system. So all plugins will think they are working with Permissions, but they will work with GroupManager.
    The most incredible thing is that all those plugins will receive the benefit of instant changes.

    I'm a server Administrator, what should I do to use it?
    If you already have Permissions, do this:
    1. Remove Permissions.jar from you plugins folder. (leave the Permissions folder there, if it is named diferently than this, the automatic import will not work)
    2. Paste GroupManager.jar with FakePermissions.jar on your plugins folder.
    3. Run.
    4. With all file structure done, you create your worlds folder and copy your files there.

    All your old plugins will still work like a charm.

    I'm a plugin developer, how should I use this plugin?
    You can read the java-doc, linked below. It's not complete yet, but it has the essential.
    Here is some code examples...

    Loading in your plugin:
    Code:
    import org.anjocaido.groupmanager.GroupManager;
    import org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder;
    import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
    public void onEnable() {
            Plugin p = this.getServer().getPluginManager().getPlugin("GroupManager");
            if (p != null) {
                if (!this.getServer().getPluginManager().isPluginEnabled(p)) {
                    this.getServer().getPluginManager().enablePlugin(p);
                }
                GroupManager gm = (GroupManager) p;
                WorldsHolder wd = gm.getWorldsHolder();
            } else {
                this.getPluginLoader().disablePlugin(this);
            }
        }
    WorldsHolder contains everything you need. You can easily do anything with it.

    Here is a example of a plugin that in a special circumstance, needed to put the player in a special group, with no permissions at all.
    Code:
    public void markAsNotLoggedIn(Player player) {
                OverloadedWorldHolder perm = gm.getWorldsHolder().getWorldData(player);
                Group lockDown = perm.getGroup("NotLoggedIn");
                if(lockDown == null){
                    lockDown = perm.createGroup("NotLoggedIn");
                }
                perm.overloadUser(player.getName());
                perm.getUser(player.getName()).setGroup(lockDown);
        }
    From now on the user is in this special group. And every change on him is temporary. Until the code below is executed.
    Code:
    public void restorePermissions(Player player){
                OverloadedWorldHolder perm = gm.getWorldsHolder().getWorldData(player);
                perm.removeOverload(player.getName());
        }
    And, finally, how to check a user permission:
    Code:
    public boolean canChangeGroup(Player player){
                return gm.getWorldsHolder().getWorldPermissions(player).has(player,"groupmanager.mangroup");
        }
    F.A.Q.
    Q: It is compatible with permissions... but where it get it's data from?
    - A: It gets from users.yml and groups.yml in the world folder, located properly inside GroupManager worlds folder.
    Q: Can I use commands from other plugins to change permissions?
    - A: No. I made the decision to store data in GroupManager folder because I don't think it is right my plugin mess around with other ones files. Unfortunately, other plugins of group modification tries to access other files than mine.

    Changelog:
    Version 1.0 alpha-5:
    • Fixed a bug in method String[] groups(groupName)
    • Added some functionality to Tasks class
    • Fixed some errors in JavaDoc
    • Changed templates to make use of Roles plugin
    Show Spoiler

    Version 1.0 alpha-4:
    • Fixed subgroups listing when using /manulistp
    Version 1.0 alpha-3:
    • Basic user multigroup support using subgroups concept.
    • Added tracking for minor bugs.
    Version 1.0 alpha-2:
    • Now /manload reloads config.yml(which means mirror configuration receives updates too).
    Version 1.0 alpha:
    • Fixed some issues with /manpromote and /mandemote for multiples inheritances
    • Added permission node for commands in plugin.yml. So the newer EssentialsHelp feature I created will filter commands that people don't have(dev #688).
    Version 1.0 pre-alpha-3:
    • Now /manucheckp and /mangcheckp tells you if the permission was negated by a negation node.
    • Now using Breadth-first search for inheritance harvest. It guarantees that closer groups in inheritance are checked first.
    • Fixed some bugs, where a negation node directly in a user could be ignored.
    • Now it reads old data.yml and auto-install it to default world if none is found.
    • Created a system where plugins can get detailed answers from a permission check.
    • Deprecated some inefficient methods(all of them redirects to the new efficient method), but they still works.
    Version 1.0 pre-alpha-2:
    • World selection is optional, except for console.
    • Not selecting a world makes it run on same world of the command sender.
    • Fixed "temporary permissions" system.
    • Fixed most of commands bugs(I fixed all errors I could see)
    • Fake Permissions says it's 2.5 now, so plugins like HeroChat works now(yay).
    • Fixed some unnecessary file saves.
    • Added /manclear to clear selection
    • /manselect now lists physical worlds if no parameters are given.
    • /manload can load a world not loaded before, if given a parameter.
    Version 1.0 pre-alpha:
    • Refactored a lot of things. Please check the java-docs.
    • Added multiworld support.
    • Split files in users.yml and data.yml
    • Saves only files that needs changes
    • Fixed some bugs
    • World mirroring
    • Basic commands for world selection, to keep old commands working.
    Version 0.99d:
    • Fixed more small bugs.
    • Saves in human readable format
    • Deletes backups older than 24 hours
    Version 0.99c:
    • Fixed small bugs. Like /mangaddi
    • Changed some classes package
    Version 0.99b:
    • Fixed Group Variables, that I broke last version.(restore your backups, yay)
    Version 0.99a:
    • User specific variables. Prefixes, Suffixes and more.
    • Negative permission node(prevails normal nodes). Like '-groupmanager.*'
    • Exception permission node(prevails negative nodes). Like '+groupmanager.manpromote'
    Version 0.9e:
    • It writes a template it self if doesn't find any data.yml file on the folder.
    Version 0.9d:
    • FakePermissions adapted to new CB builds.
    Version 0.9c:
    • Multiple inheritance fixed.
    • Added a command to toggle auto-saving, so you can edit the file while it is disabled.
    • Tested with server 1.3
    Version 0.9b:
    • Now variables work with spaced strings.(you can add prefix with spaces)
    • Fixed some errors while loading files in later 400+ builds.
    • FakePermissions got small update.
    Version 0.9:
    • Added variables manipulation command(things in info node, such as prefix, suffix, build, and custom ones)
    • Improved FakePermissions support for the Nijikokun's original one.
    • FakePermissions force loading of GroupManager before itself.
    Version 0.8:
    • Added tons of commands. Resulting in a complete control, inside the game.
    • Renamed some commands in the same format Wulfspider sugested.
    • FakePermissions.jar updated to take care oc Misc field, which some Permissions plugins need.
    Version 0.7:
    • Added commands /manpromote and /mandemote
    • Fixed a bug where a file with an empty permissions node in a group could fail the plugin to load.
    • now /addpermissions can only add permissions that the player have access.
    Version 0.6c:
    • Removed the debugging messages that occurs while other plugins check permissions.
    • Removed the debugging messages on FakePermissions
    Version 0.6b:
    • Fixed inheritance system I broke in 0.6. Sorry.
    Version 0.6:
    • Fixed some bugs
    • User/Group class modelled in tiny different way(check JavaDocs)
    • Commands work on Console
    Version 0.5:
    • First fully working release.


    Future plans (they are closer than you think):
    • Make commands for cloning files, and world mirroring.
    • Implements Nijiko's interface for permission changing.
    • Make it work, optionally, with SQLite/MySQL(thinking of Persistence plugin, anyone with ideas?).

    Latest Build Download:
    http://www.mdn.fm/files/276497_as2zr/GroupManager-1.0-alpha-5.zip


    ===========================================
    Other Downloads:
    Java Doc:
    http://www.mdn.fm/files/276266_vqd0d/JavaDoc-GroupManager-1.0-alpha-3.zip

    ===========================================
    Plugins I love to use with GroupManager:
    Roles, Essentials, AntiGrief, iChat, MultiVerse, WorldEdit and WorldProtect.


    ===========================================
    Source:
    https://github.com/gmcouto/GroupManager
    Fake Permissions Source:
    https://github.com/gmcouto/FakePermission
     
    TNC, Kohle, pat8u and 17 others like this.
  2. Offline

    Kagari

    doesnt work
     
  3. Offline

    BigRedWood

    After editing the file and saving, do a /manload
    Or, you can just edit the files when the server is offline. The plugin auto-saves periodically (every 10 min by default,) and it'll overwrite your changes unless you do the /manload before it can save.
     
  4. Offline

    Dysalot

    I am currently having an issue that is filling up the server.log, it got to 200MB in 10 minutes (from a new server.log) and it is doing it consistently. I have deleted all unused plugins and this is part of the errors I am getting but it constantly updates. After many things checking off the list, I think this may be the issue.

    Code:
    2011-03-13 17:06:11 [INFO] Starting minecraft server version Beta 1.3
    2011-03-13 17:06:11 [INFO] Loading properties
    2011-03-13 17:06:11 [INFO] Starting Minecraft server on 69.197.188.55:25565
    2011-03-13 17:06:11 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-516-gdf87bb3-b531jnks (MC: 1.3)
    2011-03-13 17:06:11 [INFO] Preparing level "world"
    2011-03-13 17:06:11 [INFO] Preparing start region
    2011-03-13 17:06:12 [INFO] Preparing spawn area: 65%
    2011-03-13 17:06:13 [INFO] WorldGuard loaded.
    2011-03-13 17:06:13 [INFO] CraftBookCommon 3.0-alpha1 enabled.
    2011-03-13 17:06:13 [INFO] CraftBookCircuits 3.0-alpha1 enabled.
    2011-03-13 17:06:13 [INFO] CraftBookMechanisms 3.0-alpha1 enabled.
    2011-03-13 17:06:13 [INFO] CraftBookVehicles 3.0-alpha1 enabled.
    2011-03-13 17:06:14 [INFO] GroupManager - INFO - Scheduled Data Saving is set for every 10 minutes!
    2011-03-13 17:06:14 [INFO] GroupManager version 1.0(alpha-5) is enabled!
    2011-03-13 17:06:14 [INFO] [EpicGates] error starting: org.anjocaido.groupmanager.GroupManager.getPermissionHandler()Lcom/nijiko/permissions/PermissionHandler; Disabling plugin
    2011-03-13 17:06:14 [INFO] EpicGates version 0.3 is disabled.
    2011-03-13 17:06:14 [INFO] §eLoaded Essentials build 244 maintained by Zenexer, ementalo, Aelux, and Brettflan
    2011-03-13 17:06:14 [INFO] Loaded EssentialsBan build 244 by Zenexer, ementalo, Eris, and EggRoll
    2011-03-13 17:06:14 [INFO] Loaded EssentialsChat build 2.0.287 by Zenexer, ementalo, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    2011-03-13 17:06:14 [INFO] Loaded EssentialsSpawn build 245 maintained by Zenexer, ementalo, Aelux, and Brettflan
    2011-03-13 17:06:14 [INFO] Loaded EssentialsTele build 245 by Zenexer, ementalo, Aelux, and Brettflan
    2011-03-13 17:06:14 [SEVERE] org/anjocaido/groupmanager/GroupManager loading Permissions v2.5.1 (Is it up to date?)
    java.lang.NoClassDefFoundError: org/anjocaido/groupmanager/GroupManager
        at com.nijikokun.bukkit.Permissions.Permissions.onEnable(Permissions.java:63)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:451)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.ClassNotFoundException: org.anjocaido.groupmanager.GroupManager
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:30)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 11 more
    
    There is a lot more, but I stopped there if you need more tell me.
     
  5. Offline

    lusid

    Love the multiworld/multigroup updates. The only thing that is really keeping me from using it how I had hoped is that it doesn't seem possible to share the user list across worlds (i.e. I think /manpromote should work across all worlds, not just the one selected). So if I start setting up different permissions per world, my moderators have to really be careful with how they promote users to ensure they are doing it correctly. Ideally, users would be shared, but groups would be different per world. So I can set default users to have build access in one world, and when we are ready, we can promote them to resident, and they'll get the settings that resident groups have on each individual world using just one command.

    Is there any way to support this as a configurable option in the future? I'm tempted to just use symbolic links in Linux to make the users.yml files all point to the same file, but I am not positive the plugin will work as I expect if I were to do this.
     
  6. Offline

    Jear

    Craftbukkit:550

    I get the error 'an internal error occured while while attempting to perform this command' anytime i attempt to execute a command.

    here's the cmd errors:
    Code:
    18:47:19 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'mang
    del' in plugin GroupManager v1.0(alpha-5)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80
    )
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:2
    22)
            at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:645)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:608)
    
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:602)
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(SourceFile:230)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:76)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NullPointerException
            at org.anjocaido.groupmanager.GroupManager.onCommand(GroupManager.java:2
    03)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
    >
    
     
  7. Offline

    Insidiea

    I'm having some errors too, kinda like above when i try any command its null and gives errors.

    Code:
    2011-03-13 21:43:23 [INFO] Starting minecraft server version Beta 1.3
    2011-03-13 21:43:23 [INFO] Loading properties
    2011-03-13 21:43:23 [INFO] Starting Minecraft server on 69.197.191.152:25565
    2011-03-13 21:43:23 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-516-gdf87bb3-b531jnks (MC: 1.3)
    2011-03-13 21:43:23 [INFO] Preparing level "world"
    2011-03-13 21:43:23 [INFO] Preparing start region
    2011-03-13 21:43:24 [INFO] WorldGuard loaded.
    2011-03-13 21:43:24 [INFO] ChatBukkit v0.0.1 is enabled!
    2011-03-13 21:43:24 [SEVERE] The following file couldn't pass on Parser.
    plugins\GroupManager\worlds\world\groups.yml loading Permissions v2.5.1 (Is it up to date?)
    java.lang.IllegalArgumentException: The following file couldn't pass on Parser.
    plugins\GroupManager\worlds\world\groups.yml
        at org.anjocaido.groupmanager.dataholder.WorldDataHolder.load(WorldDataHolder.java:567)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld(WorldsHolder.java:358)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialWorldLoading(WorldsHolder.java:68)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialLoad(WorldsHolder.java:63)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.<init>(WorldsHolder.java:56)
        at org.anjocaido.groupmanager.GroupManager.onEnable(GroupManager.java:73)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:451)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
        at com.nijikokun.bukkit.Permissions.Permissions.onEnable(Permissions.java:61)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:451)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NullPointerException
        at org.anjocaido.groupmanager.dataholder.WorldDataHolder.load(WorldDataHolder.java:564)
        ... 19 more
    2011-03-13 21:43:24 [INFO] ScrapBukkit version 0.2.1 is enabled!
    2011-03-13 21:43:24 [INFO] WorldEdit 4.1 enabled.
    2011-03-13 21:43:24 [INFO] WorldEdit: Permissions plugin detected! Using Permissions plugin for permissions.
    2011-03-13 21:43:25 [INFO] WorldGuard: Permissions plugin detected! Using Permissions plugin for permissions.
    2011-03-13 21:43:25 [INFO] WorldGuard: Single session is enforced.
    2011-03-13 21:43:25 [INFO] WorldGuard: TNT ignition is PERMITTED.
    2011-03-13 21:43:25 [INFO] WorldGuard: Lighters are PERMITTED.
    2011-03-13 21:43:25 [INFO] WorldGuard: Lava fire is blocked.
    2011-03-13 21:43:25 [INFO] WorldGuard: Fire spread is UNRESTRICTED.
    2011-03-13 21:43:25 [INFO] WorldGuard 4.0-alpha1 enabled.
    2011-03-13 21:43:25 [INFO] Done (0.175s)! For help, type "help" or "?"
    2011-03-13 21:43:30 [INFO] 143 recipes
    2011-03-13 21:43:30 [INFO] Insidiea [/**.**.***.**:*****]logged in with entity id 175
    2011-03-13 21:43:30 [SEVERE] java.lang.NullPointerException
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.bukkit.migration.NijiPermissionsResolver.inGroup(NijiPermissionsResolver.java:70)
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.bukkit.migration.PermissionsResolverManager.inGroup(PermissionsResolverManager.java:117)
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.worldguard.bukkit.WorldGuardPlugin.inGroup(WorldGuardPlugin.java:1375)
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.worldguard.bukkit.WorldGuardPlayerListener.onPlayerJoin(WorldGuardPlayerListener.java:68)
    2011-03-13 21:43:30 [SEVERE]     at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:162)
    2011-03-13 21:43:30 [SEVERE]     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    2011-03-13 21:43:30 [SEVERE]     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:98)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:27)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    2011-03-13 21:43:30 [SEVERE] java.lang.NullPointerException
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.bukkit.migration.NijiPermissionsResolver.inGroup(NijiPermissionsResolver.java:70)
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.bukkit.migration.PermissionsResolverManager.inGroup(PermissionsResolverManager.java:117)
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.worldguard.bukkit.WorldGuardPlugin.inGroup(WorldGuardPlugin.java:1375)
    2011-03-13 21:43:30 [SEVERE]     at com.sk89q.worldguard.bukkit.WorldGuardPlayerListener.onPlayerJoin(WorldGuardPlayerListener.java:72)
    2011-03-13 21:43:30 [SEVERE]     at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:162)
    2011-03-13 21:43:30 [SEVERE]     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    2011-03-13 21:43:30 [SEVERE]     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:98)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:27)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
    2011-03-13 21:43:30 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    2011-03-13 21:43:38 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'manuadd' in plugin GroupManager v1.0(alpha-5)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:183)
        at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:645)
        at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:608)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:602)
        at net.minecraft.server.Packet3Chat.a(SourceFile:24)
        at net.minecraft.server.NetworkManager.a(SourceFile:230)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:76)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NullPointerException
        at org.anjocaido.groupmanager.GroupManager.onCommand(GroupManager.java:203)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
        ... 12 more
    2011-03-13 21:43:41 [INFO] Insidiea lost connection: disconnect.quitting
    
    Here are my groups:
    Code:
    groups:
      Default:
        default: true
        permissions:
        inheritance: []
        info:
          prefix: '&7'
          build: false
          suffix: ''
      Green:
        default: false
        permissions:
        - myhome.home.basic.*
        - SimpleWarp.warp
        - blank.blank
        - blank.blank
        inheritance:
        - default
        info:
          prefix: '&2'
          build: true
          suffix:
      Green:
        default: false
        permissions:
        - myhome.home.basic.*
        - SimpleWarp.warp
        - blank.blank
        - blank.blank
        inheritance:
        - default
        info:
          prefix: '&2'
          build: true
          suffix:
      Semiadmin:
        permissions:
        - myhome.home.basic.*
        - SimpleWarp.warp
        - magiccarpet.mc
        - myhome.soc.*
        - worldedit.history.*
        - worledit.wand
        - worldedit.region.stack
        - kiwiadmin.*
        - /regionbypass
        - -worldedit.*
        inheritance:
        - Green
        info:
          prefix: '&a'
          build: true
          suffix:
      Admin:
        default: false
        permissions:
        - '*'
        inheritance:
        - Green
        info:
          prefix: ''
          build: true
          suffix: ''
     
    I'm running pretty much basic plugins, and my users.yml is blank. iChat is also messed up, although I'm not running it in this log.
    Please help!
    For now i just disable group manager
     
  8. Offline

    roly

    may i know what does this do? it save the group setting or the world?
     
  9. Offline

    Smirrom

    i tested this plugin with bukkit 522, without other plugins, and get same error:


    Code:
    2011-03-14 11:52:25 [SEVERE] The following file couldn't pass on Parser.
    plugins/GroupManager/worlds/mccity2/groups.yml loading GroupManager v1.0(alpha-5) (Is it up to date?)
    java.lang.IllegalArgumentException: The following file couldn't pass on Parser.
    plugins/GroupManager/worlds/mccity2/groups.yml
        at org.anjocaido.groupmanager.dataholder.WorldDataHolder.load(WorldDataHolder.java:567)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld(WorldsHolder.java:358)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialWorldLoading(WorldsHolder.java:68)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialLoad(WorldsHolder.java:63)
        at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.<init>(WorldsHolder.java:56)
        at org.anjocaido.groupmanager.GroupManager.onEnable(GroupManager.java:73)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:451)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NullPointerException
        at org.anjocaido.groupmanager.dataholder.WorldDataHolder.load(WorldDataHolder.java:564)
        ... 15 more
    
     
  10. Offline

    Devilyoda

    How do you get each group to be a different color in chat? I tried putting a number in the prefix but it just added the number infront of everyones name.
     
  11. Offline

    D-Kalck

    Would it be possible to GroupManager to use the users file from the default world when it doesn't find the file for a specific world ?
    Or maybe we could mirror the users but not the groups or vice versa.
     
  12. Offline

    Victormlp

    AnjoCaido, Does Groupmanager conflict witt Stargate ?

    because i got my groups setup and works all fine but i cant use my stargate anymore, only when i add myself in the 'ops.txt' :S
    Any help here ?

    done short, All works but stargate only works for people on the Ops.txt ( even if im on admin whit '*' permissions )
     
  13. Offline

    SynMonger

    McMyAdmin just added permissions integration using GroupManager and Essentials GM. Congrats on becoming the de-facto standard unless and until Bukkit releases some official permissions.
     
  14. Offline

    HexedGoth

    I'm having a problem setting it up even tho im op on the server and i changed the permissions around for groups and admins and edited the users.yaml to have be be an admin i still get: you dont have access to this command. to all the group manager commands and to the /npc create commands
     
  15. Offline

    Victormlp

    ------------------------------------------
    Code:
    17:06:22 [INFO] Starting minecraft server version Beta 1.3
    17:06:22 [INFO] Loading properties
    17:06:22 [INFO] Starting Minecraft server on 5.227.80.15:25565
    17:06:22 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-493-
    g8b5496e-b493jnks (MC: 1.3)
    17:06:22 [INFO] Preparing level "WorldOfViggo"
    17:06:23 [INFO] Preparing start region
    17:06:24 [INFO] Preparing spawn area: 36%
    17:06:25 [INFO] ºeLoaded Essentials build 2.0.286 maintained by Zenexer, emental
    o, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    17:06:25 [INFO] Loaded EssentialsChat build 2.0.286 by Zenexer, ementalo, Aelux,
     Brettflan, KimKandor, snowleo and ceulemans.
    17:06:27 [INFO] Loaded EssentialsProtect build 2.0.286 maintained by Zenexer, em
    entalo, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    17:06:27 [INFO] EssentialsServerlist version 2.0.286 by Vimae Development enable
    d.
    17:06:27 [INFO] Loaded EssentialsSpawn build 2.0.286 maintained by Zenexer, emen
    talo, Aelux, Brettflan, KimKandor, snowleo and ceulemans.
    17:06:27 [INFO] Loaded EssentialsTele build 2.0.272 by Zenexer, ementalo, Aelux,
     Brettflan, KimKandor, and snowleo
    17:06:27 [SEVERE] The following file couldn't pass on Parser.
    plugins\GroupManager\worlds\worldofviggo\groups.yml loading Permissions v2.5.1 (
    Is it up to date?)
    java.lang.IllegalArgumentException: The following file couldn't pass on Parser.
    plugins\GroupManager\worlds\worldofviggo\groups.yml
            at org.anjocaido.groupmanager.dataholder.WorldDataHolder.load(WorldDataH
    older.java:567)
            at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld(W
    orldsHolder.java:358)
            at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialWorl
    dLoading(WorldsHolder.java:68)
            at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialLoad
    (WorldsHolder.java:63)
            at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.<init>(Worl
    dsHolder.java:56)
            at org.anjocaido.groupmanager.GroupManager.onEnable(GroupManager.java:73
    )
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:414)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:187)
            at com.nijikokun.bukkit.Permissions.Permissions.onEnable(Permissions.jav
    a:61)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:414)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:187)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: mapping values are not allowed here
     in "<reader>", line 4, column 27:
            group: default    info:
                                  ^
    
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:74
    5)
            at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja
    va:307)
            at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:18
    3)
            at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(Par
    serImpl.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:12
    2)
            at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
    
            at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
    tructor.java:124)
            at org.yaml.snakeyaml.Yaml.load(Yaml.java:264)
            at org.anjocaido.groupmanager.dataholder.WorldDataHolder.load(WorldDataH
    older.java:562)
            ... 19 more
    17:06:27 [INFO] Take yourself wonder by wonder, using /magiccarpet or /mc. Magic
    Carpet version 1.2.4 is enabled!
    17:06:27 [INFO] Stargate v.0.24 is enabled.
    17:06:27 [INFO] [Stargate] {WorldOfViggo} Loaded 2 stargates with 0 set as alway
    s-on
    17:06:27 [INFO] [Stargate] Using Permissions 2.0 (2.0) for permissions
    17:06:27 [INFO] WorldEdit 4.1 enabled.
    17:06:27 [INFO] WorldEdit: Permissions plugin detected! Using Permissions plugin
     for permissions.
    17:06:28 [INFO] Done (0,505s)! For help, type "help" or "?"
    17:06:29 [INFO] 143 recipes
    17:06:29 [INFO] Victormlp [/5.227.80.15:49955] logged in with entity id 58
    17:06:29 [WARNING] Missing a prefix or suffix for default
    17:06:33 [WARNING] Missing a prefix or suffix for default
    17:06:33 [INFO] º7[default]ºf Victormlpº7:ºf f
    17:06:35 [SEVERE] java.lang.NullPointerException
    17:06:35 [SEVERE]       at com.sk89q.bukkit.migration.NijiPermissionsResolver.ha
    sPermission(NijiPermissionsResolver.java:58)
    17:06:35 [SEVERE]       at com.sk89q.bukkit.migration.PermissionsResolverManager
    .hasPermission(PermissionsResolverManager.java:113)
    17:06:35 [SEVERE]       at com.sk89q.worldedit.bukkit.BukkitPlayer.hasPermission
    (BukkitPlayer.java:109)
    17:06:35 [SEVERE]       at com.sk89q.worldedit.WorldEdit.getSession(WorldEdit.ja
    va:142)
    17:06:35 [SEVERE]       at com.sk89q.worldedit.WorldEdit.handleArmSwing(WorldEdi
    t.java:743)
    17:06:35 [SEVERE]       at com.sk89q.worldedit.bukkit.WorldEditPlayerListener.on
    PlayerAnimation(WorldEditPlayerListener.java:52)
    17:06:35 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader$12.execute(Ja
    vaPluginLoader.java:180)
    17:06:35 [SEVERE]       at org.bukkit.plugin.RegisteredListener.callEvent(Regist
    eredListener.java:59)
    17:06:35 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.callEvent(Simpl
    ePluginManager.java:225)
    17:06:35 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:669)
    17:06:35 [SEVERE]       at net.minecraft.server.Packet18ArmAnimation.a(SourceFil
    e:35)
    17:06:35 [SEVERE]       at net.minecraft.server.NetworkManager.a(SourceFile:230)
    
    17:06:35 [SEVERE]       at net.minecraft.server.NetServerHandler.a(NetServerHand
    ler.java:75)
    17:06:35 [SEVERE]       at net.minecraft.server.NetworkListenThread.a(SourceFile
    :100)
    17:06:35 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServe
    r.java:357)
    17:06:35 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:272)
    17:06:35 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:366)
    >
    This only happends whit group "default" other groups dont get this error. Can this be the problem ?

    And here is my group-file
    Code:
    groups:
      Default:
        default: true
        permissions:
        - essentials.help
        - essentials.home
        - essentials.motd
        - essentials.sethome
        - essentials.spawn
        - essentials.warp
        - essentials.warp.list
        - essentials.afk
        - essentials.rules
        - essentials.list
        - essentials.suicide
        - stargate.use
        inheritance: []
        info:
          prefix: ''
          build: false
          suffix: ''
      Builder:
        default: false
        permissions:
        - essentials.msg
        - essentials.kit
        - essentials.kit.starter
        - essentials.helpop
        - essentials.signs.free.use
        - essentials.back
        inheritance:
        - default
        info:
          prefix: ''
          build: true
          suffix: ''
      Gud:
        default: false
        permissions:
        - '*'
        inheritance:
        - moderator
        info:
          prefix: ''
          build: true
          suffix: ''
      Moderator:
        default: false
        permissions:
        - essentials.tp
        - essentials.tphere
        - essentials.item
        - essentials.give
        - essentials.signs.free.create
        - essentials.top
        - essentials.jump
        - essentials.compass
        - essentials.setwarp
        - essentials.delwarp
        - essentials.clearinventory
        - essentials.kill
        - essentials.ban
        - essentials.mute
        - essentials.kick
        - essentials.unban
        - essentials.togglejail
        - essentials.setjail
        - essentials.kit.adm
        - essentials.time
        - essentials.god
        - essentials.heal
        - essentials.chat.spy
        - essentials.chat.shout
        - essentials.chat.question
        - stargate.create
        - stargate.destroy.all
        - stargate.destroy
        - magiccarpet.mc
        - worldedit.*'
        inheritance:
        - builder
        info:
          prefix: ''
          build: true
          suffix: ''
    
     
  16. Offline

    AnjoCaido

    People getting problems with NullPointerException where can't execute commands is because GM is not stopping when they see a invalid file. Next version that will be fixed.

    But for you all I just say to correct your files. An empty file is an invalid file. You need at least groups or users node for each file to them being recognized.

    The first alpha didn't install the old files. But since alpha-3 you should be safe. Just make sure to delete worlds folder before starting the server with newer version.
     
  17. Offline

    HexedGoth

    getting this error at start up

    2011-03-14 10:00:08 [SEVERE] java.lang.String cannot be cast to java.util.Map loading Permissions v2.5.1 (Is it up to date?)
    java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map
    at org.anjocaido.groupmanager.dataholder.WorldDataHolder.load(WorldDataHolder.java:575)
    at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.loadWorld(WorldsHolder.java:358)
    at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialWorldLoading(WorldsHolder.java:68)
    at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.initialLoad(WorldsHolder.java:63)
    at org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder.<init>(WorldsHolder.java:56)
    at org.anjocaido.groupmanager.GroupManager.onEnable(GroupManager.java:73)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:451)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
    at com.nijikokun.bukkit.Permissions.Permissions.onEnable(Permissions.java:61)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:118)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:451)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:217)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:83)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:61)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:204)
    at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:191)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:131)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:246)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
     
  18. Offline

    AnjoCaido

    Paste your file.
     
  19. Offline

    Legionarius

    Same error. No GM commands work. File should be fine, I've scoured over it.

    EDIT: Appears to be a directory structure problem. My world save is in a '/saves' directory in minecraft root. It is called 'world'. Am I doing something derp?


    Code:
    java.lang.IllegalArgumentException: Groups file for world 'saves' doesnt exist:
    plugins/GroupManager/worlds/saves/groups.yml
    Code:
    groups:
      Default:
        default: true
        permissions: [BetterShop.user.*, essentials.afk, essentials.compass, essentials.depth,
          essentials.getpos, essentials.helpop, essentials.home, essentials.kit, essentials.kit.starter,
          essentials.list, essentials.mail, essentials.mail.send, essentials.me, essentials.motd,
          essentials.msg, essentials.rules, essentials.sethome, essentials.spawn, essentials.tpaccept,
          essentials.tpdeny, iConomy.list, iConomy.payment, iConomy.rank, mcdocs.*, towny.town.claim]
        inheritance: []
        info: {prefix: '&7', build: true, suffix: ''}
      Netherack:
        default: false
        permissions: [essentials.kit.netherack]
        inheritance: [obsidian]
        info: {prefix: '&c', build: true, suffix: ''}
      Sand:
        default: false
        permissions: [essentials.kit.sand]
        inheritance: [default]
        info: {prefix: '', build: true, suffix: ''}
      Administrator:
        default: false
        permissions: []
        inheritance: [moderator]
        info: {prefix: '&4', build: true, suffix: ''}
      Glowstone:
        default: false
        permissions: [essentials.heal, essentials.kit.glowstone]
        inheritance: [diamond]
        info: {prefix: '&6', build: true, suffix: ''}
      Obsidian:
        default: false
        permissions: [essentials.kit.obsidian]
        inheritance: [glowstone]
        info: {prefix: '&5', build: true, suffix: ''}
      Gold:
        default: false
        permissions: [essentials.kit.gold]
        inheritance: [iron]
        info: {prefix: '&e', build: true, suffix: ''}
      Diamond:
        default: false
        permissions: [essentials.kit.diamond]
        inheritance: [gold]
        info: {prefix: '&3', build: true, suffix: ''}
      Moderator:
        default: false
        permissions: ['*']
        inheritance: []
        info: {prefix: '&9', build: true, suffix: ''}
      Iron:
        default: false
        permissions: [essentials.kit.iron]
        inheritance: [sand]
        info: {prefix: '&8', build: true, suffix: ''}
    [MERGETIME="1300126314"][/MERGETIME]
    Desperate for help...
     
  20. Offline

    anon

    u cant have a subfolder, it wont work.
    use only the saves folder under the bukkit folder.
     
  21. Offline

    BigRedWood

    GM is looking for your world folder, and within that the groups.yml. Right now GM is seeing that your world name is 'saves' so it's looking in that directory. It sounds like you have moved your files around a bit. Mine is located in /plugins/EssentialsGroupManager/worlds/Wood's World/groups.yml
    If your world name is 'world', then you should expect the GM to be looking in /plugins/GroupManager/worlds/world and not in /saves. Something is pointing to the wrong directory here, or there is a mismatch on the world name. What is the level-name in server.properties?

    I hope this helps. I don't have enough information to know exactly what the issue is.
     
  22. Offline

    Legionarius

    level name is, of course, saves/world. So in other words, this can't handle anything other than vanilla file structure atm. Got it.

    That's unfortunate considering I'd have to grep through all my player files and properties files and replace saves/world with world. :(
     
  23. Offline

    Scuzzball

    Just wondering if you will support changing the file then reloading, as that is how I like to change permissions, it allows me to have a better overview. Also, it's annoying to have to look up each command.

    Thanks for the plugin even if you don't implement that,
    Scuzzball
     
  24. Offline

    AnjoCaido

    That's possible from the first version... just use /manload
     
  25. Offline

    Legionarius

  26. Offline

    AnjoCaido

    For now I can't do anything about that. I don't have a solution for that yet. I'm trying to figure out something that works but doesn't change too much how it works.
     
  27. Offline

    HexedGoth

    Code:
    groups:
    
    Guest:
    
    default: true
    
    permissions:
    
    - essentials.help
    
    - essentials.home
    
    - essentials.motd
    
    - essentials.sethome
    
    - essentials.spawn
    
    - essentials.tp
    
    inheritance: []
    
    info:
    
    prefix: ''
    
    build: false
    
    suffix: 'Guest'
    
    SuperMod:
    
    default: false
    
    permissions:
    
    - +groupmanager.mandemote
    
    - +groupmanager.manpromote
    
    - -groupmanager.*
    
    - '*'
    
    inheritance:
    
    - moderator
    
    info:
    
    prefix: ''
    
    build: true
    
    suffix: SuperMod
    
    Admin:
    
    Admins:
    
    default: false
    
    info:
    
    build: false
    
    prefix: ''
    
    suffix: 'Admin'
    
    inheritance:
    
    - SuperMod
    
    permissions:
    
    - '*'
    
    Moderator:
    
    default: false
    
    permissions:
    
    - essentials.tp
    
    - essentials.tphere
    
    - essentials.item
    
    - essentials.give
    
    inheritance:
    
    - default
    
    info:
    
    prefix: ''
    
    build: true
    
    suffix: Mod
     
    
    Code:
    users:
    
    HexedGoth:
    
    subgroups: []
    
    permissions:
    
    group: Admin
    
    PurpleArmy5:
    
    subgroups: []
    
    permissions: []
    
    group: Admin
    
    Rikux:
    
    subgroups: []
    
    permissions: []
    
    group: SuperMod
    
    Sniperbrob:
    
    subgroups: []
    
    permissions: []
    
    group: SuperMod
    
    Johnnymitnick:
    
    subgroups:
    
    permissions: []
    
    group: SuperMod
    
    Tyler4768:
    
    subgroups: []
    
    permissions: []
    
    group: Admin
    
    Death_rider20:
    
    subgroups: []
    
    permissions: []
    
    group: SuperMod
    
    renxwar:
    
    subgroups:[]
    
    permissions:[]
    
    group:SuperMod
    
    Sparrow11:
    
    subgroups: []
    
    group: SuperMod
    
    Austinplaysmc:
    
    subgroups: []
    
    group: SuperMod
    
    Joshua_mcKAne:
    
    subgroups: []
    
    group: SuperMod
     
  28. Offline

    Legionarius

    I'll just grep and replace all instances of my old file structure then. Linux ftw.
     
  29. Offline

    Insanehero

    Do I have to have the Permissions folder to do this or can I just make a file from scratch?
     
  30. Offline

    RugRats

    I get the same error.
     
  31. Offline

    kazeen

    People dont seem to be getting default command no errors when starting up
    just says dont have access to command such as help
    groups:
    Admins:
    default: false
    info:
    build: false
    prefix: '&4'
    suffix: ''
    inheritance:
    - moderator
    permissions:
    - '*'
    - essentials.setspawn
    - essentials.spawnmob
    - essentials.time
    - mcbans.admin
    - mcbans.online
    Default:
    default: true
    info:
    build: true
    prefix: ''
    suffix: ''
    inheritance: []
    permissions:
    - essentials.afk
    - essentials.balance
    - essentials.eco
    - essentials.help
    - essentials.helpop
    - essentials.home
    - essentials.list
    - essentials.mail
    - essentials.mail.send
    - essentials.motd
    - essentials.msg
    - essentials.pay
    - essentials.rules
    - essentials.sell
    - essentials.sethome
    - essentials.spawn
    - essentials.worth
    - falsebook.blocks.*
    - localshops.buysell
    - localshops.create
    - localshops.destroy
    - localshops.manage
    - localshops.manage.owner
    - mcbans.vote
    - vampire.default.*
    Moderator:
    default: false
    info:
    build: false
    prefix: '&d[Mod]&7'
    suffix: ''
    inheritance:
    - Default
    permissions:
    - +groupmanager.mandemote
    - +groupmanager.manpromote
    - -groupmanager.*
    - '*'
    - essentials.broadcast
    - essentials.clearinventory
    - essentials.delwarp
    - essentials.ext
    - essentials.give
    - essentials.heal
    - essentials.item
    - essentials.kick
    - essentials.setjail
    - essentials.setwarp
    - essentials.togglejail
    - essentials.tp
    - essentials.tphere
    - essentials.tppos
    - essentials.warp
    - essentials.warp.list
    - jail.command.jail
    - jail.command.jailbackup
    - jail.command.jailcheck
    - jail.command.jailclear
    - jail.command.jailclearforce
    - jail.command.jailcreate
    - jail.command.jaildelete
    - jail.command.jaillist
    - jail.command.jailtelein
    - jail.command.jailteleout
    - jail.command.jailtransfer
    - jail.command.jailtransferall
    - jail.command.unjail
    - jail.command.unjailforce
    - localshops.admin
    - localshops.reload
    - mcbans.ban.global
    - mcbans.ban.local
    - mcbans.ban.view
    - mcbans.clear
    - mcbans.kick
    - mcbans.lookup
    - mcbans.mod
    - mcbans.reload
    - mcbans.tempban
    - mcbans.unban
    - vampire.admin.*
    - firelord.admin
    - firelord.armor
    - firelord.sword
    Vip:
    default: false
    permissions:
    - essentials.setwarp
    - essentials.warp
    - essentials.delwarp
    - mcbans.vote.kick
    - mcbans.vote.msg
    inheritance:
    - default
    info:
    build: false
    prefix: '&3'
    suffix: ''
    Vip2:
    default: false
    permissions:
    - essentials.setwarp
    - essentials.warp
    - essentials.delwarp
    - mcbans.vote.kick
    - mcbans.vote.msg
    - firelord.admin
    - firelord.armor
    inheritance:
    - Vip
    info:
    build: false
    prefix: '&3'
    suffix: ''
     
Thread Status:
Not open for further replies.

Share This Page