Playerbots
Playerbots is an optional feature in CMaNGOS that introduces AI-controlled "player" characters into the game world. These bots can function much like real players, forming or joining parties, helping with quests, running dungeons, and even using class-specific abilities. This is particularly valuable on servers with low population or for those who want to experience group-based content while playing single player.
Playerbots can be configured in many ways to tailor their behavior. For example, you might tweak how aggressively they pull mobs, what spells or abilities they prioritize, and whether they can follow certain quest lines automatically. You could decide how many bots can be active at once, define individual roles (tank, healer, DPS), and configure class-specific AI preferences to ensure each bot plays optimally.
Configuration Options
Below is a reference table summarizing the Playerbot configuration options. It is grouped by general categories as many options share a similar pattern (e.g., AiPlayerbot.RandomBotXYZ
, AiPlayerbot.PremadeSpecName.<class>.<specno>
, etc.), so rather than list every single line, the table focuses on the key config parameters, their purpose, and typical or example values.
Tip
Many configuration options exist based on <class>
or <race>
. This will appear one per class-race combination.
Class |
ID |
|
Race |
ID |
Warrior |
1 |
|
Human |
1 |
Paladin |
2 |
|
Orc |
2 |
Hunter |
3 |
|
Dwarf |
3 |
Rogue |
4 |
|
Night Elf |
4 |
Priest |
5 |
|
Undead |
5 |
Shaman |
7 |
|
Tauren |
6 |
Mage |
8 |
|
Gnome |
7 |
Warlock |
9 |
|
Troll |
8 |
Druid |
11 |
|
|
|
General Bot Activation & Behavior
Option |
Description |
Example Values |
AiPlayerbot.Enabled |
Master switch to enable or disable the entire Playerbot system. |
0 (disabled) or 1 (enabled) |
AiPlayerbot.RandomBotAutologin |
Allows random bots to automatically log in. |
0 (off), 1 (on) |
AiPlayerbot.RandomBotLoginAtStartup |
If set, logs on all random bots at server startup. |
0 or 1 |
AiPlayerbot.BotAutologin |
Auto-log in “alt” bots on the same account when the player logs in. |
0 (off), 1 or 2 (levels of automatic login) |
AiPlayerbot.DeleteRandomBotAccounts |
If 1 , deletes all random bot accounts on server start (clean slate). |
0 or 1 |
AiPlayerbot.MinRandomBots /MaxRandomBots |
Minimum/maximum number of random bots that should be kept online. |
1000 and 1000 (example); any positive integer |
AiPlayerbot.RandomBotMinLevel /…MaxLevel |
Limits for the randomly generated bot levels. |
1 –60 , for Classic |
AiPlayerbot.RandomBotAccountPrefix |
Prefix used when creating random bot accounts. |
"RNDBOT" |
AiPlayerbot.RandomBotAccountCount |
How many random bot accounts to create (if they do not already exist). |
200 |
AiPlayerbot.RandomBotQuestIds |
Auto-completed or “free reward” quests for random bots. |
E.g. 7848,3802,5505… |
Random Bot Login/Logout Management
Option |
Description |
Example Values |
AiPlayerbot.RandomBotTimedLogout |
If enabled, random bots log out automatically after BotInWorldTime . |
0 or 1 |
AiPlayerbot.RandomBotLoginWithPlayer |
Log in some or all random bots when real players log in. |
0 or 1 |
AiPlayerbot.RandomBotMaps |
Restricts or allows certain map IDs for random bot teleports/logins. |
0,1,530,571 |
AiPlayerbot.RandomBotGuildCount |
How many random bot guilds to form. |
20 |
AiPlayerbot.DeleteRandomBotGuilds |
If set to 1 , deletes all random bot guilds at startup. |
0 or 1 |
AiPlayerbot.RandomBotArenaTeamCount |
How many random bot arena teams to create. |
20 |
AiPlayerbot.DeleteRandomBotArenaTeams |
If set to 1 , deletes all random bot arena teams at startup. |
0 or 1 |
AiPlayerbot.RandomBotMaxLevelChance |
Probability that a randomly generated bot spawns at the maximum level. |
0.15 (15%), etc. |
AiPlayerbot.RandomBotRpgChance |
Probability that a bot chooses “RPG” (roleplay) mode instead of grinding. |
0.20 (20%) |
Random Bot Creation & Gear
Option |
Description |
Example Values |
AiPlayerbot.RandomBotAutoCreate |
Automatically create random bot characters if they do not exist. |
0 or 1 |
AiPlayerbot.RandomBotRandomLevels / DisableRandomLevels |
If disabled, random bots start at a fixed level (you can specify) and then level up normally. |
0 (allow random levels), 1 (disable random levels) |
AiPlayerbot.randombotStartingLevel |
If “DisableRandomLevels=1,” sets the default starting level for bots. |
e.g., 5 , 10 |
AiPlayerbot.RandomGearMaxLevel |
Maximum item level used in random gear generation for bots. |
500 , or other large number |
AiPlayerbot.RandomGearMaxDiff |
Max difference between bot level and the item’s required level. |
9 (default) |
AiPlayerbot.RandomGearAutoCreate / RandomGearUpgradeEnabled |
Allow or disallow the system to periodically upgrade random bot gear for their level. |
0 or 1 |
AiPlayerbot.RandomGearBlacklist |
List of item IDs that bots should never equip from the random gear system. |
e.g. 0 , or comma-separated list of item IDs |
AiPlayerbot.RandomGearCountChangeMinInterval |
Interval in seconds controlling how often random gear (or random gear sets) can change for bots. |
7200 (2 hours), etc. |
Class & Race Probability
Option |
Description |
Example Values |
AiPlayerbot.ClassRaceProb.<class>.<race> |
Controls how likely the system is to generate a bot of a given class and race combo. |
E.g. AiPlayerbot.ClassRaceProb.1.1 = 40 |
AiPlayerbot.LevelProbability.<level> |
Probability distribution for each possible level the bot can spawn at (relative weighting). |
AiPlayerbot.LevelProbability.60 = 100 |
Notes |
The system uses these probabilities to decide how many random bots of each race/class/level appear in the world. |
- |
LFG / Battlegrounds / Arena
Option |
Description |
Example Values |
AiPlayerbot.RandomBotJoinLfg |
Random bots will sign up for the LFG system. |
0 or 1 |
AiPlayerbot.RandomBotJoinBG |
Random bots can queue/join battlegrounds. |
0 or 1 |
AiPlayerbot.RandomBotAutoJoinBG |
If nonzero, bots automatically join BG queues under certain conditions (e.g., if not lagging). |
0 or 1 |
AiPlayerbot.RandomBotArenaTeamCount |
Number of arena teams formed by random bots. |
20 |
Movement, RPG, & Combat Behavior
Option |
Description |
Example Values |
AiPlayerbot.SightDistance |
How far bots can see/scan for targets (in yards). |
60.0 (default example) |
AiPlayerbot.SpellDistance |
Range for casting spells if a bot is a caster. |
26.0 |
AiPlayerbot.ShootDistance |
Distance for ranged attacks if the bot has ranged ability. |
26.0 |
AiPlayerbot.ReactDelay |
Delay (in milliseconds) before a bot reacts to an event. |
100 (default) |
AiPlayerbot.PassiveDelay |
If inactive for this many ms, the bot acts passively or stops. |
10000 |
AiPlayerbot.RpgDelay |
Typical delay in ms for certain “RPG” interactions. |
10000 |
AiPlayerbot.JumpNoCombatChance |
Probability that a non-combat bot occasionally jumps around while moving. |
0.50 (50%), etc. |
AiPlayerbot.JumpMeleeInCombatChance |
Probability that a melee-range bot uses jump tactics in combat. |
0.50 , etc. |
AiPlayerbot.FleeingEnabled |
If 1 , bots may flee when low on health. |
0 or 1 |
Bot AI Strategies & Commands
Option |
Description |
Example Values |
AiPlayerbot.AutoPickReward |
Governs how bots handle quest reward pickups: yes , no , or ask . |
yes , no , or ask |
AiPlayerbot.AutoEquipUpgradeLoot |
Whether bots automatically equip better loot they find. |
0 (off) or 1 (on) |
AiPlayerbot.AutoTrainSpells |
How bots automatically train spells from trainers. yes , no , or free . |
"yes" = normal training, "free" = no gold cost, "no" = manual |
AiPlayerbot.AutoPickTalents |
Whether (and how) bots choose talents automatically. |
no , semi , or full |
AiPlayerbot.AutoDoQuests |
If 1 , random bots pick up and try to do random quests on their own. |
0 or 1 |
AiPlayerbot.RandomBotCombatStrategies |
Default AI strategy tags for random bots in combat (e.g. +dps ,-threat , etc.). |
+dps, +dps assist, -threat , etc. |
AiPlayerbot.RandomBotNonCombatStrategies |
Default non-combat AI strategies (e.g. +grind , +rpg ). |
+rpg, +loot, +custom::say |
AiPlayerbot.UseKnockback |
If 1 , knockback spells/abilities can affect bots. |
0 or 1 |
AiPlayerbot.EnableGreet |
Bots greet real players or do certain emotes upon meeting. |
0 or 1 |
AiPlayerbot.EnableBroadcasts |
Toggles whether bots broadcast events (looting items, leveling up, killing mobs) in chat channels. |
0 or 1 |
AiPlayerbot.LLMEnabled / LLMApiEndpoint etc. |
(Experimental) integration with large language models for more immersive AI chat. |
Varies—used for custom AI endpoints |
Pre-Made Talent Builds (PremadeSpec)
Option |
Description |
Example Values |
AiPlayerbot.PremadeSpecName.<class>.<spec> |
The display name for a pre-configured talent build. |
e.g. AiPlayerbot.PremadeSpecName.4.0 = pve dps assasination |
AiPlayerbot.PremadeSpecProb.<class>.<spec> |
Probability that a bot picks that premade specialization (if multiple specs exist). |
100 , 80 , etc. |
AiPlayerbot.PremadeSpecLink.<class>.<spec>.<level> |
Actual talent-tree path (encoded) for the bot. The bot invests points along this path as it levels. |
e.g. 005302105041 or 30305001302… (talent link strings) |
Usage |
These lines help the bot auto-assign talents in a more “build-aware” manner. |
- |
Gear Progression System
Option |
Description |
Example Values |
AiPlayerbot.GearProgressionSystem.Enable |
Master switch for the gear progression system that upgrades bots’ gear as players progress. |
0 (off) or 1 (on) |
AiPlayerbot.GearProgressionSystem.X.MinItemLevel /MaxItemLevel |
Defines item-level brackets. For instance, “0” bracket is base gear; “1” bracket is pre-raid, etc. |
e.g. AiPlayerbot.GearProgressionSystem.1.MinItemLevel = 50 |
AiPlayerbot.GearProgressionSystem.X.Class.Spec.Slot |
Item IDs for each slot of that bracket. The system automatically upgrades a bot’s equipment to these IDs. |
e.g. AiPlayerbot.GearProgressionSystem.0.1.0.0 = 20521 |
Usage |
Lets you specify exactly what gear bots get at certain gear “tiers.” |
- |
Other Notable Settings
Option |
Description |
Example Values |
AiPlayerbot.SendMail |
Whether bots can send mail (like returning unsold items). |
0 or 1 |
AiPlayerbot.ShowProgressBars |
Displays a progress bar for random bot actions in console or logs. |
0 or 1 |
AiPlayerbot.FleeDistance / AiPlayerbot.TooCloseDistance |
Distances controlling when bots flee or consider themselves too close to a target. |
E.g. 8.0 / 5.0 |
AiPlayerbot.ImmuneSpellIds |
Spell IDs that bots should be immune to. |
e.g. 19428 |
AiPlayerbot.AllowGuildBots |
Whether bots from your guild are allowed to be used. |
0 or 1 |
AiPlayerbot.AllowMultiAccountAltBots |
If 1 , allows bots from other accounts in the same guild (not just the master’s account). |
0 or 1 |
AiPlayerbot.PerfMonEnabled |
Enables performance monitoring logs for the AI if needed. |
0 or 1 |
AiPlayerbot.RespawnModNeutral / …Hostile |
Accelerates or decelerates mob respawn rates around bots for neutral / hostile mobs. |
e.g. 10.0 , 5.0 |
AiPlayerbot.GearScoreCheck |
If nonzero, a bot compares the gear score of a potential group invite. |
0 (off) or a numeric threshold |
AiPlayerbot.LevelCheck |
If nonzero, bots check level differences when grouping with real players. |
30 (default) |