WolfAdmin

WolfAdmin is very flexible and configurable. Currently it has over 30 settings which allow you to customize messages, adjust the module's behaviour or disable some functionality completely.

Table of contents
  1. Settings
  2. Greetings
  3. Rules
  4. Access control lists standalone added in 1.2.0
  5. Permissions standalone added in 1.2.0
    1. Commands
    2. Abilities
  6. Shrubbot flags add-on

Support & bugs

In case you run into trouble and need support for WolfAdmin, check out the Discord channel dedicated to WolfAdmin on the ET: Legacy Discord. You may also contact me via mail or via one of the communities where I usually hang around.

For bug reports or feature requests, please use the bug tracker.

Settings

Settings allow the module's features to behave in a different way, or disable some functionality completely. The list below is an overview of the settings that you can use to customize your server.

For installations running version 1.2.0 and later, you can find all of these settings in the wolfadmin.toml file in your mod folder (in fs_homepath). This is a TOML-formatted file.

For installations running versions before 1.2.0, the related CVAR that toggles the same functionality is also listed. This file follows the same syntax as the shrubbot.cfg file.

[main]

os (sv_os)
Specify the operating system that the server is running on.
type: unix, windows
default: unix

standalone (g_standalone) added in 1.2.0
Enable or disable standalone mode.
type: boolean
default: 1

debug (g_debugWolfAdmin)
Enable the printing of debug statements to client consoles.
type: boolean
default: 0

[db]

For installations running version 1.1.x or lower, you can find these settings in wolfadmin.cfg. There are no CVARs for these settings due to the sensitivity of credentials.

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

file added in 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

[logs]

chat (g_logChat) added in 1.2.0
Sets the name of the chat log file. When nothing is set, chat logging is disabled.
type: string
default: "chat.log"

admin (g_logAdmin) added in 1.2.0
Sets the name of the admin log file. When nothing is set, admin logging is disabled.
type: string
default: "admin.log"

[omnibot]

minbots (omnibot_minbots)
Set the minimum amount of omnibots which will be playing on the server.
type: integer
default: 10

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

[admin]

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

maxrenames (g_renameLimit)
Set the maximum amount of renames a player can do within a minute.
type: integer
default: 80

[balancer]

