Bots in Counter-Strike 2

The presence of bots in Counter-Strike 2 offers players a valuable opportunity to refine their shooting skills. Even seasoned professionals occasionally utilize local servers to hone their aim against multiple opponents simultaneously. This practice not only strengthens reflexes but also deepens one’s understanding of the game. It’s crucial to acknowledge that while bot matches contribute to specific aspects of training, the unparalleled experience of facing real human adversaries remains unmatched.

Understanding Bots

A bot, in Counter-Strike 2, AI-controlled player that operates through predetermined algorithms, executing behavior patterns based on scripted instructions. Unlike true artificial intelligence, bots cannot learn, remember mistakes, or alter their strategies dynamically. Their primary function is to substitute for real players, adding an element of challenge while providing moments of excitement curated by developers.

Bot Difficulty

Gameplay scene on the Mansion map in Counter-Strike 2 featuring AI bots in action

Engaging with bots at different difficulty settings exposes players to diverse tactics and strategies, enhancing their overall game sense. The utilization of varying bot difficulty levels proves advantageous for training purposes. Facing bots with hard difficulty levels challenges players to enhance their aiming precision and reflexes, fostering improved shooting skills. Higher difficulty levels simulate the pressure of competitive scenarios, allowing players to build resilience and composure during intense moments.

Tuning Difficulty of Bots

In Counter-Strike 2, the “bot_difficulty” command regulates the difficulty level of bots within the game. The values range from 0 to 3, each representing a distinct difficulty level. The default values for Casual and Competitive matches are 1 (Normal) and 2 (Hard), respectively. Understanding the characteristics associated with each difficulty level, such as aggression, reaction time, teamwork, and movement efficiency, allows players to tailor the bot experience to their liking.
Here’s a breakdown of the values:
bot_difficulty 0: Easy difficulty. Bots have reduced accuracy, slower reaction times, and are generally easier to defeat.
bot_difficulty 1: Normal difficulty. Bots have average accuracy and reaction times.
bot_difficulty 2: Hard difficulty. Bots have improved accuracy and faster reaction times, providing a more challenging experience for players.
bot_difficulty 3: Expert difficulty. Bots have very high accuracy and almost instant reaction times, making them formidable opponents.
Commands like “bot_autodifficulty_threshold_low” and “bot_autodifficulty_threshold_high” offer further customization for bot difficulty adjustment. Setting appropriate values ensures that bots dynamically adapt to a player’s skill level. By adjusting these thresholds, players can influence when bots increase or decrease their difficulty levels, adding an extra layer of challenge.

Optimizing for Maximum Challenge

For those seeking the utmost challenge, specific command values can be set:
Set “bot_autodifficulty_threshold_low” to -20 for aggressive difficulty increases.
Set “bot_autodifficulty_threshold_high” to 0 to prevent difficulty decreases even during bot dominance.
Set “bot_difficulty” to 3 for an expert bot skill level.
Adjust “bot_quota” to the desired maximum number of bots.
Fine-tune team balance using “mp_autoteambalance” and “mp_limitteams” commands.

Command
Value
Effect
bot_difficulty
3
Initial bot skill level
bot_autodifficulty_threshold_low
-20
Bots aggressively increase difficulty when underperforming
bot_autodifficulty_threshold_high
0
Bots never decrease difficulty, even if dominating
bot_quota
20
The desired number of bots
mp_autoteambalance
0
Auto team balancing is disabled
mp_limitteams
0
Team player limit is disabled

Utilize the “bot_kick” command to kick all bots, and then add a specific number of proficient or easy bots to the desired team. Implement the “bot_add,” “bot_add_t,” or “bot_add_ct” command, specifying the difficulty level of the bots or the name of the bot if it exists.
However, a more optimal approach is to create a configuration file for bots and execute it as needed. If you’re unfamiliar with the process, please refer to my previous guides:

Optimizing COUNTER-STRIKE 2 Player Configuration Files
Optimizing COUNTER-STRIKE 2 Server Configuration Files

Let’s create a configuration file for an example game on the CT side:

  • Configure the server
  • Kick existing bots
  • Add four easy bots for the Counter-Terrorist side
  • Add ten expert bots for the Terrorist side
				
					//Configure the server
mp_buytime 60
mp_buy_anywhere 0
mp_freezetime 2
mp_friendlyfire 0
mp_maxmoney 15000
mp_maxrounds 20
mp_roundtime 1.6
mp_roundtime_hostage 2
mp_roundtime_defuse 2.25
mp_autoteambalance 0
mp_limitteams 0

