Admin

The admin plugin is at the heart of BigBrotherBot. It brings to B3 the user groups and in-game commands.

It allows the game server owner to define his staff by assigning trusted players to the different administration groups. Depending on their group membership, players will be given access to administrating commands which allow them to:

  • display the server rules
  • warn a user
  • kick
  • ban
  • change map
  • change the gamemode
  • etc

General settings

All settings below are defined in the settings section of the admin plugin config file.

noreason_level

The group/level from which admins are not required to specify a reason when giving penalties to players.

expected values
any group keyword or any group level, see B3 Groups
default value
superadmin

hidecmd_level

The group/level required to be able to use hidden commands. On quake3 based games, a hidden command can be issued by telling to command to oneself.

expected values
any group keyword or any group level, see B3 Groups
default value
senioradmin

long_tempban_level

Group/level required to be able to issue bans longer than the duration defined for the long_tempban_max_duration setting.

expected values
any group keyword or any group level, see B3 Groups
default value
senioradmin

long_tempban_max_duration

Maximum ban duration that can be inflicted by admins of group/level below the one defined at the long_tempban_level setting.

expected values
duration, see duration-syntax
default value
3h

command_prefix

The prefix that should be put before b3 commands.

expected values
a single character
default value
!

command_prefix_loud

Some commands can have their result broadcasted to all players instead of only to the player issuing the command. To have such a behavior, use this command prefix instead of command_prefix.

Note

that this behavior only work with commands that consider it.

expected values
a single character
default value
@

command_prefix_big

Some commands can have their result broadcasted to all players as a very noticeable way. To have such a behavior, use this command prefix instead of command_prefix.

Note

This behavior only work with commands that consider it. Also depending on the game, abuse of such display can be frustrating for users ; use it wisely.

expected values
a single character
default value
&

admins_level

The admin plugin considers as an admin any player who is member of a group of level higher or equal to the group/level defined in the admin plugin config file at admins_level.

expected values
any group keyword or any group level, see B3 Groups
default value
mod

ban_duration

Temporary ban duration to apply to bans given by the !ban and !banall commands.

expected values
duration, see duration-syntax
default value
14d

announce_registration

Define if a public message will be displayed to all in-game players when a user registered himself using the !register command. If enable, this can encourage others to register too.

expected values
yes or no
default value
yes

Spamages settings

The spamages section of the admin plugin config file defines ids for messages you want to be easily displayed to players with the spam command.

If the message id is of the form ‘rule#’ where # is a number between 1 and 20, it will be used for the rules command.

Related commands:

spam, spams and rules.

Commands

admins

Tells which admins are currently on the game server.

default required level

mod

usage

The !admins command takes no parameters.

customization

Admins are players who are member of a group of level equal or higher than the group/level set in the admin plugin config file at admins_level.

The !admins command responds with two types of messages depending on if there are any admins online. Those messages can be customized in the admin plugin config file:

messages:admins
When there is one admin online or more, the message template used is messages:admins. This template must contain a %s placeholder which will be replaced with the actual list of online admin names and levels.
messages:no_admins
When there is no admin online, the message used is messages:no_admins. In the special case where message messages:no_admins would be present but empty, then no answer is given back to the player when using the !admins command.

admintest

Alias for command regtest

default required level

admin

aliases

Show at most 10 aliases of a player.

default required level

mod

usage

!aliases [player]

If player is provided, display at most 10 aliases for that player.

If player is not provided, display at most 10 of your aliases.

alias

!alias

customization

The !aliases command response can be customized in the admin plugin config file:

messages:aliases
When the player has at least an alias, the message template used is messages:aliases. This template must contain 2 %s placeholder which are respectively: - the player’s name - the list of aliases
messages:aliases_more_suffix
When the player has more than 10 aliases, this suffix will be added to the response.
messages:no_aliases
When the player has no aliases, the message template used is messages:no_aliases. This template must contain one %s placeholder which will be replaced with the player’s name.

b3

Show the B3 version and uptime.

default required level

mod

usage

The !b3 command takes no parameters.

ban

Temporarily ban a player for the duration set by ban_duration.

default required level

fulladmin

usage

!ban <player> <reason>
ban a player specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!ban <player>
ban a player not specifying a reason. This is allowed only for admins of group level higher than noreason_level.

alias