mindif (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

maxdif (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

selection (g_evenerPlayerSelection) added in 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

interval (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

[game]

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

[voting]

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

restricted (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: ""

[banners]

welcome (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."

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

[rules]

file (g_fileRules)
Sets the name of the rules config file. When nothing is set, rules display is disabled.
type: string
default: "rules.toml" changed in 1.2.0

[greetings]

file (g_fileGreetings)
Sets the name of the greetings config file. When nothing is set, greetings are disabled.
type: string
default: "greetings.toml" changed in 1.2.0

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

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

[records]

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

[sprees]

file (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.toml" changed in 1.2.0

messages (g_spreeMessages) added in 1.2.0
Toggles which sprees to display.
type: bitflag
default: 0

  • 0 no sprees will be displayed
  • 1 enable kill sprees
  • 2 enable death sprees
  • 4 enable revive sprees

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

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.

In the examples below, 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. added in 1.0.1

TOML-based added in 1.2.0

For installations running version 1.2.0 and later, you can find all of these greetings in the greetings.toml file in your mod folder (in fs_homepath). This is a TOML-formatted file.

Example

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

[[user]]
guid     = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
greeting = "Welcome back [N]^9!"
sound    = ""

Config-based removed in 1.2.0

For installations running versions before 1.2.0, these greetings can be configured through the greetings.cfg in the mod folder (in fs_homepath). This file follows the same syntax as the shrubbot.cfg file.

Example

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

[user]
guid     = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
greeting = Welcome back [N]^9!
sound    = 

Rules

The rulebook of your server can be structured by WolfAdmin's support for rules. This makes it easy for server admins to show the rulebook to online players or to highlight a specific rule when it's needed.

In the examples below, any player that is allowed to execute the !rules command, will be able to show NO spawnkilling! to the rest of the players online by typing !rules sk.

TOML-based added in 1.2.0

For installations running version 1.2.0 and later, you can find all of these rules in the rules.toml file in your mod folder (in fs_homepath). This is a TOML-formatted file.

Example

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

Config-based removed in 1.2.0

For installations running versions before 1.2.0, these rules can be configured through the rules.cfg in the mod folder (in fs_homepath). This file follows the same syntax as the shrubbot.cfg file.

Example

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

Access control lists standalone added in 1.2.0

This system is only enabled in standalone mode.

Access control lists can be changed through the server console using the acl [action] command. The command currently offers the following functionality:

listlevels
list all available levels and the amount of players in each level

addlevel [id] [name]
add a new level

removelevel [id]
remove a level

relevel [id] [newid]
move all players from one level to another

listpermissions [id]
list all permissions in a level

isallowed [id] [permission]
check if a level has a certain permission

addpermission [id] [permission]
add a permission to a level

removepermission [id] [permission]
remove a permission from a level

copypermissions [id] [newid]
copy all permissions from one level to another

removepermissions [id]
remove permissions from a level

Permissions standalone added in 1.2.0

When running the module in standalone mode, you will be able to grant administrators commands and abilities through permissions. These can be granted using the commands described above.

Commands

Flag Features
admintest !admintest
help !help
time !time
greeting !greeting
listplayers !listplayers
listmaps !listmaps
listsprees !listsprees
listrules !listrules
listhistory !showhistory
listbans !showbans
listaliases !listaliases
liststats !stats
finger !finger
adminchat !adminchat
put !put
slap !slap
gib !gib
throw !throw !launch !fling added in 1.3.0
warn !warn
mute !mute !unmute
voicemute !vmute !vunmute
kick !kick
ban !ban !unban
spec999 !spec999
balance !balance
lockplayer !plock !punlock
lockteam !lock !unlock
shuffle !shuffle !shufflesr
swap !swap
pause !pause !unpause
nextmap !nextmap
restart !restart !reset
botadmin !needbots !kickbots
enablevote !enablevote
cancelvote !cancelvote
passvote !passvote
cointoss !cointoss
setlevel !setlevel
readconfig !readconfig

Abilities

Flag Features
noinactivity added in 1.3.0 Player cannot be automatically kicked or put spec due to inactivity.
novote Player cannot be vote-kicked, vote-muted, or complained against.
nocensor added in 1.3.0 Player will not be auto-censored or spam protected.
nobalance added in 1.3.0 Player can switch teams at any time, regardless of team balance.
novotelimit added in 1.3.0 Player can call vote at any time. Disabled voting or voting limits do not apply to the player.
noreason Player can issue commands without a reason.
perma Player can !ban without a time limit, the ban is a permanent ban.
teamcmds Player can do the shrubbot commands via the team and fireteam chats.
silentcmds Player can run commands silently in the console using /!command.
spy added in 1.3.0 Player can see Allied and Axis team chats as a spectator.
incognito Player is shown as a level 0 with no AKA output in !listplayers.
immune Player is immune to all shrubbot commands.

Shrubbot flags add-on

When running the module in add-on mode, the ACL system is not available. Instead, to make the new functionality available, levels require additional shrubbot flags.

The flags should match the settings used on a community server. For example, !plock has the same flag as !lock and !listaliases is similar to !finger. The following table lists all the flags and their features.

Flag Features
c !enablevote
e !listaliases etpub
f !listaliases nq
h !listmaps, !rules silent
j !greeting
m !vmute, !vunmute
p !putbots etpub
!balance, !putbots nq silent
s !incognito, !listlevels
C !listmaps, !rules etpub nq
G !resetsprees nq
I !stats, !sprees nq
K !plock, !punlock
O !kickbots, !needbots
R !dewarn removed in 1.2.0, !showwarns
S !balance etpub
Z !cointoss
~ /adminchat
% no vote restrictions