// Set the difficulty
bot_autodifficulty_threshold_low -20
bot_autodifficulty_threshold_high 0
bot_difficulty 3

//Kick bots
bot_kick

//Add bots
bot_add_ct easy
bot_add_ct easy
bot_add_ct easy
bot_add_ct easy
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t expert

//Confirmation for just in case
echo The bot config has been loaded
				
			

Load the file from the console using the “exec” command.
Now you can engage in the game, experience victories or defeats, and perhaps even express frustration or accuse the bots of cheating, as these skilled opponents will provide a formidable challenge during gameplay.

Bots Templates

Counter-Strike 2 employs two types of templates: difficulty templates and weapon templates. Difficulty templates encompass the four difficulty levels, while weapon templates determine the arsenal of weapons some of the bots use. Essentially, a difficulty template is a set of bot characteristics. Each template includes two characteristics, main and additional.

Easy difficulty templates

				
					bot_add easy
bot_add_t easy
bot_add_ct easy
				
			

Template EASY

				
					Skill = 5
Rank = 600
Aggression = 10
ReactionTime = 0.60
AttackDelay = .70
Cost = 1
Difficulty = EASY
VoicePitch = 110
AimFocusInitial = 20
AimFocusDecay = 0.7
AimFocusOffsetScale = 0.6
AimfocusInterval = 0.70
				
			

Template FAIR

				
					Skill = 25
Rank = 850
Aggression = 15
ReactionTime = 0.60
AttackDelay = .90
Cost = 1
Difficulty = EASY
VoicePitch = 105
AimFocusInitial = 17
AimFocusDecay = 0.6
AimFocusOffsetScale = 0.5
AimfocusInterval = 0.70

				
			

Normal difficulty templates

				
					bot_add normal
bot_add_t normal
bot_add_ct normal
				
			

Template NORMAL

				
					Skill = 50
Rank = 1000
Aggression = 30
ReactionTime = 0.60
AttackDelay = .80
Cost = 2
Difficulty = NORMAL
VoicePitch = 101
AimFocusInitial = 12
AimFocusDecay = 0.5
AimFocusOffsetScale = 0.35
AimfocusInterval = 0.60
				
			

Template TOUGH

				
					Skill = 60
Rank = 1100
Aggression = 45
ReactionTime = 0.50
AttackDelay = .70
Cost = 2
Difficulty = NORMAL
VoicePitch = 96
AimFocusInitial = 10
AimFocusDecay = 0.4
AimFocusOffsetScale = 0.25
AimfocusInterval = 0.50
				
			

Hard difficulty templates

				
					bot_add hard
bot_add_t hard
bot_add_ct hard
				
			

Template HARD

				
					Skill = 75
Rank = 1300
Aggression = 60
ReactionTime = 0.40
Cost = 3
Difficulty = HARD
VoicePitch = 94
AimFocusInitial = 10
AimFocusDecay = 0.4
AimFocusOffsetScale = 0.20
AimfocusInterval = 0.40
				
			

Template VERY HARD

				
					Skill = 80
Rank = 1400
Aggression = 70
ReactionTime = 0.30
Cost = 3
Difficulty = HARD
VoicePitch = 92
AimFocusInitial = 5
AimFocusDecay = 0.3
AimFocusOffsetScale = 0.17
AimfocusInterval = 0.30
				
			

Expert difficulty templates

				
					bot_add expert
bot_add_t expert
bot_add_ct expert
				
			

Template EXPERT

				
					Skill = 90
Rank = 1600
Aggression = 80
ReactionTime = 0.20
Cost = 4
Difficulty = EXPERT
VoicePitch = 88
AimFocusInitial = 2
AimFocusDecay = 0.2
AimFocusOffsetScale = 0.15
AimfocusInterval = 0.20
				
			

Template ELITE

				
					Skill = 100
Rank = 1800
Aggression = 95
ReactionTime = 0.05
Cost = 4
Difficulty = EXPERT
VoicePitch = 85
AimFocusInitial = 0.5
AimFocusDecay = 0.1
AimFocusOffsetScale = 0.05
AimfocusInterval = 0.05
				
			

Weapon Templates

Template Rifle

				
					WeaponPreference = m4a1
WeaponPreference = ak47
WeaponPreference = famas
WeaponPreference = galilar
WeaponPreference = mp7
				
			

Template Punch

				
					WeaponPreference = aug
WeaponPreference = sg556
WeaponPreference = famas
WeaponPreference = galilar
WeaponPreference = mp7
				
			

Template Sniper

				
					WeaponPreference = awp
