Quota Control
rbot_quotaTarget maintained bot count — the number of bots the quota maintainer loop will aim to keep active.
Clamped to [0, maxClients]. Can be continuously overridden by rbot_auto_players. The one-shot rbot_quota_save can persist changes to config.
rbot_force_teamTeam join preference for bots during team selection.
Accepts: any, t, ct, 1 (T), 2 (CT). When set to a specific team, bots will always try to join that side.
rbot_auto_playersAuto-target bot count based on player occupancy — desiredBots = auto_players - currentHumans.
Set to -1 to disable. When enabled, this continuously rewrites the effective quota as human players join and leave.
rbot_auto_players is active (not -1), it continuously rewrites the effective quota based on current human occupancy. This takes priority over the static rbot_quota value.rbot_quota_saveOne-shot trigger: sets and persists the current quota to the config file, then resets itself to -1.
On the next quota maintainer check, it writes the quota value, syncs the config, and resets this cvar to -1. Only the write happens once.
rbot_quota_save is a one-shot trigger. After firing, it resets itself to -1. Do not use it as a persistent flag.rbot_difficultyDefault difficulty profile used when bots are added via the random skill generation path.
rbot_min_skillMinimum skill value used during random bot skill generation.
Used together with rbot_max_skill to define the skill range for randomized bots.
rbot_max_skillMaximum skill value used during random bot skill generation.
Used together with rbot_min_skill to define the skill range for randomized bots.
rbot_name_tagControls how bot names are displayed on the scoreboard.
0 = raw name. 1 = [RBOT] name. 2 = [RBOT] name (skill).
rbot_auto_vacateReduces the desired bot count automatically to keep player slots open.
When enabled, the quota maintainer uses maxClients - (humans + 1) as a safety cap to always leave at least one open slot for human players.
rbot_save_bot_namesRecycles saved bot names across add/remove cycles where possible.
rbot_think_fpsTarget frequency for the bot think update loop.
Minimum is forced to 1.0. Higher values make bots react faster at the cost of server CPU.
Realistic Playtime Mode
rbot_realistic_playtimeSwitches population control from the normal quota maintainer to a wave-based join/leave model.
When enabled, bots join and leave in periodic waves driven by average amount plus variation logic, simulating natural server activity patterns.
rbot_realistic_playtime=1 completely bypasses the normal quota maintainer. Bot population is then controlled entirely by the wave timing settings below.rbot_realistic_avg_amountBase bot count for realistic playtime waves.
The actual count per wave varies around this average using the stay min/max time parameters.
rbot_realistic_stay_mintimeMinimum delay window before the next realistic playtime adjustment wave.
Together with rbot_realistic_stay_maxtime, defines a random wait time between bot count adjustments.
rbot_realistic_stay_maxtimeMaximum delay window before the next realistic playtime adjustment wave.
Together with rbot_realistic_stay_mintime, defines a random wait time between bot count adjustments.