Foxbot

From Valve Developer Community
Jump to navigation Jump to search
Underlinked - Logo.png
This article needs more Wikipedia icon links to other articles to help Wikipedia icon integrate it into the encyclopedia. Please help improve this article by adding links Wikipedia icon that are relevant to the context within the existing text.
January 2024

Icon-Released.png

This mod for GoldSrc has been released! Download it now.

Foxbot is a server-side bot for Team Fortress Classic Team Fortress Classic.

Foxbot Behavior

  • Foxbot was devised by Tom 'RedFox' Simpson then it was taken over by Zybby until 2010. FoxBot can be downloaded from this link. FoxBot v0.78 + FoxBot v0.791 ZIP
  • Foxbot relies on a system of navigation controls, called waypoints, specific to each map. 523 waypoints, for nearly as many maps, come with the installation of FoxBot. 500+ Foxbot Waypoints package
  • Foxbot is still being updated (last update was August 2018). FoxBot Github
  • Foxbots offer the following traits:
  • Variable Skill
  • Chat personalities available (aggressive, sarcastic, humorous, etc.)
  • Attempt to report location of dropped flags
  • Bots will change classes if they are doing poorly against a particular threat
  • If playing as Tfwiki favicon.png civilian class, will attempt to stay near allies

Foxbot has been developed by:

  • Tom "RedFox" Simpson
  • Jordan Aka FURY
  • Jeremy Aka DrEvil
  • Paul Aka GoaT_RopeR
  • Grubber
  • Yuraj
  • Richard Aka Zybby

Special thanks to:

  • Ryan "RoboCop" Hunter
  • Safety1st
  • Arkshine
  • Globoss
  • pizzahut

Foxbot Commands

For Foxbot to work properly, a map with a proper waypoint must be used. Foxbot's installation provides waypoints for 527 maps, including all Team Fortress Classic standard maps and deathmatch maps from Half-life.