!b

customization

The messages that can be displayed are: invalid_parameters, error_no_reason, ban_self, action_denied_masked and ban_denied.

The ban duration can be changed in the plugin config file at ban_duration.

banall

Like the ban command except it will ban multiple players whom name contains a given term.

default required level

senioradmin

usage

!banall <term> [<reason>]

alias

!ball

baninfo

Tell if a given player has active bans.

default required level

admin

usage

!baninfo <player>

alias

!bi

customization

The messages that can be displayed are: baninfo, baninfo_no_bans.

clientinfo

Show the value of a given property for a player. The purpose of this command is more for debug purpose than anything else but it can be useful to retrieve info such as the player IP address or guid.

default required level

senioradmin

usage

!clientinfo <player> <field>

where field can be one of:

  • guid
  • pbid
  • name
  • exactName
  • ip
  • greeting
  • autoLogin
  • groupBits
  • connected
  • lastVisit
  • timeAdd
  • timeEdit
  • data
  • bans
  • warnings
  • groups
  • aliases
  • ip_addresses
  • maskLevel
  • maskGroup
  • maskedGroup
  • maskedLevel
  • maxLevel
  • maxGroup
  • numWarnings
  • lastWarning
  • firstWarning
  • numBans
  • lastBan

Note

Not all those fields will return human readable data.

clear

Clear all active warnings and tk points (if the tk plugin is active) for a given player or for all in-game players.

default required level

senioradmin

usage

!clear

Clears active warnings and tk points for all in-game players

!clear <player>

Clears active warnings and tk points for the player identified by <player>

alias

!kiss

customization

The messages that can be displayed are: cleared_warnings and cleared_warnings_for_all.

die

Shutdown B3

default required level

superadmin

disable

Disable a plugin

default required level

superadmin

usage

!disable <plugin name>

enable

Enable a plugin that would have been disabled

default required level

superadmin

usage

!enable <plugin name>

find

Return the name and slot id of connected players matching a given pattern

default required level

mod

usage

!find <name>
Find a player by its name or partial name
!find <slot id>
Find a player by its game slot id

help

List available commands, or the short description of a given command

default required level

guest

usage

!help

List the commands available to the player issuing the command

!help <command>

Show a short description of the given command

kick

Forcibly disconnects a player from the game server

default required level

admin

usage

!kick <player> <reason>
kick a player specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!kick <player>
kick a player without specifying any reason. This is allowed only for admins of group level higher than noreason_level.

alias

!k

customization

The messages that can be displayed are: invalid_parameters, error_no_reason, kick_self, action_denied_masked and kick_denied.

kickall

Forcibly disconnects all players matching a pattern from the game server

default required level

senioradmin

usage

!kickall <pattern> <reason>
kick all players whose name matches the given pattern specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!kickall <pattern>
kick all players whose name matches the given pattern without specifying any reason. This is allowed only for admins of group level higher than noreason_level.

alias

!kall

customization

The messages that can be displayed are: invalid_parameters and error_no_reason.

lastbans

List the 5 last active bans.

default required level

admin

usage

!lastbans

alias

!lbans

leveltest

Tell in which B3 group a player is in.

usage

!leveltest [player]

If player is an on-line player name, display in which B3 group this player is in.

If player is not provided, display in which B3 group you are in.

alias

!lt

customization

The !leveltest command responds with two types of messages depending on if the user has a group or not. Those messages can be customized in the admin plugin config file:

messages:leveltest
When the player is in a B3 group, the message template used is messages:leveltest. This template must contain 5 %s placeholder which are respectively: - the player’s name - the player’s B3 database identifier - the player’s B3 group name - the player’s B3 group level - the date at which the player joined that B3 group
messages:leveltest_nogroups
When the player is in no B3 group, the message template used is messages:leveltest_nogroups. This template must contain 2 %s placeholder which are respectively: - the player’s name - the player’s B3 database identifier

lookup

Return the name and database ID of a player matching a given pattern

default required level

senioradmin

usage

!lookup <name>

Find a player in the B3 database by its name or partial name

customization

The messages that can be displayed are: invalid_parameters, no_players and lookup_found.

makereg

Put a player in the Regular group.

default required level

senioradmin

usage

!makereg <player>

alias

mr

customization

