Foxbot: Difference between revisions
SirYodaJedi (talk | contribs) m (Undo revision 271123 by SirYodaJedi (talk) nah, that'd be ugly) Tag: Undo |
SirYodaJedi (talk | contribs) (Copy actual wikitext) |
||
Line 2: | Line 2: | ||
{{wip}} | {{wip}} | ||
==Foxbot | No bots are included with Team Fortress Classic; however 3<sup>rd</sup> party bot plugins are available. The following section lists the most popular bots available with a list of strengths and weaknesses, and a list of commands. | ||
* 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. | |||
* 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. | The following represent popular bots: | ||
* Foxbot is still being updated ( | *FoxBot | ||
*Oddbot | |||
*HPBbot | |||
*ABot | |||
== Foxbot == | |||
====Foxbot Behavior==== | |||
* Foxbot was devised by Tom 'RedFox' Simpson then it was taken over by [http://omni-bot.invisionzone.com/index.php?/user/1653-zybby/ Zybby] until 2010. FoxBot can be downloaded from this link. [https://apg-clan.org/vbdownloads.php?do=download&downloadid=980/ 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. [https://apg-clan.org/vbdownloads.php?do=download&downloadid=266 500+ Foxbot Waypoints package] | |||
* Foxbot is still being updated (last update was August 2018). [https://github.com/APGRoboCop/foxbot FoxBot Github] | |||
* Foxbots offer the following traits: | * Foxbots offer the following traits: | ||
* Variable Skill | :*Variable Skill | ||
* Chat personalities available (aggressive, sarcastic, humorous, etc.) | :*Chat personalities available (aggressive, sarcastic, humorous, etc.) | ||
* Attempt to report | :*Attempt to report location of dropped flags | ||
* Bots will change classes if they are doing poorly against a particular threat | :*Bots will change classes if they are doing poorly against a particular threat | ||
* If playing as civilian class, will attempt to stay near allies | :*If playing as [[Civilian (Classic)|civilian]] class, will attempt to stay near allies | ||
Foxbot has been developed by: | Foxbot has been developed by: | ||
* Tom "RedFox" Simpson | *Tom "RedFox" Simpson | ||
* Jordan Aka FURY | *Jordan Aka FURY | ||
* Jeremy Aka DrEvil | *Jeremy Aka DrEvil | ||
* Paul Aka GoaT_RopeR | *Paul Aka GoaT_RopeR | ||
* Grubber | *Grubber | ||
* Yuraj | *Yuraj | ||
* Richard Aka Zybby | *Richard Aka Zybby | ||
Special thanks to: | Special thanks to: | ||
* RoboCop | *Ryan "RoboCop" Hunter | ||
*Safety1st | |||
* Safety1st | *Arkshine | ||
* Arkshine | *Globoss | ||
* Globoss | *pizzahut | ||
* pizzahut | |||
==Foxbot | ===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. | |||
{| class="wikitable" | {| class="wikitable grid" | ||
! class="header" | Command | |||
! class="header" | Description | |||
|- | |- | ||
|{{mono|<big>'''addbot'''</big>}} | |||
|This command will create one bot. | |||
;Syntax: <code>addbot [<''team''>] [<''class''>] [<''name''>] [<''skill''>]</code> | |||
;Parameters: | |||
:<code><''team''></code> | |||
::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. | |||
:<code><''class''></code> | |||
::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 | |||
:<code><''name''></code> | |||
::Specifies the name to assign the bot. | |||
:<code><''skill''></code> | |||
::Sets the skill level for the bot. Skill can be 1 being best to 5 being worst. | |||
;Example: <code>botadd 1 3 TFC_bot 1</code> will spawn a Soldier named ''TFC_bot'' with a high skill level. | |||
|- | |- | ||
| | |{{mono|<big>'''botskill_upper'''</big>}} | ||
|Sets the best possible skill level to be randomly assigned to bots that join the game automatically. | |||
;Syntax: <code>botskill_upper <''level''></code> | |||
;Parameters: | |||
:<code><''level''></code> | |||
::Ranges from 1 being best to 5 being worst. Default is 1 (highest). | |||
;Example: <code>botskill_upper 2</code> will set all bots that join the game to no higher than a skill level of 2. | |||
|- | |- | ||
| | |{{mono|<big>'''botskill_lower'''</big>}} | ||
|Sets the worst possible skill level to be randomly assigned to bots that join the game automatically. | |||
;Syntax: <code>botskill_lower <''level''></code> | |||
;Parameters: | |||
:<code><''level''></code> | |||
::Ranges from 1 being best to 5 being worst. Default is 3 (medium). | |||
;Example: <code>botskill_lower 4</code> will set all bots that join the game to no lower than a skill level of 4. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_skill_1_aim'''</big>}} | ||
|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: <code>bot_skill_1_aim <''level''></code> | |||
;Parameters: | |||
:<code><''level''></code> | |||
:: 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: <code>bot_skill_1_aim 10</code> will set all bots with a skill level of 1 to have moderately accurate aiming. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_aim_per_skill'''</big>}} | ||
|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: <code>bot_aim_per_skill <''level''></code> | |||
;Parameters: | |||
:<code><''level''></code> | |||
:: 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: <code>bot_aim_per_skill 20</code> 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. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_chat'''</big>}} | ||
|This command lets you influence how often the bots ''"trash talk"''. | |||
;Syntax: <code>bot_chat <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Ranges from 0, meaning none at all, to 1000, being very frequently. Default is 100. | |||
;Example: <code>bot_chat 950</code> will make all bots ''"trash talk"'' quite often. | |||
|- | |- | ||
| | |{{mono|<big>'''min_bots'''</big>}} | ||
|If nonzero, a minimum number of bots is maintained. | |||
;Syntax: <code>min_bots <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Ranges from 0 to 32. Sets the minimum number of bots on the server. -1 disables this command. Default is 12. | |||
;Example: <code>min_bots 10</code> will ensure there are at least 10 bots on the server. | |||
|- | |- | ||
| | |{{mono|<big>'''max_bots'''</big>}} | ||
|If nonzero, a maximum number of bots is maintained. | |||
;Syntax: <code>max_bots <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Ranges from 0 to 32. Sets the maximum number of bots on the server. -1 disables this command. Default is 20. | |||
;Example: <code>max_bots 15</code> will ensure there are no more than 15 bots on the server. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_total_varies'''</big>}} | ||
|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: <code>bot_total_varies <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::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: <code>bot_total_varies 3</code> cause the number of bots to fluctuate between the min_bots and max_bots number somewhat frequently. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_team_balance'''</big>}} | ||
|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: <code>bot_team_balance <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Either 1 or 0. Default is 0 (disabled). | |||
;Example: <code>bot_team_balance 1</code> allow bots to automatically switch teams if they become uneven. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_bot_balance'''</big>}} | ||
|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: <code>bot_bot_balance <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Either 1 or 0. Default is 0 (disabled). | |||
;Example: <code>bot_bot_balance 1</code> allow bots to automatically switch teams to maintain an even human to bot ratio. | |||
|- | |- | ||
| | |{{mono|<big>'''pause'''</big>}} | ||
|The delay in seconds before bots join a game. | |||
;Syntax: <code>pause <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Ranges from 0 to 100. Default is 2. | |||
;Example: <code>pause 25</code> will cause added bots after waiting 25 seconds. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_create_interval'''</big>}} | ||
|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: <code>bot_create_interval <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Ranges between 1 and 8. Default is 2. | |||
;Example: <code>bot_create_interval 3</code> will force a 3 second wait between the creation of each bot. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_xmas'''</big>}} | ||
|Determines whether the bots will celebrate Christmas/birthday mode. | |||
;Syntax: <code>bot_xmas <''on/off''></code> | |||
;Parameters: | |||
:<code><''on/off''></code> | |||
::Either on or off. Default is off. | |||
;Example: <code>bot_xmas on</code> will allow bots to celebrate Christmas/birthday mode | |||
|- | |- | ||
| | |{{mono|<big>'''bot_allow_moods'''</big>}} | ||
|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: <code>bot_allow_moods <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Either 1 or 0. Default is 1 (enabled). | |||
;Example: <code>bot_allow_moods 1</code> will allow bots to have random personality traits. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_allow_humor'''</big>}} | ||
|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: <code>bot_allow_humor <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Either 1 or 0. Default is 1 (enabled). | |||
;Example: <code>bot_allow_humor 1</code> will allow bots to act randomly. | |||
|- | |- | ||
| | |{{mono|<big>'''defensive_chatter'''</big>}} | ||
|If enabled, bots will announce defense related messages. | |||
;Syntax: <code>defensive_chatter <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Either 1 or 0. Default is 1 (enabled). | |||
;Example: <code>defensive_chatter 1</code> will allow bots to utilize defensive related chatter. | |||
|- | |- | ||
| | |{{mono|<big>'''offensive_chatter'''</big>}} | ||
|If enabled, bots will announce offense related messages. | |||
;Syntax: <code>offensive_chatter <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Either 1 or 0. Default is 1 (enabled). | |||
;Example: <code>offensive_chatter 1</code> will allow bots to utilize offensive related chatter. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_can_use_teleporter'''</big>}} | ||
|If enabled, bots will use Teleporters, if appropriate. | |||
;Syntax: <code>bot_can_use_teleporter <''on/off''></code> | |||
;Parameters: | |||
:<code><''on/off''></code> | |||
::Either on or off. Default is on. | |||
;Example: <code>bot_can_use_teleporter on</code> will allow bots to use Teleporters. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_can_build_teleporter'''</big>}} | ||
|If enabled, bots will attempt to build Teleporters, if appropriate. | |||
;Syntax: <code>bot_can_build_teleporter <''on/off''></code> | |||
;Parameters: | |||
:<code><''on/off''></code> | |||
::Either on or off. Default is on. | |||
;Example: <code>bot_can_build_teleporter on</code> will allow bots to construct Teleporters. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_use_grenades'''</big>}} | ||
|If enabled, bots use grenades at appropriate times. | |||
;Syntax: <code>bot_use_grenades <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::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: <code>bot_use_grenades 1</code> will allow bots to use grenades only for concussion jumping. | |||
|- | |- | ||
| | |{{mono|<big>'''botdontshoot'''</big>}} | ||
|Sets whether or not the bots will shoot. When enabled, bots will run past each other without shooting. | |||
;Syntax: <code>botdontshoot <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::Any number is accepted. Default state is DISABLED. | |||
:::0 = DISABLED ==> Bots shoot. | |||
:::Any other integer = ENABLED ==> Bots don't shoot. | |||
;Example: <code>botdontshoot 1</code> will force the bots not to shoot. | |||
|- | |- | ||
| | |{{mono|<big>'''bot_info'''</big>}} | ||
|Shows foxbot information: foxbot variables, foxbot info, & foxbot version. | |||
;Syntax: <code>bot_info</code> | |||
;Parameters: | |||
:'''none''' | |||
;Example: <code>bot_info</code> will display foxbot variables, foxbot info, and foxbot version. | |||
|- | |- | ||
| | |{{mono|<big>'''botcam'''</big>}} | ||
|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: <code>botcam <''botname''></code> | |||
;Parameters: | |||
:<code><''botname''></code> | |||
::botname is the name of the bot you wish to see. | |||
;Example: <code>botcam TFC_bot</code> will let you see what '''TFC_bot''' is looking at. | |||
|- | |- | ||
| | |{{mono|<big>'''spectate_debug'''</big>}} | ||
|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: <code>spectate_debug <''number''></code> | |||
;Parameters: | |||
:<code><''number''></code> | |||
::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: <code>spectate_debug 1</code> will show what waypoints the bot is thinking about. | |||
|- | |- | ||
| | |{{mono|<big>'''kick'''</big>}} | ||
|Kicks a bot. | |||
;Syntax: <code>kick <''botname''></code> | |||
;Parameters: | |||
:<code><''botname''></code> | |||
::botname is the name of the bot you wish to see. | |||
;Example: <code>kick TFC_bot</code> will kick TFC_bot from the server. | |||
|- | |- | ||
| | |{{mono|<big>'''kickall'''</big>}} | ||
| | |Kicks all bots. | ||
;Syntax: <code>kickall</code> | |||
;Parameters: | |||
:'''none''' | |||
;Example: <code>kickall</code> will kick all bots from the server. | |||
|} | |} | ||
==Foxbot | == Foxbot Changelog == | ||
-------------------------------------------------------------------------------- | |||
Version 0.791 | |||
August-07-2018 | |||
Updated by RoboCop | |||
-------------------------------------------------------------------------------- | |||
- Removed unwanted tchar.h dependancies that are no longer required - Thanks to Globoss | |||
- Linux build should now work for Assault and Capture Point maps due to syntax error fixed - Thanks to Globoss | |||
- Fixed Write Strings and compile time for version.cpp that fails on GCC 6+ | |||
- Fixed extdll.h that appears to fail to compile on GCC 6+ for #ifndef min and max | |||
- Added optimisation for faster float point for Win32 build | |||
- Linux build optimised for floating-point arithmetic and tuned for newer arch | |||
- bot_job_think.cpp should be fairly adjusted for the bots to choose their paths and tasks wisely | |||
- h_export.cpp Linux 'h_Library' can now detect both old and new TFC server build (tfc.so or tfc_i386.so) | |||
- Added teleport waypoints for baconbowl_r, chimkey_l and siege | |||
- Added more map configs for rats maps, plus turkeyburgers2002, fishburgers and donutburgers to spawn 1 Sniper per 4 teams | |||
- Enhanced the map configs for the Assault & Defend maps, rock2 and flagrun to spawn the recommended bot classes for each team | |||
- Enhanced the hunted waypoints to prevent the Red team and the Hunted wondering back and forth in entrance tunnel | |||
- Added some more defensive waypoints for avanti, casbah, flagrun, chimkey_l and warpath | |||
* bot_job_think.cpp | - Added some important conc/rocket jump waypoints for the stock maps, palermo, ksour, cornfield, baconbowl_r and sandbowl_r2 | ||
- Reduced the risk of bots invading enemy spawns for the stock maps, chimkey_l, tf2fort and ksour | |||
- Reduced excessive waypoint and pathwaypoint quantity for rats, rats2 and rats3, rats_cmd, palermo and baconbowl_r | |||
- Removed non recommended waypoints for Dustbowl that includes sentry that are not suitable for defending CP3 | |||
- Fixed the waypoint problems for 55, openfire_lowgrens, xpress2k4, destroy_l, phantom, shutdown2, sandbowl_r2 and tf2fort | |||
- Added new waypoints for bases2k3, momentum_l, mortality_l and hellion | |||
Known bugs:- | |||
>> botdontmove, bot_chat, bot_bot_balance and bot_team_balance cvars may not be 100% operational | |||
>> FoxBot appears to crash sometimes on Windows Listenservers | |||
-------------------------------------------------------------------------------- | |||
Version 0.79 | |||
December-23-2016 | |||
Updated by RoboCop | |||
-------------------------------------------------------------------------------- | |||
- Renamed Win32 binary 'foxbot.dll' as 'foxbot_mm.dll' | |||
- Both builds recompiled and added some FPU compile flag support for SSE2 | |||
- Removed further HLDM and Op4 support | |||
- Fixed the 'check if entity is a Dispenser' coding that was mistyped | |||
- Enhanced the Dustbowl waypoints for preventing blue bots from going backwards | |||
- Enhanced the shutdown2 waypoints for preventing bots from spawn camping | |||
- Enhanced the cornfield waypoints for using detpack and more teleports | |||
- Increased bot priority tasks for allowing Engineers to focus more on building | |||
- Removed ammo waypoints located in Nade Bag locations to reduce bots taking grenades to allow humans to obtain them | |||
- Added some important concjump points for certain stock maps plus for palermo, destroy_l and shutdown2 | |||
- Added important FoxBot Map and Class Restriction map configs for TFC for like Sniper only maps and hunted | |||
- Added 'foxbot_mm_i686.so' Linux HLDSUpdatetool TFC compatible binary version for legacy support | |||
- Added teleport waypoints for warpath, shutdown2, avanti, schtop, monkey_l, ksour and palermo | |||
- New waypoints for 55, openfire_lowgrens, rats, rats2, rats3, xpress2k4, destroy_l, phantom, rats_cmd and tf2fort | |||
*baconbowl_r, siege, high_flag, mortality_l, ss_nyx_ectfc, alchimy_l2, bases2k3 and hellion (coming soon!) | |||
>> Known issues - botdontmove and bot_team_balance cvars not operational and experimenting with bot_job_think.cpp | |||
for equalising and to balance the bot task priority to act more professional | |||
-------------------------------------------------------------------------------- | |||
Version 0.78 | |||
August-20-2016 | |||
Updated by RoboCop | |||
-------------------------------------------------------------------------------- | |||
- Added 'bot_team_balance' external integer for bot.cpp | |||
- Fixed the unwanted 'const' for the bot global variables that fail for Win32 build | |||
- Drop the '_i386' suffix build name for Linux binary version | |||
- Both builds compiled for SteamPipe using HLSDK v2.3p4 and Metamod v1.21-p37 source codes | |||
- Fixed the 'snprint' script that was used for the older FoxBot cpp files | |||
- Removed non-required entities for TFC that were used from the HPB Template | |||
- Removed support for HLDM, CS, FLF and Op4 from HPB Template to focus support for TFC | |||
- Fixed code typo error for 'bot_max_inaccuracy' in bot_combat.cpp | |||
- Linux version optimised as i686 build and fixed Linux binary for TFC SteamPipe Servers | |||
- Both builds optimised for SSE2 code generation | |||
- Fixed '[META] WARNING: Plugin didn't set meta_result: foxbot.dll:engClientCommand()' | |||
that appears to be fixed from the newer HLSDK and Metamod kits | |||
- Added a config variable 'botdontmove' to spawn stationary bots for the purpose of minigolf maps | |||
[[Category:Team Fortress Classic]] | |||
Revision as of 10:26, 21 June 2023
This mod for GoldSrc has been released! Download it now.