Command Description
addbot This command will create 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. Default is 1 (highest).
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. Default is 3 (medium).
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. Default is 30.
Example
bot_skill_1_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. Default is 10.
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. Default is 100.
Example
bot_chat 950 will make all bots "trash talk" quite 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. Default is 12.
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. Default is 20.
Example
max_bots 15 will ensure there are no more than 15 bots on the server.
bot_total_varies Sets the number of bots on the server to fluctuate from min_bots to max_bots randomly. This simulates players on an Internet public server. If zero, command is disabled.
Syntax
bot_total_varies <number>
Parameters
<number>
Ranges from 0 to 3. The higher you set it the more often the numbers of bots playing will change. 0 disables this command. Default is 2.
Example
bot_total_varies 3 cause the number of bots to fluctuate between the min_bots and max_bots number somewhat frequently.
bot_team_balance This command will allow bots to automatically switch when teams become uneven. If disabled, bots will attempt to decide for themselves if and when they balance the teams out.
Syntax
bot_team_balance <number>
Parameters
<number>
Either 1 or 0. Default is 0 (disabled).
Example
bot_team_balance 1 allow bots to automatically switch teams if they become uneven.
bot_bot_balance This command will attempt to maintain an even bot to human ratio between the teams. There may be bugs associated with this command. If disabled, bots will attempt to decide for themselves if and when they balance the teams out.
Syntax
bot_bot_balance <number>
Parameters
<number>
Either 1 or 0. Default is 0 (disabled).
Example
bot_bot_balance 1 allow bots to automatically switch teams to maintain an even human to bot ratio.
pause The delay in seconds before bots join a game.
Syntax
pause <number>
Parameters
<number>
Ranges from 0 to 100. Default is 2.
Example
pause 25 will cause added bots after waiting 25 seconds.
bot_create_interval Time(measured in seconds) between auto-creating one bot and the next. Note: On slower machines and/or old versions of TFC setting this to 1 or 2 might (or might not) cause your server to crash (caused by a Half-Life bug).Setting this to 3 will be safe if settings 1 or 2 cause any instability.
Syntax
bot_create_interval <number>
Parameters
<number>
Ranges between 1 and 8. Default is 2.
Example
bot_create_interval 3 will force a 3 second wait between the creation of each bot.
bot_xmas Determines whether the bots will celebrate Christmas/birthday mode.
Syntax
bot_xmas <on/off>
Parameters
<on/off>
Either on or off. Default is off.
Example
bot_xmas on will allow bots to celebrate Christmas/birthday mode
bot_allow_moods If enabled, any bots created will be given random personality traits and/or moods. If disabled, all the bots to have the same personality profile.
Syntax
bot_allow_moods <number>
Parameters
<number>
Either 1 or 0. Default is 1 (enabled).
Example
bot_allow_moods 1 will allow bots to have random personality traits.
bot_allow_humor If enabled, bots are allowed to go crazy occasionally and do daft stuff such as using melee weapons only, or go looking for walls to graffiti.
Syntax
bot_allow_humor <number>
Parameters
<number>
Either 1 or 0. Default is 1 (enabled).
Example
bot_allow_humor 1 will allow bots to act randomly.
defensive_chatter If enabled, bots will announce defense related messages.
Syntax
defensive_chatter <number>
Parameters
<number>
Either 1 or 0. Default is 1 (enabled).
Example
defensive_chatter 1 will allow bots to utilize defensive related chatter.
offensive_chatter If enabled, bots will announce offense related messages.
Syntax
offensive_chatter <number>
Parameters
<number>
Either 1 or 0. Default is 1 (enabled).
Example
offensive_chatter 1 will allow bots to utilize offensive related chatter.
bot_can_use_teleporter If enabled, bots will use Teleporters, if appropriate.
Syntax
bot_can_use_teleporter <on/off>
Parameters
<on/off>
Either on or off. Default is on.
Example
bot_can_use_teleporter on will allow bots to use Teleporters.
bot_can_build_teleporter If enabled, bots will attempt to build Teleporters, if appropriate.
Syntax
bot_can_build_teleporter <on/off>
Parameters
<on/off>
Either on or off. Default is on.
Example
bot_can_build_teleporter on will allow bots to construct Teleporters.
bot_use_grenades If enabled, bots use grenades at appropriate times.
Syntax
bot_use_grenades <number>
Parameters
<number>
Ranges from 0 to 2. Default is 2.
0 = No grenade usage at all.
1 = Concussion jumping is allowed.
2 = The bots can use all grenades freely.
Example
bot_use_grenades 1 will allow bots to use grenades only for concussion jumping.
botdontshoot Sets whether or not the bots will shoot. When enabled, bots will run past each other without shooting.
Syntax
botdontshoot <number>
Parameters
<number>
Any number is accepted. Default state is DISABLED.
0 = DISABLED ==> Bots shoot.
Any other integer = ENABLED ==> Bots don't shoot.
Example
botdontshoot 1 will force the bots not to shoot.
bot_info Shows foxbot information: foxbot variables, foxbot info, & foxbot version.
Syntax
bot_info
Parameters
none
Example
bot_info will display foxbot variables, foxbot info, and foxbot version.
botcam The botcam allows you to see through the eyes of the bot showing what it sees and targets. It also reveals debug information about the bot.
Syntax
botcam <botname>
Parameters
<botname>
botname is the name of the bot you wish to see.
Example
botcam TFC_bot will let you see what TFC_bot is looking at.
spectate_debug This command only works on listen servers, and was created mainly for development use. When the (spectating) host player gets near to a bot some information will appear about the bot and the waypoints it is interested in.
Syntax
spectate_debug <number>
Parameters
<number>
Ranges from 0 to 3.
0 = off,
1 = show the bots job buffer(what it's thinking about),
2 = show any blacklisted jobs(any jobs it is temporarily ignoring),
3 = show some of the bots navigation info.
Example
spectate_debug 1 will show what waypoints the bot is thinking about.
kick Kicks a bot.
Syntax
kick <botname>
Parameters
<botname>
botname is the name of the bot you wish to see.
Example
kick TFC_bot will kick TFC_bot from the server.
kickall Kicks all bots.
Syntax
kickall
Parameters
none
Example
kickall will kick all bots from the server.

Changelog

Main article:  Foxbot/changelog