How to play against the hardest bots in CS2

How to Play Against the Hardest Bots in CS2: Expert, Elite and Bot Difficulty

bot_difficulty values, all bot templates from the game files, Elite bot names, auto difficulty, uneven teams and a ready config for 5 vs 10 against Elite bots

If you want the hardest bots in Counter-Strike 2, bot_difficulty 3 is only part of it. It gives you Expert bots, but Expert is not the strongest bot template in the game. The real maximum is Elite bots, plus uneven teams, auto difficulty turned off and a bot config you run after the map loads.

Below I show how bot difficulty works in CS2, what the game files say about every template, why bot_add elite doesn't work, how to add Elite bots by name, and a config for a local game against many strong bots.

How Bot Difficulty Works in CS2

CS2 bot in tactical gear next to a panel with bot difficulty levels from Easy to Expert
Bot difficulty from Easy to Expert

Bot difficulty decides how strong bots are in a local game: aim, reaction time, aggression and how they move. The base command is bot_difficulty, it sets the skill of bots that join the game.

But every bot in CS2 is built from a template in the game file botprofile.db, and each template belongs to one difficulty. So one bot_difficulty value covers several templates:

bot_difficulty Keyword Templates in the game files Named bots
0 easy Easy 38
1 normal Fair, Normal 47
2 hard Tough, Hard, Very Hard 40
3 expert Expert, Elite 22

When you add a bot by difficulty, the game picks a bot from that group. bot_add hard can give you a Tough bot as well as a Very Hard one. With bot_add expert you get Expert bots like Commando or Ava. Elite bots are also marked as expert difficulty in the file, but the reliable way to get them is by name, for example bot_add muhlik.

That's why bot_difficulty 3 and bot_add expert are the top of the normal settings, but not the hardest bots CS2 can give you.

CS2 Bot Templates: Expert vs Elite and the Rest

These are the values of all eight skill templates straight from botprofile.db. Higher skill and aggression, lower reaction time and smaller aim focus values mean a stronger bot.

Template Difficulty Skill Aggression Reaction time Attack delay Aim focus initial Aim focus decay Aim offset scale Aim focus interval
Elite EXPERT 100 95 0.05 0 0.5 0.1 0.05 0.05
Expert EXPERT 90 80 0.20 0 2 0.2 0.15 0.20
Very Hard HARD 80 70 0.30 0 5 0.3 0.17 0.30
Hard HARD 75 60 0.40 0 10 0.4 0.20 0.40
Tough HARD 60 45 0.50 0.70 10 0.4 0.25 0.50
Normal NORMAL 50 30 0.60 0.80 12 0.5 0.35 0.60
Fair NORMAL 25 15 0.60 0.90 17 0.6 0.50 0.70
Easy EASY 5 10 0.60 0.70 20 0.7 0.60 0.70

What the columns mean, from the comments in the file:

  • Reaction time: seconds before the bot reacts to you. Elite needs 0.05 s, four times faster than Expert.
  • Aim focus initial: how far from your center the first aim lands, in degrees. Elite starts at 0.5°, Expert at 2°.
  • Aim focus decay: how fast that spread shrinks. 0.1 means it's down to 10% after one second.
  • Aim offset scale: accuracy while tracking a moving target, 0 is perfect. Elite has 0.05.
  • Aim focus interval: how often the aim is corrected, smaller means better tracking.
  • Attack delay: extra pause before shooting. From Hard up it's 0.

So Elite bots react almost instantly, start aiming almost on your head and track you nearly perfectly. That's why they feel unfair, especially when they hear your steps and pre-fire through doors and common angles.

Elite Bot Names in CS2 and How to Add Them

bot_add elite doesn't work: the difficulty keywords are only easy, normal, hard and expert. To get an Elite bot, add it by name:

bot_add_t muhlik
bot_add_ct rebel
List of CS2 Expert and Elite bot templates with names and weapon preferences
Expert and Elite bots with their weapon templates

