Silent Shrubbot

From MyGamingTalk

<yambe:breadcrumb>SilentMod|SilentMod</yambe:breadcrumb>

What Is Shrubbot

Shrubbot is an invention of Ryan Mannion. Shrubbot is an admin system that identifies the admin leveled players from PunkBuster GUIDs without the need for passwords. Shrubbot is also very flexible and allows creating many different admin levels with entirely different command sets. ETPub tries to clone shrubbot as accurately as possible, both in user interface and in the shrubbot configuration file called "shrubbot.cfg". silEnT shrubbot is based on the work of the ETPub team. silEnT extends the functionality of the shrubbot where ever it is needed. Including user database that holds all the players that have visited the server. To access this database, new commands have been added to the original shrubbot command set. Some commands have been renamed to ease their use and so that they resemble commands from other ET mods that have advanced admin systems.

If you want to use shrubbot, the cvar g_dbDirectory must be set. If it is not set, the shrubbot will not be in use. If you want to edit the default levels, you must create or copy existing shrubbot.cfg file to the folder defined by g_dbDirectory setting. In case shrubbot command like !ban is used against a player and shrubbot.cfg file does not already exist, a new shrubbot.cfg file is created to store the needed data.

The created file will also have the default level settings written to it. This file can be freely edited by hand and then after !readconfig command has been issued, the changes take effect on the server.

Shrubbot Commands

!admintest

Prints out player's current shrubbot admin level in global chat. When the NAME or SLOT are added and the user has the right shrubbot permission, the level of another player will be shown. However, if the target has incognito shrubbot flag, then 0 level is displayed regardless who does !admintest on him/her.

Syntax: !admintest [NAME|SLOT]

Permission Flag: a

Requires g_tyranny: No

Minimum required version: 0.2.0

!ban

Kicks the player in slot number SLOT or with name containing NAME off the server and will not let them connect again for SECONDS seconds, or, if a modifier (m, h, d, or w) is used, a given amount of time. For example:

90 = 90 seconds

15m = 15 minutes

3h = 3 hours

5d = 5 days

1w = 1 week

Syntax: !ban (NAME|SLOT) (SECONDS|TIME_WITH_MODIFIER) REASON

Permission Flag: b

Requires g_tyranny: No

Minimum required version: 0.2.0

!baninfo

Shows detailed information of a ban in the ban list. Find the ban number with !showbans command.

Syntax: !baninfo (BAN NUMBER)

Permission Flag: e

Requires g_tyranny: No

Minimum required version: 0.3.0

!burn

Sets the player in slot number SLOT or with name containing NAME on fire. REASON will be center-printed to the victim.

Syntax: !burn (NAME|SLOT) [REASON]

Permission Flag: U

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!cancelvote

Makes a vote in progress fail.

Syntax: !cancelvote

Permission Flag: c

Requires g_tyranny: No

Minimum required version: 0.2.0

!dewarn

Shows all the warnings of a user. When warning number is used, the warning with that number will be removed.

