Shrubbot

No Quarter Wiki

Jump to: Main Page

  • Shrubbot is an invention of Ryan Mannion, creator of Shrubmod and ShrubET. It offers an easy alternative to the Referee features of ET plus more. It also allows for admin levels to customize which commands are available to players granted with admin status. Shrubbot in No Quarter features many of the same commands as Shrub and ETPub, plus more.


Contents

Command and Flag Table

Command Flag

admintest a
ammopack J
ban b
banguid b
banip b
burn U
cancelvote c
disguise T
disorient d
dw D
finger f
fling L
freeze E
gib g
give e
glow o
help h
kick k
launch L
listplayers i
Command Flag

listteams I
lock K
medpack J
mute m
nade x
news W
nextmap n
orient d
pants t
passvote V
pause Z
pip z
poison U
pop z
putteam/put p
readconfig G
rename N
reset r
resetmyxp M
resetxp X
Command Flag

restart r
revive v
setlevel s
showbans B
shuffle S
slap A
spec999 P
swap w
throw L
time C
unban b
unfreeze E
unlock K
unmute m
unpause Z
uptime u
warn R
resetxp X
- -
- -

Number-Based Flags

1
Player cannot be vote-kicked, vote-muted, or complained against.
2
Player will not be auto-censored or spam protected.
3
Player can run commands silently in the console using /!command.
4
Player can see Allied and Axis team chats as a spectator.
5
Player can switch teams at any time, regardless of team balance.
6
Player can !kick or !ban without a reason. The player still requires the k and/or b flags.
7
Player can call vote at any time. Disabled voting or voting limits do not apply to the player.
8
Player can !ban without a time limit, the ban is a perma-ban. The player still requires the b flag.
9
Player can do the shrubbot commands via the team and fireteam chats.
0
Player cannot be automatically kicked or put spec due to inactivity (see g_inactivity and g_spectatorInactivity).
 !
Player is immune to all shrubbot commands.
This must be given explicitly, * does not include it.
@
Player is shown as a level 0 with no AKA output in !listplayers
This must be given explicitly, * does not include it.
 ? ( since 1.2.3 )
If an adminlevel has this flag, it is NOT allowed to call votes

Commands

!admintest

Description
Prints out level name and number of the current user.
Usage
 !admintest
admintest: S.S.Meyerinchains is a level 9 user (Server God)

!ammopack / !medpack