There are 12 Elite and 10 Expert bots in the game files:

Elite bot Weapon template Expert bot Weapon template
Muhlik Rifle Ava RifleT
Shamat Spray Syfers Rifle
Crusher Shotgun Delrow Punch
Osiris Punch Operator Sniper
Rock Power Soldier Shotgun
Shark PunchT McCoy Rifle
Wolf Rifle Buckshot Rifle
Gunner RifleT Rip PunchT
Rebel Sniper Ricksaw Rifle
Crew Punch Commando none
Steel RifleT
Stone PunchT

Bot Weapon Templates

The weapon template is the list of weapons a bot tries to buy first, in this order, when money and side allow it. It's a preference, not a lock.

Template Buy order
Rifle m4a1, ak47, famas, galilar, mp7
RifleT ak47, m4a1, galilar, famas, mp7
Punch / PunchT aug, sg556, famas, galilar, mp7
Sniper awp, scar20, g3sg1, ssg08, famas, galilar, mp7
Power m249, xm1014, nova, famas, galilar, mp7
Shotgun xm1014, nova, famas, galilar, mp7
Spray p90, mp9, mac10, mp7

So Rebel will go for the AWP whenever he can, Muhlik and Wolf for rifles (M4 on CT, AK-47 on T), Osiris and Crew for the AUG or SG 553. If you want an enemy team full of snipers or rifles, pick the names by template.

One limit: you can't add two bots with the same name to one team. Two Muhliks on T won't work, but one Muhlik on each side is fine.

CS2 Bot Difficulty Commands

bot_add doesn't need sv_cheats. The game describes it as bot_add <t|ct> <type> <difficulty> <name>, so you can combine side, difficulty and name.

bot_add expert         // Expert bot on any side
bot_add_t expert       // Expert bot on T
bot_add_ct hard        // Hard group bot on CT
bot_add_t muhlik       // Elite bot Muhlik on T
bot_difficulty 3       // bots that join later will be Expert
bot_kick               // remove all bots
bot_kick t             // remove T bots
bot_kick easy          // remove bots of that difficulty
bot_kick muhlik        // remove one bot by name

All bot commands with explanations are in my CS2 bots guide.

Turn Off Auto Bot Difficulty in CS2

By default CS2 adjusts bot difficulty every round based on contribution score. If you play well, bots get harder, if you play badly, they get easier. When you set up a hard game on purpose, that only gets in the way.

Command Default Range What it does
sv_auto_adjust_bot_difficulty 1 0 / 1 Adjusts bot difficulty each round based on contribution score
bot_autodifficulty_threshold_high 5 -20 to 20 How far above the average human contribution score a bot must be to change its difficulty
bot_autodifficulty_threshold_low -2 -20 to 20 How far below the average human contribution score a bot must be to change its difficulty

With the defaults, a bot whose contribution score falls more than 2 points below the human average gets harder, and one that is more than 5 points above it gets easier. Widening the thresholds to -20 and 20 makes these changes rare. The cleanest way is to turn it off:

sv_auto_adjust_bot_difficulty 0

Then every bot keeps exactly the level you added it with.

Play 1 vs 5 or 5 vs 10 Against Bots

More enemies is the easiest way to make bots harder. First remove the team limits:

mp_autoteambalance 0   // the game doesn't move players between teams
mp_limitteams 0        // no limit on team size difference

Then add bots to the enemy side. If you play CT, add T bots, if you play T, add CT bots:

bot_add_t expert
bot_add_t expert
bot_add_t muhlik
bot_add_ct expert
bot_add_ct expert
bot_add_ct muhlik

Watch the player limit: Competitive has 10 slots in total, so for 5 vs 10 start a Casual game. All details in how to disable auto balance and player limits, there's also a setup builder that writes the commands for you.

Elite Bot Config for CS2

This config makes a hard local game: team limits off, auto difficulty off, four Easy bots on your CT side and ten strong T bots: three Expert and seven Elite.

