WolfAdmin is very flexible and configurable. Currently it has about 20 custom CVAR settings which allow you to customize messages, adjust the module's behaviour or disable some functionalities completely. The layout of the configuration files WolfAdmin uses is similar to the shrubbot file, to make configuration more easy.

Table of contents
  1. Setup
  2. Greetings
  3. Rules
  4. CVARs
  5. Permissions

Support & bugs

In case you run into trouble and need support for WolfAdmin, check out the #wolfadmin IRC channel on Quakenet. You may also contact me via mail or via one of the communities where I usually hang around.

For bug reports, please use the bug tracker.


Important note: you have to leave two blank lines at the end of the configuration files (check the provided .cfg files for an example). This is intended behaviour, if you forget those spaces your setup, greetings or rules file may not get loaded.

Parts of the configuration contains sensitive data, such as login credentials for the MySQL database. For this reason there is a separate configuration file called wolfadmin.cfg in ./nq/.


type 1.1.0
Set the type of database to use.
type: sqlite3, mysql
default: sqlite3

file 1.1.0
Set the file of the database (SQLite3 only).
type: string
default: localhost

Set the hostname of the database server (MySQL only).
type: string
default: localhost

Set the port of the database server (MySQL only).
type: integer
default: 3306

Set the database on the database server (MySQL only).
type: string
default: wolfadmin

Set the username on the database server to use (MySQL only).
type: string
default: wolfadmin

Set the password which is used for the user (MySQL only).
type: string
default: suchasecret


Each player can have a greeting, either specified by the level of the player or a GUID. If a player has both a greeting specified by his/her level and one by GUID, the latter will have priority.

level    = 0
greeting = Welcome a guest!
sound    = chat/axis/955a.wav

greeting = Welcome back [N]^9!
sound    = 

In this case, a player with GUID XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX and level 0 would see the latter greeting (Welcome back [name]^9!). Any other player with level 0 would see Welcome a guest! and hear Provide sniper cover!. Note that the greeting sounds are relative to the /sound/ directory in the .pk3 files. 1.0.1


You are able to customize the rules displayed by the !rules command by modifying the ./nq/rules.cfg file. Rules must be added by using the following syntax.

shortcut = sk
rule     = ^1NO ^7spawnkilling^9!


Sets the name of the greetings config file. When nothing is set, greetings are disabled.
type: string
default: "greetings.cfg"

Sets the name of the rules config file. When nothing is set, rules display is disabled.
type: string
default: "rules.cfg"

Sets the name of the spree records config file. When nothing is set and the database type is config files, spree records are disabled.
type: integer
default: "sprees.cfg"

Toggles whether spree records and revive sprees are enabled.
type: boolean
default: 1

Toggles whether warn history is enabled.
type: boolean
default: 1

Toggles whether revive announcements are displayed.
type: boolean
default: 1

Set the area where greetings are displayed.
type: [0|1|2|3]
default: 3

Enable greetings for bots.
type: boolean
default: 1

Enable records for bots.
type: boolean
default: 1

Set the message which will displayed when a player connects to the server (will not be displayed on next map/map restart).
type: string
default: "^dwolfadmin: ^9This server is running WolfAdmin, type ^7/wolfadmin ^9for more information."

Set the area where the welcome message is displayed.
type: [0|1|2|3]
default: 3

g_evenerPlayerSelection 1.1.0
Set the selection of players that are used in the balancing process.
type: bitflag
default: 0

  • 0 random balancing
  • 1 only dead players
  • 2 last joined player
  • 4 no objective carriers

Set the minimum difference in team balance before the evener puts someone or multiple people to the other team.
type: integer
default: 2

Set the maximum difference in team balance before the evener will shuffle the teams. Set to 0 to disable this feature.
type: integer
default: 5

Set the interval, in seconds, for checking whether the teams are balanced or not. Set to 0 to disable the evener completely.
type: integer
default: 30

Set the timeout, in seconds, after which next map voting is disabled.
type: integer
default: 0

Set voting types, separated by commas, which are not allowed to be called by a player, unless this player has the special % shrubbot flag.
type: string
default: ""

Set the maximum amount of renames a player can do within g_renameInterval.
type: integer
default: 3

Set the time, in seconds, in which a player is only allowed to do a maximum amount of g_renameLimit renames.
type: integer
default: 60

Set the amount of omnibots which will be playing when someone uses !needbots.
type: integer
default: 10


Some of the new functionalities require additional permissions due to new shrubbot flags. The flags are intended to work on the general community server (for example !plock has same flag as !lock and !listaliases is similar to !finger). The following table lists all the flags and their features.

Flag Features
c !enablevote
f !listaliases
m !vmute, !vunmute
p !balance, !putbots
s !incognito, !listlevels
C !listmaps, !rules
G !resetsprees
I !stats, !sprees
K !plock, !punlock
O new !kickbots, !needbots
Q new !greeting
R !dewarn, !showwarns
~ new /adminchat
% new no vote restrictions

You may also use this tool to parse your shrubbot file. It will display the commands available to each level, custom commands and admin, mute and ban entries.