Bot Types
- FoxBot
- Oddbot
- HPBbot
- ABot
Bots are not fully supported in Team Fortress Classic as no bot is included with purchase. Unlike Team Fortress 2, third-party modifications are necessary to host a server with bots. The following section lists the most popular bots available with a list of strengths and weaknesses, and a list of commands.
Foxbot
Foxbot Behavior
- Bots currently can not use or equip unlockable content, including: non-standard Weapons, Hats, or Miscellaneous items.
- Bots currently can not jump, rocket jump or sticky jump.
- If a bot kills a player, they roll a chance to taunt immediately after and if it succeeds, they will taunt even if they are under enemy fire.
- When a bot sees a disguised enemy Spy, it will watch the Spy's movement. The bot will not attack the disguised Spy unless the Spy attacks or bumps into one of the bots.
- Pyro bots will use the Compression blast against projectiles regularly.
- List strengths
- Lots of waypoints available
- Still being updated
- Variable Skill
- Chat personalities available (aggressive, sarcastic, humorous, etc.)
- Attempt to report location of dropped flag
- Bots will change classes if they are doing poorly against a particular threat
- If playing as civilian class, will attempt to stay near allies.
- List weaknesses
- Reliance on waypoints for each map
Foxbot Commands
For Foxbot to work properly, a map with a proper waypoint must be used. Foxbot's installation provides waypoints for 516 maps, including all Team Fortress Classic standard maps and deathmatch maps from Half-life.
addbot
|
This command will create one or more AI bots of random classes on random teams. They will also be assigned amusing human-like names.
- Syntax
addbot [<team>] [<class>] [<name>] [<skill>]
- Parameters
<team>
- Specifies the team to which the bot will be assigned. If omitted, bot will be assigned a random team.
- team can be 1 = blue, 2 = red, 3 = yellow, or 4 = green.
<class>
- The classname of the class can be 1 = Scout, 2 = Sniper, 3 = Soldier, 4 = Demoman, 5 = Medic, 6 = HWGuy, 7 = Pyro, 8 = Spy, 9 = Engineer, or 10 = Random
- If a class is not specified, the bot will be able to change class whenever it wants to/needs to
<name>
- Specifies the name to assign the bot.
<skill>
- Sets the skill level for the bot. Skill can be 1 being best to 5 being worst.
- Example
botadd 1 3 TFC_bot 1 will spawn a soldier named TFC_bot with a high skill level.
|
tf_bot_difficulty
|
Defines the skill of bots joining the game.
- Syntax
tf_bot_difficulty <level>
- Parameters
<level>
- Sets the difficulty level for the bots. Values are: 0=easy, 1=normal, 2=hard, 3=expert. Default is "Normal" (1).
- Example
tf_bot_difficulty 2 will set all bots created after this command to "Hard" difficulty.
|
tf_bot_force_class
|
If set to a class name, all TFBots will respawn as that class.
- Syntax
tf_bot_force_class <class>
- Parameters
<class>
- The classname of the class can be Demoman, Engineer, HeavyWeapons, Medic, Pyro, Scout, Soldier, Sniper, or Spy. Default is "" (aka blank).
- Example
tf_bot_force_class medic will make all TFbots respawn as Medic.
|
tf_bot_join_after_player
|
If nonzero, bots wait until a player joins before entering the game.
- Syntax
tf_bot_join_after_player <integer>
- Parameters
<integer>
- Either 1 or 0. Default is 1 (enabled).
- Example
tf_bot_join_after_player 0 will make TFBots join the game when added even if no players are on a team.
|
tf_bot_keep_class_after_death
|
If zero, bots will always respawn as a different class.
- Syntax
tf_bot_keep_class_after_death <integer>
- Parameters
<integer>
- Either 1 or 0. Default is 0 (disabled).
- Example
tf_bot_keep_class_after_death 1 will prevent TFBots from changing class.
|
tf_bot_kick
|
This command will remove one or all AI bots.
- Syntax
tf_bot_kick <name/all>
- Parameters
<name/all>
- Specifies the name of bot to remove or all.
- Example
tf_bot_kick CEDA will kick the TFbot named "CEDA" if one exists.
|
tf_bot_prefix_name_with_difficulty
|
If nonzero, append the skill level of the bot to the bot's name
- Syntax
tf_bot_prefix_name_with_difficulty <integer>
- Parameters
<integer>
- Either 1 or 0. Default is 0 (disabled).
- Example
tf_bot_prefix_name_with_difficulty 1 will cause added bots to have names like "1 Aimbot" (normal) and "3 Saxton Hale" (expert).
|
tf_bot_quota
|
Determines the total number of tf bots in the game. Only has effect is "tf_bot_quota_mode" = "fill" or "match".
- Syntax
tf_bot_quota <integer>
- Parameters
<integer>
- Whole number between 0 and how many players the server can hold. Default is 0.
- Example
tf_bot_quota 2 , if tf_bot_quota_mode = match, will add two bots to the server for every one human.
|
tf_bot_quota_mode
|
Determines the type of quota.
- Syntax
tf_bot_quota_mode<normal/fill/match>
- Parameters
normal/fill/match
- If 'normal', the server will never add/remove TFbots without explicit commands and bot_quota has no effect.
- If 'fill', the server will adjust bots to keep N players in the game, where N is bot_quota.
- If 'match', the server will maintain a 1:N ratio of humans to bots, where N is bot_quota.
- Example
tf_bot_quota_mode fill will always keep (bot_quota - # of human players) bots in the game.
|