WolfAdmin

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.

Setup

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/.

[db]

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

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

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

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

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

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

Greetings

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]
level    = 0
greeting = Welcome a guest!
sound    = chat/axis/955a.wav

[user]
guid     = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
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

Rules

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.

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

CVARs

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

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

g_fileSprees
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"

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

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

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

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

g_botGreetings
Enable greetings for bots.
type: boolean
default: 1

g_botRecords
Enable records for bots.
type: boolean
default: 1

g_welcomeMessage
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."

g_welcomeArea
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

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

g_evenerMaxDifference
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

g_evenerInterval
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

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

g_restrictedVotes
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: ""

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

g_renameInterval
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

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

Permissions

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.