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 creates one bot.
- 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.
|
botskill_upper
|
Sets the best possible skill level to be randomly assigned to bots that join the game automatically.
- Syntax
botskill_upper <level>
- Parameters
<level>
- Ranges from 1 being best to 5 being worst.
- Example
botskill_upper 2 will set all bots that join the game to no higher than a skill level of 2.
|
botskill_lower
|
Sets the worst possible skill level to be randomly assigned to bots that join the game automatically.
- Syntax
botskill_lower <level>
- Parameters
<level>
- Ranges from 1 being best to 5 being worst.
- Example
botskill_lower 4 will set all bots that join the game to no lower than a skill level of 4.
|
bot_skill_1_aim
|
This command will affect the accuracy of all bots that have a skill of 1 (highest skill level) in the game or that join the game.
- Syntax
bot_skill_1_aim <level>
- Parameters
<level>
- The level can range from 0, bots of skill 1 will have the best accuracy possible, to 200 bots of skill 1 will have the worst accuracy possible.
- Example
bot_skill__aim 10 will set all bots with a skill level of 1 to have moderately accurate aiming.
|
bot_aim_per_skill
|
This command will affect the accuracy of all bots that have a skill between 2 and 5 in the game or that join the game. It sets the difference in inaccuracy between one bot skill level and the next.
- Syntax
bot_aim_per_skill <level>
- Parameters
<level>
- Ranges from 5 to 50. For example, if you set it to 20 and bots of skill level 1 have an inaccuracy of 30 then a bot of skill 2 will have an inaccuracy of 50, and a bot of skill level 3 will have an inaccuracy of 70.
- Example
bot_aim_per_skill 20 will set the skill of bots of skill between 2 and 5 to be incrementally 20 higher than what skill level of bot_skill_1_aim is set at.
|
bot_chat
|
This command lets you influence how often the bots trash talk.
- Syntax
bot_chat <number>
- Parameters
<number>
- Ranges from 0, meaning none at all, to 1000, being very frequently.
- Example
bot_chat 950 will make all bots trash talk quiet often.
|
min_bots
|
If nonzero, a minimum number of bots is maintained.
- Syntax
min_bots <number>
- Parameters
<number>
- Ranges from 0 to 32. Sets the minimum number of bots on the server. -1 disables this command
- Example
min_bots 10 will ensure there are at least 10 bots on the server.
|
max_bots
|
If nonzero, a maximum number of bots is maintained.
- Syntax
max_bots <number>
- Parameters
<number>
- Ranges from 0 to 32. Sets the maximum number of bots on the server. -1 disables this command
- Example
max_bots 15 will ensure there are no more than 15 bots on the server.
|
bot_total_varies
|
If zero, command is disabled.
0 - 3
When this setting is set to 1, 2, or 3 the number of bots on the server will fluctuate from min_bots to max_bots randomly(to simulate playing on an Internet public server).
The higher you set it the more often the numbers of bots playing will change.
- Syntax
bot_total_varies <number>
- Parameters
<number>
- 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.
|