Group Manager is a implementation of permissions. It allows you to set up permissions for groups, and add users to these groups. The result is you can have multiple tiers of access to commands. This is useful for most Minecraft servers, as it lets you build a community, without it you struggle to balance the right number of admins with users.
Group Manager is offered as a separate module, and is not currently available as a BukkitDev approved project.
Video Tutorial covering a subsection of this page. - There are some minor inaccuracies so where this document disagrees with the video, use this document.
The Basic Idea
Group Manager allows you to effectively manage any size server by letting you create as many different groups and subgroups as you could possibly need. This config can be as simple or as complicated as you could wish.
The most traditional system (shown below) uses group inheritance, starting with new players at the top owners on the bottom. On smaller servers you might end up merging the mod and admin rolls, and most people will have different opinions when it comes to which powers are admin powers and which ones mods should get.
- The newbie group is the very basic permissions and should be safe to all because all users automatically join.
- The player group covers all the commands that established players can use, this usually includes commands which involve the market, basic teleportation, and home commands.
- The next two groups can be merged or split even further. Typically the lowest mod rank has access to kick users, and jail a user, with higher ranks getting access to do IP bans, and spawn items.
- The owner group usually gets all permissions as default, and is usually the only one with commands that control plugins or define groups.
The install process for Group Manager is rather simple:
- Copy the GroupManager file into your bukkit plugin folder. (EssentialsGroupManager.jar)
- Start and Stop the server.
- Set up/Modify the initial config and users.
- Restart the server. (If for some reason you didn't stop the server you can use /manload to reload the GM config file)
When you first download GM, you will generally only have the .jar files. The very first time you run GM it will generate some config files which you can then edit and maintain.
The standard config is usually something which is very similar to the layout detailed above, but you will need to edit the configuration at least a little before use. You will at the very least want to add yourself as admin.
The directory structure when you first generate the config files will look something like this:
plugins/ GroupManager/ config.yml globalgroups.yml backups/ worlds/ world/ groups.yml users.yml
Detail as to what goes in each config file can be found on the config page
At the very core of Group Manager configuration is the permissions nodes. These are the entire point of GM, and control exactly what a player can do. Each plugin has its own set of permissions nodes. The default config file with GM reflects that of Essentials.
Essentials maintains a complete list of permissions in its Command Reference. For other plugins you will need to check the related documentation.
Every plugin which supports a permissions plugin, will have their own permission node.
General Syntax: <plugin name>.<command name>
- Example Syntax: essentials.tp (Enables a player to teleport using the essentials teleport command)
- essentials is the name of the plugin and the command is tp
- Example: essentials.god and worldguard.god
GM supports summary nodes, that is using a wildcard to enable all registered sub permissions.
- essentials.* : Allows access to every essentials command
- essentials.kits.* : Allows access to use every kit
You can also give the * permission on itself, without giving a plugin, this would in theory cause the group to have access to every command in every plugin. Not all plugins properly register their permissions, so this will not always work.
GM supports negative nodes, these will override the normal nodes, allowing you to retract access to commands. This can be useful with inheritance.
- essentials.kits.* : Allows access to every /kit
- -essentials.kits.admin : Removes access to /kit admin
This can be useful when using the large wildcard permissions, such as giving an admin every command, but then removing access to the GM commands.
Group Manager allows you to define variables as well as permissions. These are values which are unique to the group. They are typically used in plugins to alter behaviour, based on groups. There are two major examples of this, the 'prefix' and 'suffix' variable and the 'build' toggle.
Most chat plugins will read the prefix and suffix variable to allow you to give a custom player name based on group.
EssentialsChat will append the prefix and suffix to the persons username, allowing you to either provide a tag or colour to the user.
If you want to make longer chat prefixes I'd recommend checking out our Chat formatting guide, which shows you how to have long prefixes in chat, but short prefixes in player names.
A guide to which colours do what can be found here
- prefix: '[A]' : Produces a simple <[A]User>
- prefix: '&e' : Produces a coloured <User>
Some plugins support group based 'antigrief' protection. Like with the chat colours, GM doesn't provide this functionality but plugins such as EssentialsProtect do.
Typically the build status is given as:
- build: false disables building/destroying of blocks
- build: true enables building/destroying of blocks
Normally converting from most permission plugins is a rather simple affair, try the following steps first and if that doesn't work, it is rather simple to manually fix the config.
- Move EssentialsGroupManager.jar or GroupManager.jar into your plugins directory.
- Remove the Permission plugin jar from your plugins directory.
- Continue reading how to use Group Manager including the config file section and the in-game commands
- Copy the permissions config file to the clipboard
- Open the group manager folder and navigate to the world folder (plugins/worlds/<your world name>)
- Paste two copies of the permissions config file
- Rename one to users.yml and one to groups.yml, overwriting any existing files.
- Restart the server
Group Manager Commands
There are a large number of commands associated with the Group Manager plugin. These can be used to modify and assign groups to users ingame, or from the server console.
Basic User Commands
These commands are useful for when you already have a group set up and you just want to assign users to groups.
- /manuadd: Move a player to desired group.(Adds to the file if not exists)
/<command> <player> <group>
- /manudel: Remove any user specific configuration. Make him default group.
- /manpromote: Allows promoting a player up the inheritance tree. This command will only allow the user to move the player between groups they inherit.
/<command> <player> <group>
- /mandemote: Allows demoting a player down the inheritance tree. This command will only allow the user to move the player between groups they inherit.
/<command> <player> <group>
- /manwhois: Tell the group that user belongs.