WeaponPreference = scar20
WeaponPreference = g3sg1
WeaponPreference = ssg08
WeaponPreference = famas
WeaponPreference = galilar
WeaponPreference = mp7
				
			

Template Power

				
						WeaponPreference = m249
	WeaponPreference = xm1014
	WeaponPreference = nova
	WeaponPreference = famas
	WeaponPreference = galilar
	WeaponPreference = mp7
				
			

Template Shotgun

				
					WeaponPreference = xm1014
WeaponPreference = nova
WeaponPreference = famas
WeaponPreference = galilar
WeaponPreference = mp7
				
			

Template Spray

				
					WeaponPreference = p90
WeaponPreference = mp9
WeaponPreference = mac10
WeaponPreference = mp7
				
			

List of Bot Names

The majority of bots in Counter-Strike 2 are equipped with specific weapon templates, except those set to easy difficulties. Additionally, a select few bots within the “Fair” difficulty tier also have assigned weapon templates.

				
					bot_add "name"
bot_add_t "name"
bot_add_ct "name"
// It is not necessary to use a capital letter in the bot name
				
			

Easy Difficulty: Template EASY

				
					Adonis
Azul
Bassey
Clarence
Colin
Conleth
Dashen
Dayo
Dios
Efe
Ferris
Frank
Greymouth
				
			
				
					Harvey
Hastings
Irwin
Larry
Maru
Mayer
Miguel
Niles
Oli
Opie
Panama
Pines
Rivers
				
			
				
					Telsen
Tony
Ulric
Ulysses
Uri
Vox
Waldo
Walt
Wesley
Yanni
York
Yuri
				
			

Easy Difficulty: Template FAIR

				
					Akutan + SPRAY
Comb
Faultline
Firwood
Gustov
Han
Heave
Hobart
				
			
				
					Hogarth
Kadeem
Kao
Kong
Longwa
Marlin
Milenski
Orin
				
			
				
					Orlo + SPRAY
Orlow
Sails
Sam
Shadow
Shaur
Terrington
Tom
				
			

Normal Difficulty: Template NORMAL

				
					Aggressor
Akani
Bluefish
Boxcar + RIFLE_T
Dabisi + RIFLE
Doc
Feliz
Francis
				
			
				
					Frank + PUNCH_T
Guerrilla + RIFLE
Hau
Hood
Imaru + SNIPER
Juuvy
Litmow + SNIPER
Luiro
				
			
				
					Masthead
Reaper
Sal
Severn
Striker
Vypa
Wiscar
				
			

Normal Difficulty: Template TOUGH

				
					Arno + RIFLE
Aspirant + RIFLE_T
Bank + SNIPER
Baroud
Crasswater + RIFLE_T
Getaway + RIFLE
Goggles + RIFLE
				
			
				
					Hugg + RIFLE
Jaques
k
Kev + RIFLE
Krikey + RIFLE
Mangos + RIFLE_T
Rex + RIFLE_T
				
			
				
					Rouchard + RIFLE
Solman + SNIPER
Sox + RIFLE
Squad + SHOTGUN
Strapper + RIFLE
Trapper + RIFLE_T
Voltzmann + RIFLE
				
			

Hard Difficulty: Template HARD

				
					Blackwolf + PUNCH_T
Darryl + SPRAY
Dragomir + SHOTGUN
Enforcer + PUNCH_T
Lieutenant + RIFLE_T
				
			
				
					Mae + RIFLE
Maximus + SPRAY
Officer + RIFLE
Rezan + PUNCH
Romanov + RIFLE_T
				
			
				
					Sarge + RIFLE
Sas + RIFLE
Skullhead + RIFLE
Slingshot + SNIPER
Specialist + RIFLE
				
			

Hard Difficulty: Template Very HARD

				
					Seal + POWER
Cavalry + SNIPER
Farlow + RIFLE
Kask + RIFLE_T
				
			

Expert Difficulty: Template EXPERT

				
					Ava + RIFLE_T
Buckshot + RIFLE
Commando
Delrow + PUNCH
McCoy + RIFLE
				
			
				
					Operator + SNIPER
Ricksaw + RIFLE
Rip + PUNCH_T
Soldier + SHOTGUN
Syfers + RIFLE
				
			

Expert Difficulty: Template ELITE

				
					Muhlik + RIFLE
Shamat + SPRAY
Crusher + SHOTGUN
Osiris + PUNCH
Rock + POWER
Shark + PUNCH_T
				
			
				
					Wolf + RIFLE
Gunner + RIFLE_T
Rebel + SNIPER
Crew + PUNCH
Steel + RIFLE_T
Stone + PUNCH_T
				
			

