B3's permissions are based on groups and levels. Users are assigned to groups and each group has a level. Commands can be ran by users that have the minimum level needed to use the command. Upper level user roles are assigned by Super Admins with the !putgroup command using the keywords below.
B3 has several default user groups, each serving a different purpose. You can add, edit, or remove user groups but each of the levels below server meaningful purposes in B3. If you change groups, you should at least maintain a level 100, 2, and 1 user. A short introduction of group modification can be found here: manual-groupmodification
Here is a list of the default groups that come packaged with B3, if you want more groups, you can try this extension (use this extension at your own risks !).
The Super Admin is the highest level of authority. A Super Admin has access to all commands and is generaly only assigned to the server operators.
The Senior Admins are usualy the highest admins that play and admin on the server often. They have access to most commands except for the commands used in server/bot setup. Choose your Senior Admins wisely for they have the full regiment of commands to enforce your server policy.
Full admins have less authority than Senior Admins but still have access to harsher punishment commands such as !ban.
Admins are the first level of administrators. Their harshest punishment is a !kick, yet they are probably the most numerous of the admins.
Moderators are the first step to becoming an admin, an admin training ground if you will. They can only !warn users or remind them of the rules. They can notify higher level admins when harsher punishment is needed.
Regulars are not admins or moderators, but your loyal server population. You would only give regular status to members of your community who follow the rules and play on your server often. Regulars not only get a status symbol, but access to a few more commands than the average user. Only Senior Admins and up can appoint regulars with the !makereg command.
A user is like a self appointed regular. New players can use the !register command to gain user status. User's have only a few commands but gain extra privelages that would be ignored for the one-time visit players.
Currently, you have 3 ways to put a player in a group :
With !putgroup command : As an admin connected in-game, you can set the group of any player :
!putgroup <player_name> <group>
!putgroup <player_database_id> <group>
For more infos about database id, please refer to : http://wiki.bigbrotherbot.net/doku.php/usage:commands#database_id
With !makereg command : The makereg command will put a given player into the regular group. This command is convenient if you want to allow your moderators to put regular players into the regular group without giving them access to the putgroup command.
Via Echelon : this is an admin tool with a web interface to manage your players' crowd. This is an easy way to get visually a list of your players and put them in a group, with only a few clicks.
Via DynamicLogin plugin : instead of setting the group yourself for each of your players, you may prefer to create some credentials with a login+password for each group of privileges. Your users will then just have to login when they connect to your server, and they will get their associated privileges (no need for you to !putgroup them). This way, you just have to send these login informations to your users by mail/forum/IM/whatever.
The pros are that once you have created the credentials, all you have to do is send these infos to your players, no need to !putgroup. The cons are that someone can leak your login infos, and anyone with these infos can connect and get the privileges associated (to try to avoid that a “security fallback measure” can be automatically used by the plugin when a leak is detected).
For more infos about this plugin, read the included README and this page : http://www.bigbrotherbot.net/forums/releases/dynamic-login/msg13983/#msg13983
Each plugin (core plugins or 3rd party plugins) comes with a config file (pluginname.xml) where you can set levels belonging to the commands.
For instance in the plugin-admin.xml file you have:
This indicates that a level 1 user can use the command !time.
If you don't want level 1 users to be able to use the command, but you want regulars (level 2) and up to be able to use it, change it to:
Now level 1 users can't use it anymore, level 2 or higher can.
You can set a range for the usage of the commands. For example :
This will give the right to use the !time command only to moderators up to admins, but no below or above privileges can possibly use this command.
This goes for all plugins that have configurable commandlevels in their config file. You can tweak the abilities of your users this way.