Combine this with
caxanga334's Bot Auto-Balance plugin‼
We host a TF2 server with a LOT of maps and gamemodes, but here's the deal: they don't all support bots.
So what about the maps that do support bots, then? Well, there were few issues such as:
- I had to manually set
tf_bot_quotaandtf_bot_quota_mode fillwhenever needed.- And remove bots on maps that do not support bots, so they don't needlessly take up player slots (because they'd just be standing still).
- I don't always know whether a map supports bots or not.
- TFBots kind of suck— they do the job, but they're only supported in a handful of gamemodes, and they're a bit too dumb for my own liking as well.
- I found out about custom bots such as RCBot2 and NavBot, but I don't want to manually alternate between RCBots and TFBots depending on whether waypoints or navmeshes are available.
Note
Despite the integration of agnostic third-parties (NavBot, RCBot2, ...), this has primarily been made for, and tested in, Team Fortress 2. Pull requests are welcome‼
This plugin automatically adds/removes bots for you depending on the map. Here's a table to explain this better:
| Type | Result |
|---|---|
| NavBot Nav. Mesh | Spawn NavBots. |
| Waypoint | Spawn RCbots. |
| Valve Nav. Mesh | Spawn TFBots. |
| No bot paths available... | All bots are removed. |
The priority order is: NavBot > RCBot > TFBot > None.
Bot join/leave messages don't show up in chat to prevent spam.
Note
In Mann Vs. Machine, the quota will be based on tf_mvm_defenders_team_size's value instead of sm_bot_ratio.
The bots will pick a name depending on their player model (e.g. models/player/scout.mdl → Scout).
This is all configurable in addons/sourcemod/configs/bots_fun.cfg.
When all humans have died, the round ends pre-maturely so players won't have to sit and wait until bots are done.
| Name | Description |
|---|---|
sm_nav_info / sm_bot |
Displays information about bot support. |
Note
nav_generate and nav_generate_incremental have also gotten their cheat flags removed!
| Name | Default | Description |
|---|---|---|
sm_bot_enabled |
1 |
Toggle the plugin. |
sm_bot_ratio |
0.25 |
Ratio of the bot quota to max players (0.0 – 1.0). |
sm_navbot_bot_quota |
0 |
Determines the total number of navbots in the game. |
sm_navbot_bot_quota_mode |
normal |
Determines the type of quota. Allowed values: 'normal', 'fill'. If 'fill', the server will adjust bots to keep N players in the game, where N is bot_quota. |
rcbot_bot_quota |
0 |
Determines the total number of RCBot clients in the game. |
rcbot_bot_quota_mode |
normal |
Determines the type of RCBot quota: normal or fill. If fill, the server keeps N players, where N is the quota. |
sm_bot_humans_only |
1 |
End the round prematurely in Arena Mode / Sudden Death when all human players are dead. |
sm_bot_rename_bots |
1 |
If enabled, bots will be renamed based on their player model. |