Bail's Root plugin requires AMXMod (tested with 0.9.7+) and the Xtrafun and Fun modules. Simply copy plugin_bail_root.amx to your addons\amx\plugins\ folder and add its filename to addons\amx\plugins\plugins.ini. (use bail_root_nox.amx for non-Xtrafun version)
If you want our predefined teleport nodes, copy all the pbr_map.cfg files to the cstrike folder on the server.
All pbr_*.cfg files go in the moddir (cstrike/tfc/etc) folder! Not doing so may cause loss of some functionality, especially for non-cstrike mods.
The source code is included if you want to compile it. Click Here for the CVS repository.
You can download AMXMod 0.9.6+ and the Xtrafun module, with instructions, here:
http://amxmod.net/forums/viewtopic.php?t=22409
Bail's Root Plugin also makes use of new cvars for your amx.cfg/server.cfg:
amx_admin_email "myemail@addy.com" (Contact E-mail address)
amx_pbr_logging 1 (Log plugin usage?)
amx_pbr_listen 1 (Allow admins to listen to all chat?)
amx_kick_name 1 (Kick users with & in their names?)
I highly suggest not using AMXMod 0.9.3!
UPDATE: Information on AMX + the new Steam 1.6 Update from 11-26: http://amxmod.net/forums/viewtopic.php?t=22217
To Install Xtrafun, place the binary file (xtrafun_mm_i386.so/xtrafun_mm.dll) into addons\amx\dlls\ and add the file/path name into addons\amx\modules.ini. For any help, post on the AMX forums at http://www.amxmod.net/. Fun is alread included in the default AMXMod installed, so if it's not enabled in amx's modules.ini, add/enable it.
If you don't want to/can't install Xtrafun, you can use bail_root_nox.amx instead (does not need Xtrafun plugin).
Bail's root plugin is a way for administrators to control the
server without using rcon or the console, simply by normal say chat. Other plugins use /command, so PBR avoids this by
using $
$ slap Hacker
Easy enough? Yep. There are over 80 commands, 10 ways of targetting players, and three ways of issuing commands.
For a full list of the commands with examples, read the large table below. For targets, keep on reading.
Let's have a look at the basic things you can say here:
$ is what initiates the command. Command is what you want to do. Target is who you are affecting. Extra is anything else the command needs.
Most of the time, $ and $# will suffice. $# doesn't echo your command back to the public, which is useful for secrecy.
For more adventerous admins, here are all the ways you can use commands. Skip below this table to see the ways in which you can target players.
More information on direct command usage
You can do more than just use a command on a single player - you can affect teams, everyone, and special other scenarios.
For example, $ slap * Will slap whoever you are pointing to. Cool, huh? Read on for the list of targets.
Plugin_bail_root also lets you define points (or nodes) on maps for predefined commands. Read below for that.
Plugin_bail_root does not allow names with "&" in them. People who use names that have "&" will be instantly kicked. Set cvar "amx_pbr_kickname" to "0" to prevent this.
Be VERY careful with the raising players from dead commands on Counter-Strike. It's buggy and often makes ghost players (alive spectators). Also be careful with powerup and giving multiple weapons to multiple clients on Counter-Strike... it has crashed my linux server.
All commands are listed below. Remember, <target> can be *, /1, /2, /*, or any of the listed targets, but <player> can only be a player name.
Targeted Commands | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | Function | Version Implemented | Access Level | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ addip <player> [time] [reason] | Bans <player> by IP address for [time] (0/omitted is permaban). Shows reason IRC-style to all users. | 2.00 | o | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$ admin <player> <flags> | Sets admin flags 2.00
| t
| $ arise, <target>
| Takes <target> from dead mode to alive mode, verbose. Be careful, if the target is not in spec_mode 3 this can cause problems.
| 1.90
| t
| $ ban <player> [time] [reason]
| Bans <player> for optional [time] (if ommitted or 0, it's a permaban). Shows reason IRC-style to all users.
| 1.00
| o
| $ bomb <player> [time]
| Turns <player> into a time bomb (kamikaze-style) with a timer default of 15 seconds.
| 2.20
| p
| $ boot <player>
| Kicks <player> without the IRC-style announcement.
| 2.00
| n
| $ cease <player>
| Stops the evil fill command on <player>. Not tested.
| 2.00
| t
| $ clip <target>
| Enable no-clipping on <target>.
| 1.20
| p
| $ ctrl <target> <movement>
| Makes player execute +/-<movement> command. Do not supply the +/-.
| 2.00
| p
| $ debug
| Turns on a debugging mode for you. Look in console for output.
| 2.00
| m
| $ deflate <player>
| Reverses supergod mode on <player>.
| 1.71
| p
| $ demote <player>
| Removes all admin flags from <player> temporarily.
| 2.00
| t
| $ fill <player>
| THE LEGALITY/MORALITY OF THIS COMMAND IS IN QUESTION. It should only be used on extreme cheaters.
This will force <player> to take four screenshots a second for two minutes, potentially generating gigs of data
and lagging them out. Tested on myself - wouldn't wish this on anyone. $ cease stops it (in theory).
| 2.00
| t
| $ flash <target> [ | Blinds <target> with default color black (or color name or RGB values) for three seconds.
If r is "r", color is randomized.
| 2.00
| o
| $ gag <player>
| Prevents <player> from speaking.
| 1.60
| n
| $ give <target> <item_code>
| Gives weapon <item_code> to <target>. | If + precedes <item>, gives ammo_<item> instead. If - precedes <item>, gives item_<item> instead. If item is "all", gives all weapons defined (PBR only defines cstrike weapons). If item is "+all", gives all ammo types. If "_" precedes item, then <item> is directly given (no parsing). (For example, "$ give @ ak47", "$ give @ +766nato" is the same as "$ give @ _weapon_ak47", "$ give @ _ammo_766nato") 2.00
| o
| $ glow <target> [ | Enable glowing on <target> with a color name or R=Red, G=Green, B=Blue
0-255. If R is set to "r" then glowing is randomized. Use with "invis" for translucency.
| 1.30
| n
| $ god <target>
| Enable god-mode on <target>.
| 1.20
| p
| $ hop
| Finds the nearest alive player, and then teleports you near them (nearest node). (Saves their target for "!").
| 2.00
| p
| $ info <player>
| Shows the SteamID, IP, health, armor, and coordinate space location of <player>.
| 1.40
| m
| $ invis <target>
| Turns <target> invisible.
| 1.70
| p
| $ jump <player>
| Teleports you to the nearest teleport node near <player>.
| 1.70
| p
| $ kamikaze <player> [time]
| Same as $ bomb.
| 2.2o
| p
| $ kick <player> [reason]
| Kicks <player> from the server with an IRC-style announcement.
| 1.00
| n
| $ kill <target>
| Slays the target.
| 1.00
| n
| $ level <player>
| Returns the access level of <player> and whether they can target you.
| 1.60
| m
| $ listen <player> [0|1]
| Sets whether <player> can listen to all chat.
| 2.00
| n
| $ make <target> <commands>
| Makes <target> execute <arguments> on his client (execclient).
| 1.20
| t
| $ move <location>
| Moves you to a teleport node. See below.
| 1.60
| p
| $ mute <player>
| Disables <player>'s microphone abilities.
| 2.00
| o
| $ name <player> <new-name>
| Forces a player to change their name.
| 2.01
| o
| $ near
| Finds the nearest alive player, and then gives you the closest teleport node to them. (Saves their target for "!").
| 2.00
| p
| $ norm <target>
| Disable glowing on <target>.
| 1.50
| o
| $ powerup <target> [glow]
| Gives full Counter-Strike weapons, 10,000HP, and optional random glowing on <target>.
| 2.00
| p
| $ psay <target> <message>
| Sends a private <message> to <target>. (Can target teams).
| 1.30
| m
| $ raise <target>
| Takes <target> from dead mode to alive mode, non-verbose. Be careful, if the target is not in spec_mode 3 this can cause problems.
| 1.90
| t
| $ reply <message>
| Sends a message to the last person that messaged you.
| 1.60
| m
| $ see <target>
| Makes invisible <target> visible again.
| 1.70
| p
| $ send <player> <location>
| Sends player to a teleport node. See below.
| 1.60
| p
| $ seta <target> [+]<armor>
| Sets target's armor to <armor>. If used with +armor/-armor, armor is added/subtracted instead of set.
| 1.52
| o
| $ setf <target> [+]<heath>
| Sets target's frags to <frags>. If used with +frags/-frags, frags are added/subtracted instead of set.
| 2.00
| p
| $ setg <target> [+]<gravity>
| Sets target's gravity to <gravity>. If used with +gravity/-gravity, gravity is added/subtracted instead of set. Note, normal gravity is 1.0.
| 1.52
| o
| $ seth <target> [+/-]<heath>
| Sets target's health to <health>. If used with +health or -health, health is added/subtracted instead of set.
| 1.52
| o
| $ setm <target> [+/-]<money>
| Sets <target>'s money to <money>. If +money or -money is used, money is added/subtracted instead of set.
| 1.54
| p
| $ slap <target> [damage]
| Slaps the target for a default of 5 damage. -1 = no damage.
| 1.00
| n
| $ slay <target>
| Slays the target.
| 1.00
| n
| $ snap <target>
| Flings the <target> screaming across the map, then cuts their health in half. Not available in bail_root_nox.
| 1.53
| n
| $ speed <target> [speed]
| Sets user's maxspeed. May be rather buggy on CS 1.6. Leave speed blank for default 900.
| 2.00
| o
| $ stack <player>
| Stacks all other players on top of <player>. Ported from Admin-Mod's admin_stack.
| 2.20
| p
| $ stat <player>
| Same as "info", but displays information publically.
| 2.00
| m
| $ stop <target>
| Disable no-clipping on <target>.
| 1.20
| p
| $ strike <target>
| Fake-slays <target> (graphics+sound, no kill).
| 2.00
| m
| $ supergod <player>
| Gives <player> 255hp, 255armor, noclip, and invisibility.
| 1.71
| p
| $ team <player> [team]
| Forces player to join a team (use numbers). This will not work with VGUI2.
| 2.00
| n
| $ teamcs <player> [team]
| Forces player to join a team (use numbers). This works with VGUI2.
| 2.00
| n
| $ test
| Sends "Test succeeded" back to you with your flags. Useful for testing admin access (secretly).
| 2.00
| m
| $ trace <player>
| Shows the nearest teleport node to <player>.
| 1.70
| o
| $ twin <target>
| Turns <target> into a twin from Matrix 2. Every 2.5 seconds they
will phase into a ghost-like godmde and then phase out again.
| 2.00
| o
| $ ungag <player>
| Lets gagged <player> speak again.
| 1.60
| n
| $ ungod <target>
| Disable god-mode on <target>.
| 1.20
| p
| $ unmute <player>
| Enables <player>'s microphone abilities. They will need to restart the game.
| 2.00
| o
| $ untwin <target>
| Turns twin mode off on <target> .
| 2.00
| o
| $ write <player> <flags>
| Adds the authid of <player> to users.ini with no password and flags <flags> set.
Note that while this is safe with SteamIDs because Steam requires logins, it is not safe with WonIDs.
| 2.00
| t
| Non-Targeted Commands
| $ amx <command> <arguments>
| Executes an amxmod command command in the form of: | amx_command [arguments] 1.00
| t
| $ auth | Authenticates your username and pass for admin access (see below).
| 2.00
| ANY
| $ cancel
| Cancels any current votes.
| 2.00
| n
| $ csay [color] <message>
| Displays <message> with default white [color] in centersay to all users.
| 2.00
| m
| $ csayc <r> <g> <b> <message>
| Displays <message> with color [r,g,b] in centersay to all users.
| 2.00
| m
| $ cvar <cvar> [pub]
| Displays cvar (set pub=1 for public display). Cannot retrieve rcon_password on non-root.
| 2.00
| m
| $ defnode <node> [raise]
| Will define a new teleport node of name <node> at the point
you are standing. Optional [raise] will increase the height of the node.
This is necessary for sloped grounds (use raise=1-10) where the node will
clip the player and they'll be stuck.
| 1.80
| t
| $ map <map>
| Changes the map to <map>.
| 1.60
| o
| $ nodecount
| Returns the number of teleport nodes currently loaded.
| 1.80
| m
| $ relnode <node>
| Will release (delete) a teleport node defined as <node>.
This seems to work. Please tell me of any bugs with it.
| 1.80
| t
| $ root <arguments>
| Executes <arguments> on the server, as if passed through rcon.
| 1.00
| t
| $ speak <text>
| Speaks <text> to everyone, in the Half-Life vox voice.
| 1.10
| n
| $ ssay <message>
| Displays <message> in serversay (chat print).
| 2.00
| m
| $ suddendeath [health]
| Sets every player's health to one (or [health] if provided).
| 1.70
| p
| $ time
| Displays the current time.
| 1.60
| ANY
| $ tsay [color] <message>
| Displays <message> with default white [color] in typesay to all users.
| 2.00
| m
| $ tsayc <r> <g> <b> <message>
| Displays <message> with color [r,g,b] in typesay to all users.
| 2.00
| m
| $ verify
| Display a public message showing what level of administrator you are.
| 1.20
| m
| $ version
| Displays which version of plugin_bail_root is running.
| 1.30
| ANY
| $ vote <vote>
| Displays a vote with options "Yes" and "No".
| 2.00
| n
| Console Commands
| pbr_version
| Returns what "$ version" would. Only usable from server console/rcon.
| 2.00
| Whatever.
| |
Undocumented commands - $ euliah, $ dan, $ coke, $ bail.
Some quick examples: (remember - use say)
$ slap player slap player $ ban player hacking ban player for hacking $ give @ ak47 give yourself AK-47 $ seth /2 +50 add 50 hp to the CTs $ seta /* 100 set everyone's armor to 100 $ root mp_friendlyfire 0 turn off ff $ jump ? move to closest node near your last enemy $ trace bob find which teleport node bob is closest to $# god @ godmode yourself - and don't echo your command back $# ungod @ ungodmode yourself - and don't echo your command back $#$! repeat the last command and don't echo
NEW! As of version 1.80, you can define teleport nodes without
ever touching files. A node is a point in the map admins can hop players to.
For example, you can define the CT spawn in cs_militia as "/ct.spawn". Then you
can say "$ move /ct.spawn" and will be teleported there instantly.
To define a node at the point you are standing: $ defnode <node> [raise]
For example, "$ defnode /tspawn". You can supply a raise number
for weird terrains, which sets the teleport node slightly above the ground (use about 20).
To delete a node: $ relnode <node>
Nodes are used in other commands, such as $ jump, $ trace, and $ send. To see the nodes defined by TCW, look at the tables at the end of this document.
The old documentation for nodes is here, and it still applies:
As of version 1.60, plugin_bail_root supports each map having 25 predefined nodes that admins can use to move around in. For example, you can define the location for "ctspawn" in map "de_dust", then use "$ move ctspawn" and you will be teleported to the location at "ctspawn".
A map node file must be named pbr_mapname.cfg (i.e. pbr_de_dust.cfg) and must be in the mod main dir (i.e. cstrike). Only the first 20 lines will be read, and each line must be set up as follows:
It is a good idea to use "/location" instead of "location" as the parser checks only checks for partial words. For example:
might be a de_dust entry. Note the separation by spaces for each value.
I use a naming convention for mapping out maps:
Class is a combination of letter codes to describe the location.. such as...
So "/ctb.spawn" might mean "Back of CT Spawn". Just for organization purposes.
So far, the following maps have been predone:
de_dust2 | cs_assault | de_nuke | de_aztec | de_dust |
/ct.spawn | /ct.spawn | /t.spawn | /ct.spawn | /ct.spawn |
/b.abomb | /ct.tower | /t.roof | /p.bbomb | /ct.ledge |
/p.abomb | /ctb.bridge | /t.ledge | /b.bbomb | /ct.tunnel |
/path.abomb | /ct.bridge | /hut | /ct.bridge | /ct.hallway |
/t.doors | /ct.front | /tables | /t.bridge | /ct.main |
/ct.doors | /ct.under | /p.abomb | /t.doors | /t.spawn |
/ct.hide | /ctd.door | /p.abomb | /t.opening | /t.tunnel |
/ct.tunnel | /ctu.door | /ahallway | /t.spawn | /tr.side |
/f.tunnel | /t.ledge | /boxes | /t.camp | /tl.side |
/f.bbomb | /t.door | /p.bbomb | /waters | /t.main |
/b.bbomb | /t.redbox | /highrock | /ct.camp | /p.abomb |
/p.bbomb | /tb.hostage | /ct.spawn | /ct.boxes | /p.bbomb |
/hide.bbomb | /t.hvents | /ct.ledge | /ct.doors | /p.hallway |
/path.bbomb | /tu.stairs | /ct.snipe | /ct.hallway | /b.abomb |
/t.snipe | /t.spawn | /ct.hide | /ct.stairs | /cr.abomb |
/t.spawn | /vents | /pipes | /ct.ramp | /tunnel |
/t.main | /p.abomb | |||
/t.under | /ct.spawndoors |
V. Changing/Editing command access levels
As of 2.10, PBR lets you redefine just about any access level for any command.
First, make or open the file called "pbr_cmds.cfg" in your moddir (cstrike, tfc, etc.)
Then add lines like so:
command access_level root p slay n map f slap c
You must restart the map or server for changes to take effect.
VI. Remote Authentication/Non-AMX Users
As of 2.00, Plugin Bail Root allows you to define non-AMX administrators who can authenticate themselves with PBR in game. This allows for a number of features, such as using admin from a different steam account or limiting users to certain features. Admins are defined in your pbr_admins.cfg file, which is in your moddir. For example:
cstrike\pbr_admins.cfg: ;USERNAME PASSWORD FLAGS bailopan mypassword mnopqrst
Then the user simply says in game:
$ auth bailopan mypassword
And their username will now be authenticated for admin access.
VII. Adding/changing mod item/weapon support
PBR currently supports entities for "cstrike", "dod", "ns", and "valve".
To add entity support for certain give codes, create a file called "pbr_mod_mod.cfg"
Then add an entity per line in the file. Send the file to us to be included in the default package.
VIII. The Credits and copyrights.
(C)1995-2003 The TCW Organization and David "BAILOPAN" Anderson
http://www.tcwonline.org/
Plugin Bail Root is copyrighted under the GPL, or GNU General Public License, version 2. Any line tagged as a copyright line must be included without alteration. You are free to edit this work but not claim it as your own. Feel free to use portions of code for your own plugins, and I would appreciate any credit given.
AMXMod can be found here: http://www.amxmod.net/
The people who contributed to plugin_bail_root are:
Why did I make plugin bail root? First it was to administer and control the flow of Counter-Strike in-game, much as root would do at a shell console. But while browsing the Admin-Mod forums most ideas like this were frowned upon and many questions were answered insultingly (read: Wraith). This is what resulted. Have fun. Fear the $. Abuse the $.
---------- Changelog: ---------- 2.21: Added GPL license to comments. Added $ unmute command. Fixed $ stack. Fixed $ demote. Fixed $ fill. Fixed PlaySoundToAll - fixes: $ strike /* $ slay /* $ kill /* $ snap /* Added improvements to $ kill. Added improvements to $ mute. Added improvements to $ bomb/kamikaze. Added tsay color names to $ glow. Added tsay color names to $ flash. Removed secret $ sudo command. Secret stuff??? Plans to add color config file in 2.22/2.30. 2.20: Added support for other mod entities. Added $bomb, $kamikaze, $stack. Fixed amx_admin_listen. Fixed $ strike /* bug. Fixed $ flash /* bug. Fixed $ name bug. $ give all no longer just gives weapons. 2.11: Fixed access level code bugs. Do not use 2.10. 2.10: Redid all access level code. Made dynamic access levels. Added server console command - pbr_debugcmd. Changed is_digit code to be backwards compatible. Prevented > from crashing plugin. 2.01: Changed $root for more security. Forked into non-xtrafun version. Removed modes $$, $+, $@ Added new command $debug. 2.00: Completely converted everything to AMXMod. Removed necessity of non-standard DLLs. Fixed glowing (no longer always yellow). Fixed player revival - somewhat. Added advanced CmdTeam functionality. Added new targets - @, !, #, ? Added new modes - $$, $+, $@ Added backticking of targets - &<player>. Added new commands: $flash, $powerup, $give, $tsay, $amx $addip, $cvar, $mute, $suddendeath $listen, $auth, $ctrl, $vote $admin, $demote, $write, $setf $setg, $test, $near, $hop, $fill, $cease, $csay, $tsayc, $ssay, $csayc, $twin, $untwin, $setf, $setg, $speed, $team, $teamcs. Added randomize to $glow. Added full targets to many commands. Added non-AMX authentication. Fixed $! and $#. Removed $amc, $retr, $view, $heal, $charge, $pay. Changed $freeze to $stop, $sudo to $god, $exit to $ungod. Added CVARs: amx_pbr_logging, amx_admin_listen amx_pbr_kickname, amx_admin_email some voting cvars from adminvote.sma Added first console command: pbr_version Changed & catcher to just a disconnect. Added many features to commands - such as +/- to setx commands and IRC messages for kick/ban. Added targeted "sank_listen" effect. There may be more. It's been a lot. Notes: First compile with no warnings: 2.0-alpha-build-39 First beta started at 2.0-alpha-build-77 First beta with no warnings: 2.0-beta1-build-92 First Release Candidate: 2.0-RC1 on build 93 Last Release Candidate: 2.0-RC6 on build 142 1.90: Fixed team messaging. Fixed handler for say_team. Added $arise, and $raise. Added random glow to $supergod. 1.81: Fixed target comparison tests. Fixed $make targets. 1.80: Added $defnode, $relnode, $nodecount. Finished packaging. 1.70: Added $jump, $trace, $invis. Removed $track. Fixed $make targets. Fixed some de_dust node points. 1.62: Added catcher for "&" names... 30 minute bans. 1.61: Fixed setm and pay on linux. Added more targets for setm and pay. Fixed $ reply bug. 1.60: Added access level requirements. Added highlander effects. Added admin teleportation to preset points. Added $gag, $free, $map, $move, $send, $time. Added $! function. Added new /* target. Added $level and $reply. Separated parsing from callback function. 1.54: Fixed $amc again. Added $setm and $pay. 1.53: Added $snap to plugin and AM. 1.52: Added $seta, $seth, and $charge to plugin and AM. 1.51: Fixed all the incorrect tabbings. $glow, $norm, $heal now can target teams. Added version display of AM version. 1.50: addition of $ givehp <target> <health>. Bail's AM rewrite is necessary for compilation now! Fixed $psay to cancel dead messages $norm cancels a glow $stat displays user info 1.44: Fixed $amc to do admin_command not admin_cmd. 1.43: Fixed SteamID in $info. Before: Stuff was done.