Skip to content

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. 180, for WOTLK
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)