Setting up a bot game
Choose your map
Open Legends of Dota Redux in the Dota 2 custom game browser and create a lobby. For a solo session, use the single-player launch option — bots are forced automatically. For a hosted lobby, use any standard map (e.g.,
classic or dota).Configure bot counts
In the advanced options menu, open the Bot settings section and set the number of bots for each team using
lodOptionBotsRadiant and lodOptionBotsDire. You can mix human and bot players on the same team.Set difficulty
Set the difficulty for each team independently:
| Level | Value | Description |
|---|---|---|
| Passive | 1 | Bots do not attack or use abilities aggressively. |
| Easy | 2 | Default. Bots play at a low skill level. |
| Medium | 3 | Moderate aggression and itemisation. |
| Hard | 4 | Competent laning and rotations. |
| Unfair | 5 | Maximum difficulty with stat advantages. |
lodOptionBotsRadiantDiff controls Radiant bots; lodOptionBotsDireDiff controls Dire bots. Both default to Medium (changed from Unfair in v11.1).You can also enable Random Individual difficulty (lodOptionBotsDiffRandom), which assigns each bot a random difficulty level independently.Choose extra bot options
Configure additional behaviour before locking options:
- Duplicate Heroes (
lodOptionBotsUnique = 1) — allows multiple bots to share the same hero base. - Same Hero for All Bots (
lodOptionBotsSameHero = 1) — forces every bot onto the same hero. Combine with the Random option to let the game pick one hero at random. - Stupify (
lodOptionBotsStupid = 1) — bots stand idle and will not attack, useful for testing builds. - Bonus Points (
lodOptionBotsBonusPoints = 1) — gives bots extra balance mode points so they can pick stronger ability sets (on by default). - Unique Skills (
lodOptionBotsUniqueSkills = 1) — prevents bots from duplicating abilities across their team (on by default).
How bots select abilities
Bots do not use the player ability picker. Instead, each bot hero has a priority-ordered ability list defined inscripts/kv/bot_skills.kv. The game iterates the list from top (priority 1) to bottom and assigns the first available abilities that fit the slot budget.
Example entry for Axe:
lodOptionBotsUniqueSkills is enabled, abilities already taken by another bot on the same team are skipped.
bot_skills.kv contains entries for many heroes including Axe, Bristleback, Skeleton King (Wraith King), and others. If a hero has no entry in the file, the bot falls back to the hero’s default abilities.Changing difficulty mid-game
If cheat mode is active (or you are in single-player mode), you can change a specific bot’s difficulty at runtime:| Argument | Description |
|---|---|
<level> | Difficulty number (1–5, matching the table above). |
#<playerID> | The player ID of the bot. Use -pid first to list all player IDs. |
Changelog highlights
Key bot-related changes from the project history:| Version | Change |
|---|---|
| v11.1 | Bot Difficulty Mutator added. Default difficulty changed from Unfair to Medium. |
| v11.1 | Team-specific difficulty added to the advanced options menu. |
| v11.1 | Option to allow bots to use the same hero (Duplicate Heroes) added. |
| v11.1 | Pudge bot enabled. |
| v11.1 | Same Bot Mutator added (force all bots to one hero). |
| v11.1 | Random Individual difficulty option added (every bot gets a random difficulty). |
| v11.2 | Bots: Allow Duplicates, Bots Stupify, and All bots same hero moved to advanced options (removed from main screen). |
| v11 | Fixed bots receiving blank “Generic” abilities. |