As a courtesy, please do not edit this while this message is displayed.
If this page has not been edited for at least several hours to a few days, please remove this template. This message is intended to help reduce edit conflicts; please remove it between editing sessions to allow others to edit the page.
The person who added this notice will be listed in its edit history should you wish to contact them.
No bots are included with Team Fortress Classic; however 3rd party bot plugins are available. The following section lists the most popular bots available with a list of strengths and weaknesses, and a list of commands.
The following represent popular bots:
- FoxBot
- Oddbot
- HPBbot
- ABot
Foxbot
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 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.
|
botskill_upper | Sets the best possible skill level to be randomly assigned to bots that join the game automatically.
|
botskill_lower | Sets the worst possible skill level to be randomly assigned to bots that join the game automatically.
|
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.
|
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.
|
bot_chat | This command lets you influence how often the bots "trash talk".
|
min_bots | If nonzero, a minimum number of bots is maintained.
|
max_bots | If nonzero, a maximum number of bots is maintained.
|
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.
|
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.
|
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.
|
pause | The delay in seconds before bots join a game.
|
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.
|
bot_xmas | Determines whether the bots will 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.
|
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.
|
defensive_chatter | If enabled, bots will announce defense related messages.
|
offensive_chatter | If enabled, bots will announce offense related messages.
|
bot_can_use_teleporter | If enabled, bots will use Teleporters, if appropriate.
|
bot_can_build_teleporter | If enabled, bots will attempt to build Teleporters, if appropriate.
|
bot_use_grenades | If enabled, bots use grenades at appropriate times.
|
botdontshoot | Sets whether or not the bots will shoot. When enabled, bots will run past each other without shooting.
|
bot_info | Shows foxbot information: foxbot variables, foxbot info, & 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.
|
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.
|
kick | Kicks a bot.
|
kickall | Kicks all bots.
|
Foxbot Changelog
Version 0.791 August-07-2018 Updated by RoboCop
- Removed unwanted tchar.h dependancies that are no longer required - Thanks to Globoss
- Linux build should now work for Assault and Capture Point maps due to syntax error fixed - Thanks to Globoss
- Fixed Write Strings and compile time for version.cpp that fails on GCC 6+
- Fixed extdll.h that appears to fail to compile on GCC 6+ for #ifndef min and max
- Added optimisation for faster float point for Win32 build
- Linux build optimised for floating-point arithmetic and tuned for newer arch
- bot_job_think.cpp should be fairly adjusted for the bots to choose their paths and tasks wisely
- h_export.cpp Linux 'h_Library' can now detect both old and new TFC server build (tfc.so or tfc_i386.so)
- Added teleport waypoints for baconbowl_r, chimkey_l and siege
- Added more map configs for rats maps, plus turkeyburgers2002, fishburgers and donutburgers to spawn 1 Sniper per 4 teams
- Enhanced the map configs for the Assault & Defend maps, rock2 and flagrun to spawn the recommended bot classes for each team
- Enhanced the hunted waypoints to prevent the Red team and the Hunted wondering back and forth in entrance tunnel
- Added some more defensive waypoints for avanti, casbah, flagrun, chimkey_l and warpath
- Added some important conc/rocket jump waypoints for the stock maps, palermo, ksour, cornfield, baconbowl_r and sandbowl_r2
- Reduced the risk of bots invading enemy spawns for the stock maps, chimkey_l, tf2fort and ksour
- Reduced excessive waypoint and pathwaypoint quantity for rats, rats2 and rats3, rats_cmd, palermo and baconbowl_r
- Removed non recommended waypoints for Dustbowl that includes sentry that are not suitable for defending CP3
- Fixed the waypoint problems for 55, openfire_lowgrens, xpress2k4, destroy_l, phantom, shutdown2, sandbowl_r2 and tf2fort
- Added new waypoints for bases2k3, momentum_l, mortality_l and hellion
Known bugs:-
>> botdontmove, bot_chat, bot_bot_balance and bot_team_balance cvars may not be 100% operational
>> FoxBot appears to crash sometimes on Windows Listenservers
Version 0.79 December-23-2016 Updated by RoboCop
- Renamed Win32 binary 'foxbot.dll' as 'foxbot_mm.dll'
- Both builds recompiled and added some FPU compile flag support for SSE2
- Removed further HLDM and Op4 support
- Fixed the 'check if entity is a Dispenser' coding that was mistyped
- Enhanced the Dustbowl waypoints for preventing blue bots from going backwards
- Enhanced the shutdown2 waypoints for preventing bots from spawn camping
- Enhanced the cornfield waypoints for using detpack and more teleports
- Increased bot priority tasks for allowing Engineers to focus more on building
- Removed ammo waypoints located in Nade Bag locations to reduce bots taking grenades to allow humans to obtain them
- Added some important concjump points for certain stock maps plus for palermo, destroy_l and shutdown2
- Added important FoxBot Map and Class Restriction map configs for TFC for like Sniper only maps and hunted
- Added 'foxbot_mm_i686.so' Linux HLDSUpdatetool TFC compatible binary version for legacy support
- Added teleport waypoints for warpath, shutdown2, avanti, schtop, monkey_l, ksour and palermo
- New waypoints for 55, openfire_lowgrens, rats, rats2, rats3, xpress2k4, destroy_l, phantom, rats_cmd and tf2fort
- baconbowl_r, siege, high_flag, mortality_l, ss_nyx_ectfc, alchimy_l2, bases2k3 and hellion (coming soon!)
>> Known issues - botdontmove and bot_team_balance cvars not operational and experimenting with bot_job_think.cpp for equalising and to balance the bot task priority to act more professional
Version 0.78 August-20-2016 Updated by RoboCop
- Added 'bot_team_balance' external integer for bot.cpp
- Fixed the unwanted 'const' for the bot global variables that fail for Win32 build
- Drop the '_i386' suffix build name for Linux binary version
- Both builds compiled for SteamPipe using HLSDK v2.3p4 and Metamod v1.21-p37 source codes
- Fixed the 'snprint' script that was used for the older FoxBot cpp files
- Removed non-required entities for TFC that were used from the HPB Template
- Removed support for HLDM, CS, FLF and Op4 from HPB Template to focus support for TFC
- Fixed code typo error for 'bot_max_inaccuracy' in bot_combat.cpp
- Linux version optimised as i686 build and fixed Linux binary for TFC SteamPipe Servers
- Both builds optimised for SSE2 code generation
- Fixed '[META] WARNING: Plugin didn't set meta_result: foxbot.dll:engClientCommand()' that appears to be fixed from the newer HLSDK and Metamod kits
- Added a config variable 'botdontmove' to spawn stationary bots for the purpose of minigolf maps