Run it only after the map has loaded.
// Server setup
mp_buytime 60                 // buy time at the start of the round
mp_buy_anywhere 0             // buying only in the buy zone
mp_freezetime 2               // short freeze time
mp_friendlyfire 0             // no friendly fire
mp_startmoney 800             // starting money
mp_maxmoney 15000             // money limit
mp_maxrounds 20               // rounds per match
mp_roundtime_defuse 2.25      // round time on bomb maps
mp_roundtime_hostage 2        // round time on hostage maps
mp_autoteambalance 0          // no auto team balance
mp_limitteams 0               // uneven teams allowed, like 5 vs 10

// Bot difficulty
bot_difficulty 3
sv_auto_adjust_bot_difficulty 0

// Remove existing bots
bot_kick

// Your side: CT
bot_add_ct easy
bot_add_ct easy
bot_add_ct easy
bot_add_ct easy

// Enemy side: T, Expert and Elite
bot_add_t expert
bot_add_t expert
bot_add_t expert
bot_add_t muhlik
bot_add_t shark
bot_add_t crusher
bot_add_t wolf
bot_add_t steel
bot_add_t osiris
bot_add_t gunner

echo The T bots config has been loaded

For the T side make bot_ct.cfg with bot_add_t easy for your team and bot_add_ct for the enemies. Elite names work on both sides.

How to Use the Bot Config

  1. Save the file as bot_t.cfg (and bot_ct.cfg if you want both).
  2. Put it in ...\steamapps\common\Counter-Strike Global Offensive\game\csgo\cfg\.
  3. Start CS2 and load a map: Play → Offline With Bots , or game_type 0; game_mode 0; map de_dust2 in the console for Casual with enough slots.
  4. Join your side (jointeam 3 for CT, jointeam 2 for T).
  5. Run the config: exec bot_t or exec bot_ct.

Want to build your own? Use the CS2 Config Generator. More about configs: how to create, load and manage cfg files and where CS2 config files are stored.

Conclusion

bot_difficulty 3 is not the end of bot difficulty in CS2. The hardest local game is Elite bots added by name, auto difficulty off, team limits off and more enemies than you have teammates. Most players stop at bot_add expert, but Elite bots with a 0.05 second reaction time are a different level.

And yes, you'll probably still accuse them of cheating. Elite bots punish you through doors and walls the moment they hear your steps.

Hardest Bots in CS2 FAQ

What is the hardest bot difficulty in CS2?

The highest normal setting is Expert (bot_difficulty 3, bot_add expert). The strongest template is Elite, and you add those bots by name, for example bot_add muhlik.

Does bot_add elite work in CS2?

No. The difficulty keywords are only easy, normal, hard and expert. Use an Elite bot name instead.

What are the Elite bot names in CS2?

Muhlik, Shamat, Crusher, Osiris, Rock, Shark, Wolf, Gunner, Rebel, Crew, Steel and Stone.

How do I make bots harder in CS2?

Add Elite bots by name, turn off auto difficulty with sv_auto_adjust_bot_difficulty 0, remove team limits with mp_autoteambalance 0 and mp_limitteams 0, and add more bots to the enemy side.

Do I need sv_cheats for bot commands?

No. bot_add, bot_kick and bot_difficulty work without it. Only debug commands like bot_stop or bot_dont_shoot need cheats.

How do I remove bots in CS2?

bot_kick removes all bots. You can also kick by side, difficulty or name: bot_kick t, bot_kick expert, bot_kick muhlik.

Can I play 1 vs 5 or 5 vs 10 against bots?

Yes. mp_autoteambalance 0 and mp_limitteams 0, then add bots with bot_add_t or bot_add_ct. For more than 10 players use Casual.

When should I run the Elite bot config?

After the map has loaded. Load the map first, join your side, then run exec bot_t or exec bot_ct.

More CS2 Guides

Leave a Reply

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