The messages that can be displayed are: invalid_parameters, groups_already_in and groups_put.

map

Change the map on the server

default required level

senioradmin

usage

!map <map name>

maprotate

Load the next map on the game server

default required level

senioradmin

usage

!maprotate

maps

List the server map rotation list

default required level

regular

usage

!maps

mask

Mask yourself as being a member of a group of lower level

default required level

senioradmin

usage

!mask <group>
Mask yourself as being a member of the given group.
!mask <group> <player>
Mask another player as being a member of the given group.

customization

The messages that can be displayed are: invalid_parameters and group_unknown.

nextmap

Tell which map will be loaded next on the game server

default required level

reg

usage

!nextmap

notice

Save to the B3 database a note about a player

default required level

admin

usage

!notice <player> <note>

pause

Make B3 ignore any game event for a given duration

default required level

senioradmin

usage

!pause <duration>

permban

Permanently ban a player.

default required level

senioradmin

usage

!permban <player> <reason>
permanently ban a player specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!permban <player>
permanently ban a player not specifying a reason. This is allowed only for admins of group level higher than noreason_level.

alias

!pb

customization

The messages that can be displayed are: invalid_parameters, error_no_reason, ban_self, action_denied_masked and ban_denied.

poke

Notify a player that he needs to move.

default required level

mod

usage

!poke <player>

customization

The messages that can be displayed are: invalid_parameters.

putgroup

Add a player to a B3 group.

default required level

senioradmin

usage

!putgroup <player> <group>

customization

The messages that can be displayed are: invalid_parameters, group_unknown, group_beyond_reach, groups_already_in and groups_put.

rebuild

Sync up connected players. This can be useful for games for which B3 can loose track of connected players.

default required level

senioradmin

usage

!rebuild

reconfig

Re-load all config files.

This way you can change some settings and apply them without restarting B3.

Warning

Some plugins may require a full restart of B3 to apply changes

default required level

superadmin

usage

!reconfig

register

Register yourself as a basic user.

default required level

guest

usage

!register
Put the player who typed the command into the :ref:`user <groups>` group

customization

The messages that can be displayed are: groups_already_in, regme_confirmation and regme_annouce.

regtest

The !regtest command tells in which B3 group you are in.

usage

The !regtest command takes no parameters.

customization

The response message template can be customized in the admin plugin config file at messages:leveltest.

regulars

List online players which are in the regular group.

default required level

user

usage

!regulars

alias

!regs

customization

The messages that can be displayed are: regulars and no_regulars.

restart

Restart B3.

Warning

For this command to work, B3 must have been started with the –restart command line parameter

default required level

superadmin

usage

!restart

rules

Display the server rules.

default required level

guest

usage

!rules

alias

!r

customization

The server rules are defined in the admin plugin config file under the section spamages.

Default rules are:

rule1: ^3Rule #1: No racism of any kind
rule2: ^3Rule #2: No clan stacking, members must split evenly between the teams
rule3: ^3Rule #3: No arguing with admins (listen and learn or leave)
rule4: ^3Rule #4: No abusive language or behavior towards admins or other players
rule5: ^3Rule #5: No offensive or potentially offensive names, annoying names, or in-game (double caret (^)) color in names
rule6: ^3Rule #6: No recruiting for your clan, your server, or anything else
rule7: ^3Rule #7: No advertising or spamming of websites or servers
rule8: ^3Rule #8: No profanity or offensive language (in any language)
rule9: ^3Rule #9: Do ^1NOT ^3fire at teammates or within 10 seconds of spawning
rule10: ^3Rule #10: Offense players must play for the objective and support their team

If you want to add another rule, name it rule11 and so on up to number 20.

runas

Run a command as a different user

default required level

superadmin

usage

!runas <name> <command>

alias

!su

customization

The messages that can be displayed are: invalid_parameters.

say

Broadcast a message to all players.

default required level

mod

usage

!say <text>

alias

!su

customization

The text template can be customized with setting say from the messages section of the config file.

That text template must have two place holders %s. The first one will be replaced by the name of the player issuing the command, while the second will be replaced with the text to broadcast.

scream

Broadcast a message 5 times in a row to all players.

If your game support Quake3 color codes, then each message occurrence will be in a different color.

default required level

admin

usage

!scream <text>

seen

Report the last time a player was seen on the game server.