Syntax: !dewarn (NAME|SLOT) [WARNING#]

Permission Flag: R

Requires g_tyranny: No

Minimum required version: 0.2.0

!disorient

Turns the view upside down for the client in slot number SLOT or with name containing NAME. If REASON is specified it is printed to the client.

Syntax: !disorient (NAME|SLOT) [REASON]

Permission Flag: d

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!finger

Display the slot, partial guid, ip and clientversion of a player.

NOTE: This command should be available only to the highest server admins!

Syntax: !finger (NAME|SLOT)

Permission Flag: e

Requires g_tyranny: No

Minimum required version: 0.2.0

!freeze

Freezes the client in slot number SLOT or with name containing NAME. If no parameter is provided it freezes all players. Frozen player(s) cannot receive damage during this time. If REASON is specified it is printed to the client.

Syntax: !freeze [NAME|SLOT] [REASON]

Permission Flag: F

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!gib

Kills and gibs the player in slot number SLOT or with name containing NAME. If name is -1 or all or if no name is entered, everybody will be gibbed.

Syntax: !gib (NAME|SLOT|-1|all)

Permission Flag: g

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!giba

Kills and gibs all players.

Syntax: !giba

Permission Flag: Q

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!help

Lists all the available shrubbot commands. If COMMAND is given, then prints the help of that specific command. !help is always available to all clients.

Syntax: !help [COMMAND]

Permission Flag: None

Requires g_tyranny: No

Minimum required version: 0.2.0

!howfair

Prints a simple summary to everyone on the chat of team fairness based on player kill rating.

Syntax: !howfair

Permission Flag: I

Requires g_tyranny: No

Minimum required version: 0.2.0

!kick

Kicks the player in slot number SLOT or with name containing NAME off of the server. REASON is given to the client as the drop message. The client will be banned for 2 minutes.

Syntax: !kick (NAME|SLOT) REASON

Permission Flag: k

Requires g_tyranny: No

Minimum required version: 0.2.0

!list

Prints out a list of information about the connected players. The columns are:

  • slot number
  • team R=axis B=allies S=spectator C=connecting
  • first letter of fireteam name
  • admin level (and level name)
  • last 8 digits of guid
  • M if muted
  • W if warned
  • name

Syntax: !list

Permission Flag: i

Requires g_tyranny: No

Minimum required version: 0.2.0

!listteams

Prints out a list of statistical information about each team. This lists ends with ratings information based on how likely each team is to win the current map. The team with more points is LESS likely to win, therefore a good way to balance the teams is to join the team with more points, or move people to that team, until the points are about even.

Syntax: !listteams

Permission Flag: I

Requires g_tyranny: No

Minimum required version: 0.2.0

!lock

Locks the specified team. Recognized values are r=AXIS b=ALLIES s=SPECTATORS all=ALL.

Syntax: !lock (r|b|s|all)

Permission Flag: K

Requires g_tyranny: No

Minimum required version: 0.2.0

!lol

Makes all players drop grenades. If NAME or SLOT is provided only that player will drop grenades. GRENADES is the number of grenades to be dropped (default is 1, maximum is 16).

Syntax: !lol [NAME|SLOT] [GRENADES]

Permission Flag: x

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!mute

Mutes a player in a slot number SLOT or with a name containing NAME. TIME and REASON are optional. See !ban for more information on modifiers

Syntax: !mute (NAME|SLOT) [SECONDS|TIME_WITH_MODIFIER] REASON

Permission Flag: m

Requires g_tyranny: No

Minimum required version: 0.2.0

!news

Plays the map specific news audio to all players if it is available.

Syntax: !news

Permission Flag: W

Requires g_tyranny: No

Minimum required version: 0.2.0

!nextmap

Moves to the next map in campaign or in the objective cycle end game intermission is skipped. With mapvoting gametype it is possible to go to the intermission if g_mapVoteFlags flag 16 is set.

Syntax: !nextmap

Permission Flag: n

Requires g_tyranny: No

Minimum required version: 0.2.0

Changelog

  • 0.4.0 The !nextmap will go to the intermission map voting when the gametype is set to 7 and the g_mapVoteFlags bitmask has flag 16 set.

!orient

Reverses the action of !disorient for the client in slot number SLOT or with name containing NAME.

Syntax: !orient (NAME|SLOT)

Permission Flag: d

Requires g_tryanny: Yes

Minimum required version: 0.2.0

!panzerwar

Enables panzerwar game mode. All the players will have their main weapon changed to panzerfaust.

Syntax: !panzerwar [on|off]

Permission Flag: q

Requires g_tyranny: No

Minimum required version: 0.2.0

!passvote

Makes a vote in progress pass.

Syntax: !passvote

Permission Flag: V

Requires g_tyranny: No

Minimum required version: 0.2.0

!pause

Pauses the match.

Syntax: !pause

Permission Flag: Z

Requires g_tyranny: No

Minimum required version: 0.2.0

!pip

Draws sparks (pixie dust) around the player in slot number SLOT or with name containing NAME. Does it to all players if NAME/SLOT is not providied.

Syntax: !pip [NAME|SLOT]

Permission Flag: z

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!pop

Pops the helmet off from a player in a slot number SLOT or with a name containing NAME. If no parameter is provided, it pops the helmets off from all the players.

Syntax: !pop [NAME|SLOT]

Permission Flag: z

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!putteam

Moves a player in a slot number SLOT or with a name containing NAME to the indicated team.

  • r - Allies
  • b - Axis
  • s - Spectators

Syntax: !putteam (NAME|SLOT) (r|b|s)

Permission Flag: p

Requires g_tryanny: No

Minimum required version: 0.2.0

!readconfig

Reads shrubbot.cfg file from the directory set by g_dbDirectory cvar.

Syntax: !readconfig

Permission Flag: G

Requires g_tyranny: No

Minimum required version: 0.2.0

!rename

Sets the player in slot number SLOT or with name containing NAME to NEWNAME. The name change will not be persistent. The user database will store the renamed name for the player.

Syntax: !rename (NAME|SLOT) NEWNAME

Permission Flag: N

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!reset

Resets the match.

Syntax: !reset

Permission Flag: r

Requires g_tyranny: No

Minimum required version: 0.2.0

!resetmyxp

Clears all XP and skillpoints for the player who runs this command.

Syntax: !resetmyxp

Permission Flag: M

Requires g_tyranny: No

Minimum required version: 0.2.0

!resetxp

Clears all XP and skillpoints for the player in the slot number SLOT or with the name containing NAME. If reason is provided it is printed to the client.

Syntax: !resetxp (NAME|SLOT) [REASON]

Permission Flag: X

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!restart

Restarts the match.

Syntax: !restart

Permission Flag: r

Requires g_tyranny: No

Minimum required version: 0.2.0

!riflewar

Enables riflewar game mode. All the players will have their main weapon changed to either K43 or Garand.

Syntax: !riflewar [on|off]

Permission Flag: q

Requires g_tyranny: No

Minimum required version: 0.2.0

!setlevel

Sets the connected player in the slot number SLOT or with name containing NAME to the level indicated by LEVEL. A player cannot !setlevel another player to a lever higher than him/herself.

Syntax: !setlevel (NAME|SLOT) LEVEL

Permission Flag: s

Requires g_tyranny: No

Minimum required version: 0.2.0

!showbans

Lists up to 30 shrubbot bans currently in effect. The columns are:

  • ban number
  • banned player's name
  • date of the ban
  • name of the banning admin
  • when the ban will expire
  • reason for the ban

If SKIP is provided, that number of bans are skipped before printing starts. SKIP can also be negative (e.g. '!showbans -10' would display the last 10 bans.

Syntax: !showbans [SKIP]

Permission Flag: B

Requires g_tyranny: No

Minimum required version: 0.2.0

!shuffle

Shuffles teams, but does NOT restart (see !restart).

Syntax: !shuffle

Permission Flag: S

Requires g_tyranny: No

Minimum required version: 0.2.0

!slap

Does DAMAGE (default 20) damage to player in slot SLOT or with name containing NAME. If REASON is specified it's center-printed to the victim.

Syntax: !slap (NAME|SLOT) [DAMAGE] [REASON]

Permission Flag: A

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!sniperwar

Enables sniperwar game mode. All the players will have their main weapon changed to sniper rifles.

Syntax: !sniperwar [on|off]

Permission Flag: q

Requires g_tyranny: No

Minimum required version: 0.2.0

!spec999

Moves all the players with a ping of 999 to the spectators team.

Syntax: !spec999

Permission Flag: P

Requires g_tyranny: No

Minimum required version: 0.2.0

!spree

Show the players current killing spree count.

Syntax: !spree

Permission Flag: E

Requires g_tyranny: No

Minimum required version: 0.2.0

!spreerecord

Displays the map and the overall spreerecord.

Syntax: !spreerecord

Permission Flag: E

Requires g_tyranny: No

Minimum required version: 0.2.0

!stats

Displays the Thompson, MP40 and PPSh total kills and deaths, kills and deaths during the map and accuracy, headshotratio and headshot distance during the map. Lists all connected players.

Syntax: !stats

Permission Flag: t

Requires g_tyranny: No

Minimum required version: 0.2.0

!swap

Swaps the players to the opposite team.

Syntax: !swap

Permission Flag: w

Requires g_tyranny: No

Minimum required version: 0.2.0

!time

Prints out localtime of the client in the chat. No other client can see this time message. The command doesn't have a flag but it is available to all clients always.

Syntax: !time

Permission Flag: No permission required

Requires g_tyranny: No

Minimum required version: 0.2.0

!tspree

Show the top n current killing spree (default top 5).

Syntax: !tspree [amount]

Permission Flag: E

Requires g_tyranny: No

Minimum required version: 0.2.0

!unban

Removes the ban that !showbans lists as BAN_NUMBER.

Syntax: !unban BAN_NUMBER

Permission Flag: b

Requires g_tyranny: No

Minimum required version: 0.2.0

!unfreeze

Unfreezes the client in slot number SLOT or with name containing NAME. If no parameter is provided it unfreezes all players.

Syntax: !unfreeze [NAME|SLOT]

Permission Flag: F

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!unpause

Unpauses the match.

Syntax: !unpause

Permission Flag: Z

Requires g_tyranny: No

Minimum required version: 0.2.0

!unmute

Unmutes the player in slot number SLOT or with name containing NAME.

Syntax: !unmute (NAME|SLOT)

Permission Flag: m

Requires g_tyranny: No

Minimum required version: 0.2.0

!unlock

Unlocks the team specified. Recognized values are r=AXIS b=ALLIES s=SPECTATORS all=ALL.

Syntax: !unlock (r|b|s|all)

Permission Flag: K

Requires g_tyranny: No

Minimum required version: 0.2.0

!uptime

Show how long the server has been up and running.

Syntax: !uptime

Permission Flag: u

Requires g_tyranny: No

Minimum required version: 0.2.0

!throw

Send the player in slot number SLOT or with name containing NAME flying.

Syntax: !throw (NAME|SLOT)

Permission Flag: l

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!fling

Send the player in slot number SLOT or with name containing NAME flying.

Syntax: !fling (NAME|SLOT)

Permission Flag: l

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!launch

Send the player in slot number SLOT or with name containing NAME flying.

Syntax: !launch(NAME|SLOT)

Permission Flag: l

Requires g_tyranny: Yes

Minimum required version: 0.2.0

!throwa

!warn