Description
Gives ammo pack or medic pack to named user.
Usage
 !ammopack [name|slot#]
 !medpack [name|slot#]

!ban / !banguid / !banip / !unban

Description of !ban
Bans a user from the server.
Usage
 !ban [player|slot#] (amount of time) (reason)
Description of !banguid
Bans a user (online or offline) by guid, from the server.
Note: If the user is online, his current data (netname, IP, etc.) will be stored in the ban as well.
Usage
 !banguid [GUID] (amount of time) (reason)
Description of !banip
Bans a user (online or offline) by IP, from the server.
Note: If the user is online, his current data (netname, GUID, etc.) will be stored in the ban as well.
Usage
 !banip [IP address] (amount of time) (reason)
Description of !unban
Removes a userban from the server. Requires ban number to be removed (from !showbans).
Usage
 !unban [ban#]

!burn / !gib / !nade / !poison / !slap

Description of !burn
Sets the target user on fire. They lose many hitpoints.
Usage
 !burn [player|slot#]
Description of !gib
Gibs the target user or all players.
Usage
 !gib [player|slot#]
Description of !nade
Drops nades around the target player or all players. This usually causes a gib.
Usage
 !nade [player|slot#]
Description of !poison
Poisons the target player or all players.
Usage
 !poison [player|slot#]
Description of !slap
Slaps the target player or all players by a certain amount. Default is 20hp. Will not bring player below 1hp.
Usage
 !slap [player|slot#] (amount)

!disguise

Description
Disguises named player.
Usage
 !disguise [player|slot#]

!dw (since 1.2.5)

Description
Forces the targeted player to drop primary and secondary weapons.
Usage
 !dw [player|slot#]

!finger

Description
Gives the current level, IP, and guid of the target player.
Usage
!finger [player|slot#]

!fling / !launch / !throw

Description of !fling
Flings the named user.
Usage
 !fling [player|slot#]
Description of !launch
Launches the named user.
Usage
 !launch [player|slot#]
Description of !throw
Throws the named user.
Usage
 !throw [player|slot#]

!freeze / !unfreeze

Description of !freeze
Freezes the target player in place. They cannot be shot while frozen. It's a quite useful feature to get the player's attention.
Note: NQ 1.2.5 introduced a new g_slashkill CVAR setting. When activated, players are unable to leave/exit the freeze state until !unfreeze is called or the map ends.
Usage
 !freeze [player|slot#]
Description of !unfreeze
Unfreezes the target player.
Usage
 !unfreeze [player|slot#]

!give

Description
Gives something to target player. This replaces the old /give command/cheat.
Usage
 !give [player|slot#] [item pickup name/skill/ammo/all]
 !give Meyer skill 6
 !give Meyer Allied Covert Ops Uniform
 !give Meyer cold meal
 !give Meyer MP34
 !give Meyer health 500

!glow

Description
Makes the target glow red (Axis) or blue (Allies)
Usage
 !glow [player|slot#]

!help

Description
Shows available commands or shows description of each command.
Usage
 !help (to view available commands)
 !help ban
 !help disorient

!kick

Description
Kicks target player off the server. Comes with a 2 minute ban.
Usage
 !kick [player|slot#] (reason)
 !kick ez.max watch your tk'ing!

!listplayers / !listteams

Description of !listplayers
Lists all players and info about each. Including their team, admin level, mute status, player slot, fireteam letter, and guid stub.
Usage
 !listplayers

!lock / !unlock

Description of !lock
Locks a team, allowing no one to join it.
Usage
 !lock [r|b|s|all]
Description of !unlock
Unlocks a team, allowing people to join it.
Usage
 !unlock [r|b|s|all]

!mute / !unmute

Description of !mute
Mutes a player for an amount of time. If no time is entered, the player is muted for g_defaultMute time.
Usage
 !mute [player|slot#] (time in seconds) (reason)
Description of !unmute
Unmutes a player.
Usage
 !unmute [player|slot#]

!news

Description
Plays the news audio file for the specified map. If no map is given, the current map is used.
Usage
 !news [mapname|sound file]

!nextmap

Description
Moves to the next map in the cycle.
Usage
 !nextmap

!orient / !disorient

Description of !orient
Orients a disoriented player.
Usage
 !orient [player|slot#]
Description of !disorient
Disorient a player, by flipping their view upside down.
Usage
 !disorient [player|slot#]

!passvote / !cancelvote

Description of !passvote
Passes the current vote
Usage
 !passvote
Description of !cancelvote
Cancels the current vote
Usage
!cancelvote

!pause / !unpause

Description of !pause
Pauses the current match.
Usage
 !pause
Description of !unpause
Unpauses the current match.
Usage
 !unpause

!pants / !pip / !pop

Description of !pants
Removes the pants off target player. If no players are specified, it removes the pants off every player.
Usage
 !pants [player|slot#]
Description of !pip
Sprinkles pixie dust around the target player. If no players are specified, it sprinkles pixie dust around everyone.
Usage
 !pip [player|slot#]
Description of !pop
Pops off the helmet of the target player. If no players are specified, it pops off the helmet off of everyone.
Usage
 !pop [player|slot#]

!putteam (since 1.2.0 !put) / !swap / !shuffle

Description of !putteam (!put)
Puts the named person on the specified team.
Usage
 !putteam [player|slot#] [r/b/s] (!put [player|slot#] [r/b/s])
Description of !swap
Swaps the allied and axis teams.
Usage
 !swap
Description of !shuffle
Shuffles the teams based on XP.
Usage
 !shuffle

!readconfig

Description
Reloads the shrubbot config file to load any changed made manually to the file.
Usage
 !readconfig

!rename

Description
Changes the name of a player.
Usage
 !rename [player|slot#] [new name]

!reset / !restart

Description of !reset
Resets the current match.
Usage
 !reset
Description of !restart
Restarts the current match.
Usage
 !restart

!resetmyxp

Description
Resets the XP of the player who executed the command.
Usage
 !resetmyxp

!resetxp

Description
Reset the XP of the target player.
Usage
 !resetxp [player|slot#]

!revive

Description
Revives a wounded (but not gibbed) user. If there is no target specified, it will be performed on the player who executed the command.
Usage
 !revive [player|slot#]

!setlevel

Description
Sets the level of the named user to the given number.
Usage
 !setlevel [player|slot#] [level number]

!showbans

Description
Lists current server bans in console. Expanded from old showbans, you can now search through bans. Below, will show some examples and what they do.
Usage
!showbans Shows ban list starting at 0
!showbans 540 Shows ban list starting at ban #540
!showbans -20 Shows last 20 bans
!showbans find noob find [keyword] will search for banned player names
!showbans reason aimbot reason [keyword] will search for the reason players were banned for
!showbans banner Meyer banner [keyword] will search for the admin that performed the ban

!spec999

Description
Moves players with 999 ping to the spectator team.
Usage
 !spec999

!time

Description
Show current local time to the player.
Usage
 !time

!uptime

Description
Shows uptime of the server.
Usage
 !uptime

!warn

Description
Warns the named user for the given reason.
Usage
 !warn [player|slot#] (reason)

Shrubbot Config

Level

Levels let you customize what privileges are available. This is done by adding flags to the flags line. The wildcard flag of * enables ALL privileges (except flags ! and @). A flag of * with other flags after it, allows all commands EXCEPT those.


Example of a level entry:
[level]
level = 1
name = ^fPrivileged Player
flags = ChaM9i25u
This gives Level 1 admins access to commands: time, help, admintest, resetmyxp, listplayers, uptime, and also special abilities to do commands from team and fireteam chats, they can't be censored, and they can switch teams any time regardless of balance.

Admin

This is the part of the config where it saves a player's info when they are given a level greater than 0. Custom flags can be added per admin that defy the general flags given for their set level.


Example of an admin entry:
[admin]
level = ^>S.S.Meyerinchains
guid = 1234567890abcedf1234567890abcedf
level = 3
flags = +n
This gives S.S.Meyerinchains all level 3 privileges plus the !nextmap command

Ban

Ban entries are created after using the !ban command on a player. Useful info on the ban is stored here.


Example of a ban entry:
[ban]
name = hackerzrule
guid = 1234567890ABCDEF1234567890ABCDEF
ip = 12.345.678.90
reason = aimbot/walhack
made = 09/10/06 08:07:50
expires = 0
banner = ^>S.S.Meyerinchains

This means S.S.Meyerinchains banned hackerzule permanently on 9/10/06 at 08:07:50 for aimbot/wallhacks.

Mute

A new feature to No Quarter, mutes are saved in the shrubbot config. This is done to expand mute features. New features include temp-muting, no name changing of muted players, no private messaging from muted players, and no vote calling from muted players.
Example of a mute entry:
[mute]
name = loudmouth
guid = 1234567890ABCDEF1234567890ABCDEF
ip = 12.345.678.90
reason = won't stfu
made = 09/10/06 08:07:50
expires = 900
banner = ^>S.S.Meyerinchains
This means loudmouth is muted for 15 minutes, after which, he will be auto-unmuted.

Command

This is a feature made popular by the etadmin_mod. Customizable shrubbot commands are now available through the shrubbot config. The command to execute accepts up to 9 arguments too, by using [1] - [9]. This requires g_shortcuts to be set to 1. Each level that should get the command must be specified. Setting it to just 0 will give it to level 0, but no other levels. You must set to 0 1 2 3 4 5.... to it give to all levels. Syntax is as follows:


Example of a command entry:
[command]
command = command
exec = command to execute
desc = description of the command for !help [command]
levels = 0 1 2 3 4 5


Command limits:
  • Do not define more than 64 commands
  • Do not use more than 17 letters for your custom command


Here are a few example custom commands that can be used:
[command]
command = maxpanzers
exec = team_maxPanzers [1]
desc = Sets maximum panzers per team
levels = 4 5


[command]
command = teamspeak
exec = say "^4|^3Teamspeak IP: 82.165.232.186:8767 password: ssts^4|^7"
desc = Show's Teamspeak Server info
levels = 0 1 2 3 4 5


[command]
command = insanity
exec = jp_insanity [1]
desc = Sets jp_insanity
levels = 5


[command]
command = headshot
exec = set g_headshot [1]
desc = Sets headshot mode
levels = 4 5


[command]
command = holyshit
exec = playsound sound/spree/holyshit.wav; cp "^4|^1!!!HOLY SHIT!!!^4|"
desc = Plays HOLY SHIT! sound
levels = 3 4 5


[command]
command = endmap
exec = timelimit .05
desc = Ends current map and goes to intermission, (better than nextmap if map has been playing for a few minutes)
levels = 3 4 5


[command]
command = funmaps
exec = exec funmaps.cfg
desc = Loads fun map cycle
levels = 5


[command]
command = mainmaps
exec = exec objectivecycle.cfg
desc = Loads regular map cycle
levels = 5


[command]
command = be
exec = pb_sv_banempty; chat PB ban list (in memory) has been emptied.
desc = Cleans temp pb ban list. PB temp banned players can re-connect immediately.
levels = 5


Bot custom command examples that can be used:
[command]
command = addbot
exec = bot addbot [1] [2] [3]
desc = Adds bot to game. Syntax: !addbot <team> <class> <name>. Don't use whitespaces in <name>.
levels = 5


[command]
command = kickbot
exec = bot kickbot [1] [2] [3]
desc = Kicks a bot. Syntax: !kickbot <name>.
levels = 5


[command]
command = minbot
exec = bot minbots [1]
desc = Sets minimum count of bots in game.
levels = 5


[command]
command = maxbot
exec = bot maxbots [1]
desc = Sets maximum count of bots in game.
levels = 5


[command]
command = kickallbots
exec = bot minbots 0; bot maxbots 0; bot kickall
desc = Cleans server from bots.
levels = 5

Limits

The Shrubbot system is limited to; 31 levels, 32768 admins, 1024 bans and 64 commands.