default required level

reg

usage

!seen <player>

customization

The messages that can be displayed are: invalid_parameters, no_players and seen.

The seen template must contain two %s placeholders which will be respectively replaced by the name of the player and the date and time he was last seen at.

spam

Spam a predefined message.

default required level

mod

usage

!spam <message id>
will spam the message defined in the spamages section of the config file under the given message id to all players.
!spam <player> <message id>
will spam the message defined in the spamages section of the config file under the given message id to the specified player in a private message.

alias

!s

customization

The messages that can be displayed are: invalid_parameters.

Also see the spamages section of the config file.

spams

List spam message ids.

default required level

mod

usage

!spams

spank

Spank a player (kick).

default required level

fulladmin

usage

!spank <player> <reason>
spank a player specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!spank <player>
spank a player without specifying any reason. This is allowed only for admins of group level higher than noreason_level.

alias

!sp

customization

The messages that can be displayed are: invalid_parameters, error_no_reason, kick_self, action_denied_masked,
kick_denied, spanked_reason and spanked.

spankall

Spank all players matching a pattern from the game server.

default required level

senioradmin

usage

!spankall <pattern> <reason>
spank all players whose name matches the given pattern specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!spankall <pattern>
spank all players whose name matches the given pattern without specifying any reason. This is allowed only for admins of group level higher than noreason_level.

alias

!kall

customization

The messages that can be displayed are: invalid_parameters and error_no_reason, spanked_reason and spanked.

status

Report status of B3 database.

default required level

mod

usage

!status

tempban

Temporarily ban a player for the duration a given duration.

default required level

admin

usage

!tempban <player> <duration> <reason>
tempban a player for the given duration specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!tempban <player> <duration>
tempban a player for a given duration not specifying a reason. This is allowed only for admins of group level higher than noreason_level.

alias

!tb

customization

The messages that can be displayed are: invalid_parameters, error_no_reason, temp_ban_self, action_denied_masked and temp_ban_denied.

A maximum tempban duration is enforced for admin of level lower than long_tempban_level. See setting long_tempban_max_duration.

time

Display the current time.

default required level

user

usage

!time
Display the server time.
!time <timezone/offset>
Display the time for a given timezone or offset.

customization

The messages that can be displayed are: time.

unban

Unban a player.

default required level

fulladmin

usage

!tempban <player>

Tip

As the player you which to unban cannot be connected on the game server you will have to get the B3 database ID for that player. To do so, use the lookup command.

customization

The messages that can be displayed are: invalid_parameters.

ungroup

Remove a player from a B3 group.

default required level

senioradmin

usage

!ungroup <player> <group>

customization

The messages that can be displayed are: invalid_parameters, group_unknown.

unmask

Un-hide level.

Revert what the mask command does.

default required level

superadmin

usage

!unmask
unmask yourself.
!unmask <player>
unmask a given player.

unreg

Remove a player from the regular group.

default required level

senioradmin

usage

!unmask <player>

customization

The messages that can be displayed are: invalid_parameters.

warn

Give a warning to a player.

If then the player reaches a high number of active warnings, he is temporarily banned. See Warning system.

default required level

mod

usage

!warn <player> <reason>
warn a player specifying a reason. The reason can be any text of your choice or a reference to a reason shortcut as defined in the warn_reasons section of the admin config file.
!warn <player>
warn a player without specifying any reason.

alias

!w

customization

The messages that can be displayed are: invalid_parameters, warn_self, warn_denied and warn_too_fast.

warnclear

Clear all of a users’ warnings.

default required level

senioradmin

usage

!warnclear <player>

alias

!wc

customization

The messages that can be displayed are: invalid_parameters.

warninfo

Display how many active warnings a user has.

default required level

mod

usage

!warninfo <player>

alias

!wi

customization

The messages that can be displayed are: invalid_parameters.

warnremove

Remove the last warning of a user.

default required level

mod

usage

!warnremove <player>

alias

!wr

customization

The messages that can be displayed are: invalid_parameters.

warns

List the available warning ids.

default required level

mod

usage

!warns

customization

See the warn_reasons section of the admin plugin config file.

warntest

Test a warning

default required level

mod

usage

!warntest <warning id>
See the warn_reasons section of the admin plugin config file or the warns command for the list of warning ids.

alias

!wt