WarzoneCS WarzoneCS

How to Add Bots to CS 1.6 — Complete Guide

Full guide to CS 1.6 bots — bot_add commands, difficulty settings, ZBot vs YaPB, bot names, and how to fill LAN teams. Every setting explained.

Updated: 2026-07-30

Bots are computer-controlled players you can add to any CS 1.6 game — offline, on a LAN, or on a server you host yourself. They're the fastest way to warm up, practice a map, or fill empty slots at a small LAN party.

Two bot systems ship in the community-installer world: ZBot (Valve's original, bundled with the 2004 CS 1.6 update) and YaPB / POD-Bot / RCBot (community rewrites). Every WarzoneCS installer ships with ZBot ready to go — bot_add works out of the box.

Quick-start — add a bot in 3 seconds

Open the console (~ key) and type:

bot_add

That's it. A bot joins the next round with a random name and picks a team. Repeat the command for more bots — up to whatever the server's maxplayers allows.

Team-specific:

bot_add_t     // add a Terrorist
bot_add_ct    // add a Counter-Terrorist

Kick all bots:

bot_kick

Kick a specific bot by name:

bot_kick "Steve"

Console isn't opening?

Enable it first: OptionsKeyboardAdvanced → tick "Enable developer console". Then press ~ (tilde, top-left of the keyboard, above Tab).

Full walkthrough: CS 1.6 console commands guide.

Bot difficulty — the four tiers

bot_difficulty 0    // Easy   — bad aim, hesitant, misses obvious shots
bot_difficulty 1    // Normal — decent aim, still exploitable
bot_difficulty 2    // Hard   — snappy tracking, uses grenades
bot_difficulty 3    // Expert — one-tap headshots, near-perfect crosshair placement

Set BEFORE starting a match. Existing bots stick with the difficulty they spawned at until they're kicked and re-added.

For warm-up: start with 2 (Hard). Expert bots are honestly harder than most public-server humans — great for reflex training, frustrating if you just want to farm frags.

Bot personalities — quotas and mix

Beyond difficulty, ZBot has personality — how each bot plays.

bot_quota 8          // total number of bots the server tries to keep
bot_quota_mode fill  // 'fill' = keep total players at bot_quota, minus humans
bot_quota_mode normal // 'normal' = always bot_quota bots regardless of humans

Set bot_quota 8 + bot_quota_mode fill and you'll always have an 8-player match no matter who joins or leaves.

Force specific personality mix:

bot_prefix "BOT"           // prefix every bot's name with "BOT" (helps spot them)
bot_join_team any          // 'any' | 'T' | 'CT' — restrict where bots go
bot_join_after_player 0    // 0 = bots join immediately; 1 = only after a human

Custom bot names

ZBot rotates through the names in czero_bot_profile.db (Half-Life\cstrike\ folder). Edit that file to seed your own names — one per line, with an optional weapon preference:

+Steve   K1   ; Steve prefers AK-47 primary
+Marge   K2   ; Marge prefers M4A1

Weapon codes:

Code Weapon
K1 AK-47
K2 M4A1
K3 AWP
K4 Deagle

Restart the game after editing. Custom names show up in the scoreboard next round.

Native Turkish, Russian, Polish, German, Bulgarian etc. names work fine — GoldSrc reads UTF-8 in the profile file.

Bots in specific game modes

Classic bomb-defusal (de_ maps)

Default behavior. Bots plant, defuse, rotate — actually plays a coherent game.

mp_freezetime 3
mp_roundtime 1.75
bot_defer_to_human 1     // if a bot has the bomb, drops it near a human on plant

Hostage rescue (cs_ maps)

Bots handle rescue OK but rarely coordinate. Add more Counter-Terrorists than Terrorists — CT-side hostage rescue against Terrorist bots hosting up is legitimate practice.

Deathmatch / CSDM

ZBot doesn't understand instant-respawn rules by default. Add a CSDM plugin server-side, or use the classic mp_deathcamera 0 + mp_freezetime 0 combo for a rough approximation.

Full breakdown: CS 1.6 Deathmatch (CSDM) guide.

Zombie / JailBreak / Deathrun

ZBot doesn't understand any custom mod. It'll wander the map confused. Community bot systems like YaPB have better mod awareness but still don't fully "get" zombie physics.

For modded play, humans-only servers are the norm.

Advanced bot commands

Complete command reference. Most default to sensible values; touch only what you know you need.

Command Default What it does
bot_add Add one bot
bot_add_t / bot_add_ct Add to specific team
bot_kick Kick all bots
bot_kill Kill all bots (they respawn next round)
bot_difficulty <0-3> 1 Skill tier
bot_quota <0-32> 0 Target bot count
bot_quota_mode <fill\|normal> normal See "personalities" section
bot_prefix "<str>" "" Prepend string to bot names
bot_join_team <any\|T\|CT> any Which teams bots may join
bot_join_after_player <0\|1> 0 Wait for a human before spawning
bot_defer_to_human <0\|1> 0 Hand off objectives to humans
bot_allow_pistols <0\|1> 1 Bots may buy pistols
bot_allow_rifles <0\|1> 1 Bots may buy rifles
bot_allow_snipers <0\|1> 1 Bots may buy snipers
bot_allow_shotguns <0\|1> 1 Bots may buy shotguns
bot_allow_sub_machine_guns <0\|1> 1 Bots may buy SMGs
bot_allow_machine_guns <0\|1> 1 Bots may buy the M249
bot_allow_grenades <0\|1> 1 Bots may buy grenades
bot_walk <0\|1> 0 Force bots to walk (silent movement)
bot_stop <0\|1> 0 Freeze all bots (debug only)
bot_chatter <off\|minimal\|normal> normal Bot radio chatter volume
bot_zombie <0\|1> 0 1 = bots do nothing (crosshair practice)

bot_zombie 1 is the classic aim-training trick — spawn a wave of stationary bots and practice crosshair placement + spray control. Set bot_difficulty 0 first so they can't fight back if you flip the switch off.

ZBot vs YaPB vs POD-Bot — which one?

Every WarzoneCS installer ships with ZBot pre-installed. That's what all the commands above are for. But if you host a public server or run offline sessions with mods, you'll see server admins mention two alternatives:

  • YaPB (Yet another POD-Bot) — Community rewrite. Better waypoint navigation on custom maps, faster reflexes on Expert. Ships as an AMX Mod X plugin. Server-side install only.
  • RCBot — Similar to YaPB, less actively maintained. Slightly better with grenade throws.
  • POD-Bot mm — Legacy option. Runs but development stopped years ago.

For solo practice or a LAN party: ZBot is fine. You don't need to touch YaPB.

For hosting a bots-only public server that plays custom maps: install YaPB via AMX Mod X + waypoints for each custom map. That's server-admin territory — the choose your version page has notes on which builds ship a compatible AMX Mod X out of the box.

LAN party bot filling

Classic use case: 4-6 humans, want a full 5v5 game. Add bots to top up both sides.

bot_quota 10
bot_quota_mode fill
bot_join_team any
bot_difficulty 1

With 4 humans connected, ZBot spawns 6 bots split roughly evenly between teams. When a 5th human joins, one bot leaves automatically. Painless.

For LAN, set sv_lan 1 and bot_add in the host's console. Bots are LAN-mode-transparent — everyone sees them the same.

Full LAN setup: install any WarzoneCS build on the host, run a listen server, remote clients connect via the host's LAN IP.

Common bot problems

"Bots don't move / stand still at spawn." Map has no waypoints for ZBot. This is common on custom maps (kz, aim, awp_). Load a stock map (de_dust2, cs_office) and bots move fine. For custom maps, either use YaPB with matching waypoints or accept the wandering.

"bot_add doesn't do anything." Either you're on a server that has bot_add disabled (99% of public servers do — they don't want spam), or your listen-server has bot_quota_mode normal + bot_quota 0. Set bot_quota 8 first, then bot_add will register.

"Bots keep camping." Set bot_difficulty up to 2 or 3. Easy bots hesitate; harder bots actually push.

"Bot names all look wrong / garbled." czero_bot_profile.db needs to be UTF-8 without BOM. Windows Notepad saves BOM by default — use Notepad++ or VS Code, choose "UTF-8 (no BOM)" on save.

"Bots buy the wrong weapons on eco rounds." bot_allow_sub_machine_guns 1 + bot_allow_shotguns 1. Some default configs disable eco weapons and bots go full rifle even at $800.

"Bots don't defuse the bomb." Set bot_defer_to_human 0. With defer on, bots wait for a human CT to lead defuse — if there's no human, the round loses.

What next?