Console commands for Bots in CS2

As of today, the CS2 console incorporates around 60 commands designed for bot manipulation. These commands facilitate actions such as adding bots, kicking bots, freezing bots, adjusting difficulty levels, altering bot locations, and modifying the number of bots in play, among other functionalities. Additionally, there is a collection of server-related (sv_*) and multiplayer-related (mp_*) commands tailored for configuring bot behavior.

It's noteworthy that nearly half of these commands necessitate enabling cheats mode within CS2. Cheats can be activated by using the sv_cheats 1 command.

Command Key Description sv_cheats

bot_add

None/T/CT Difficulty Name

This command adds a bot to the game. If you specify a team T or CT, the bot will be added to that team. If not, the bot will be added to the random team. A random bot is added with a default template. If you specify a difficulty level of easy, fair, normal, hard, or expert, the bot will be added with such difficulty level. Also, you can specify a name for the bot if it exists in the database file (botprofile.db). Each bot (name/profile) has a default template however if specify difficulty level that it will be replaced with the specified. It is not necessary to specify the name of the bot with a capital letter, as in the database file. If the name if not exist the console will show a report “Error – no profile for ‘somename’ exists”.
Examples:
bot_add t
bot_add t hard
bot_add ct
bot_add ct Brett

bot_add_ct

None Difficulty Name

None – Default
Difficulty – easy/fair/normal/hard/expert
Name – botprofile.db database file
Examples:
bod_add_ct
bod_add_ct normal
bod_add_ct Brett
bod_add_ct easy Brett

bot_add_t

None Difficulty Name

None – Default
Difficulty – easy/fair/normal/hard/expert
Name – from botprofile.db database file
Examples:
bod_add_t
bod_add_t normal
bod_add_t Brett
bod_add_t easy Brett

bot_all_weapons

1/0

Allows the bots to use all weapons

bot_allow_grenades

1/0

Allows the bots to use grenades

bot_allow_machine_guns

1/0

Allows the bots to use machine guns

bot_allow_pistols

1/0

Allows the bots to use pistols

bot_allow_rifles

1/0

Allows the bots to use rifles

bot_allow_rogues

1/0

Allows the bots to don’t respond to radio commands

bot_allow_shotguns

1/0

Allows the bots to use shotguns

bot_allow_snipers

1/0

Allows the bots to use snipers

bot_allow_sub_machine_guns

1/0

Allows the bots to use snipers

bot_autodifficulty_threshold_high

Default 5 the range -20 to 20

Increases the difficulty level of the bots according to player skill

bot_chatter

off radio minimal normal

Bots radio chatter
off – disabled
radio – only radio
minimal – minimum number of messages to allies
normal – regular number of messages to allies (default)

bot_coop_force_throw_grenade_chance

Default 0.3 range 0 to 1

The chance that the bot will use a grenade when attacking an enemy

1

bot_coop_idle_max_vision_distance

Default 1400 range 0 to No Data

The distance at which the bot sees through the wall of non-moving players

bot_crouch

1/0

Crouch mode

1

bot_debug

1/0

Bot behavior debugging information

1

bot_debug_target

1/0

Target debug information

1

bot_defer_to_human_goals

1/0

Bots will not execute map tasks like planting, defusing, and hostages rescue

0

bot_defer_to_human_items

1/0

Bots will not receive items from the map tasks

bot_difficulty

0/1/2/3/4

Set the difficulty of bots

0

bot_dont_shoot

1/0

Bots don’t shoot

1

bot_freeze

1/0

Bots freeze

1

bot_goto_mark

Sends the bot to the marked navigation area

1

bot_goto_selected

Sends the bot to the selected navigation area

1

bot_ignore_enemies

1/0

Bots ignore enemies

1

bot_ignore_players

1/0

Bots ignore players

1

bot_join_after_player

1/0

Bots join when players joined

0

bot_join_team

any/t/ct

Which team the bots will join using add_bot or bot_quota commands

0

bot_kick

None   t/ct difficulty_name name

bot_kick – all bots will be kicked
bot_kick t – all T bots will be kicked
bot_kick ct – all CT bots will be kicked
bot_kick easy – one easy bots will be kicked
bot_kick Berett – bot Berett will be kicked

0

bot_kill

None   t/ct difficulty_name name

bot_kill – all bots will be kicked
bot_kill t – all T bots will be kicked
bot_kill ct – all CT bots will be kicked
bot_kill easy – one easy bots will be kicked
bot_kill Berett – bots Berett will be kicked

1

bot_knives_only

1/0

Bots only use a knife

0

bot_loadout

Weapon Codes

Sets bot equipment
Example:
bot_loadout awp deagle smokegrenade
Bots will get on the spawn AWP, Desert Eagle and Smoke grenade

1

bot_max_visible_smoke_length

default 200

Enemies visibility length through smoke

0

bot_max_hearing_distance_override

default -1

Hearing distance

0

bot_max_vision_distance_override

default -1

The maximum distance that bots can see

0

bot_mimic

1/0

The bot will repeat all the actions of the player

1

bot_mimic_yaw_offset

default 180

The angle at which the bot will be located when bot_mimic 1 (180 – the bot will look at the player, 0 – will look in the same direction as the player)

1

bot_pistols_only

1/0

Bots only use a pistol

0

bot_place

Spawns a bot in front of you

1

bot_quota

default 10

Max bots that will be spawned

1

bot_quota_mode

normal
fill
match

Control mode for the number of bots.
normal – The number of bots will be according to the given variable bot_quota (default)
fill – The server will kick the number of bots equal to the number of people connecting
match – Ratio 1:N Where 1 – one player, N – bot_quota

0

bot_randombuy

1/0

Random purchase of weapons by bots

1

bot_show_battlefront

1/0

Show areas where the first players meet

1

bot_show_nav

1/0

Show bot navigation

1

bot_show_occupy_time

1/0

Show when each map area can be reached by each command

1

bot_snipers_only

1/0

Bots only use a sniper rifles

bot_stop

1/0

Stop all bots work completely

1

bot_traceview

1/0

Show the trajectory where the bots are looking

1

bot_zombie

1/0

Zombie mode

1

Summary

Counter-Strike 2 bots offer a valuable training ground for players of all skill levels. While not replicating the dynamic experience of human opponents, bots allow players to refine shooting skills, understand game mechanics, and experiment with strategies in a controlled environment. Difficulty customization further enhances their usefulness, letting players adjust bot behavior to match their needs. From practicing basic aims under pressure to simulating high-level competitive scenarios, bots offer versatility and accessibility for players seeking to improve their Counter-Strike 2 skills.

F.A.Q.

What are bots in CS2?

Bots are AI-controlled players you can practice against on local servers. They follow predetermined algorithms, offering consistent challenges for targeted skill development.

How do bots elevate my gameplay?

They fine-tune aiming precision, elevate game sense, foster mental resilience, and more.

What are the different bot difficulty levels?

Counter-Strike 2 offers four difficulty levels: Easy, Normal, Hard, and Expert. Each level affects bot accuracy, reaction time, movement, and teamwork.

Is it possible to add a bot using the Elite key template, similar to adding one with the Expert key using the command bot_add elite?

No, that’s not the case. The “Expert” key doesn’t specifically represent the “Expert” template; instead, it signifies the Expert difficulty level and encompasses two templates, namely “Expert” and “Elite.” Therefore, when employing the “bot_add” command with the “expert” key, the bot will be added with either the “Expert” or “Elite” template randomly assigned.
To add a bot specifically with an “Elite” template, you must explicitly mention the bot’s name to which the “Elite” template is assigned, utilizing the command: bot_add name.

Can I add a bot with the desired weapon template?

No, you can’t.

Is it feasible to designate a different difficulty level to a bot when adding it using the following command: bot_add adonis expert, where Adonis is initially configured as an easy-level bot?

In theory, this functionality is expected, but currently, it does not operate as intended. Although the command bot_add adonis expert is technically correct and executes in the console without generating an error report, the bot Adonis will be added with his default Easy template rather than the specified Expert difficulty level.

Can I customize the bot experience?

Absolutely! Use commands like bot_difficulty, bot_autodifficulty_threshold_low, and bot_autodifficulty_threshold_high to adjust difficulty dynamically based on your performance. Set desired bot numbers with bot_quota and fine-tune team balance with mp_autoteambalance and mp_limitteams.

What are bot templates?

There are two types: difficulty templates define bot behavior based on a chosen level, and weapon templates determine their arsenal. Understanding these allows for even more targeted practice.

Are there console commands for bots?

Yes! Various commands control bot behavior, difficulty, and team settings.

Can bots fully replicate human opponents?

No, bots lack the adaptability and unpredictability of real players. However, they remain valuable tools for foundational skill development and preparation for various playstyles.

What are some good tips for using bots effectively?

Experiment with different difficulty settings and bot numbers.
Use specific commands to tailor the challenge to your needs.
Analyze bot behavior to learn and adapt your strategies.

Good Luck and Happy Frags!

Leave a Reply

Your email address will not be published. Required fields are marked *