# dota2bot-OpenHyperAI **Repository Path**: bobo1993324/dota2bot-OpenHyperAI ## Basic Information - **Project Name**: dota2bot-OpenHyperAI - **Description**: No description available - **Primary Language**: Lua - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-05 - **Last Updated**: 2026-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # We Love Bot Games! We love bot games! ๐ŸŽฎ > **\[CRITICAL]** To play this script you must create a **Custom Lobby** and select **Local Host** as the server location. Bots should have names ending with **โ€œ.OHAโ€** when installed correctly. ๐Ÿ‘‰ [Steam Workshop Link](https://steamcommunity.com/sharedfiles/filedetails/?id=3246316298) Thanks and kudos to everyone who contributed to making bot games fun and exciting! --- ## Script Goals 1. Keep bot games **challenging and up to date**. 2. Let players **practice against bots** that can play *all* Dota 2 heroes. 3. Provide **chill gameplay** โ€“ if you want highly competitive bots, please join us in improving them instead of complaining. --- ## Why Itโ€™s Enjoyable * โœ… Supports Dota 2 **Patch 7.39**. * โœ… Supports **all 126 heroes** (Kez, Ringmaster, Invoker, Techies, Meepo, Lone Druid, Muerta, Primal Beast, etc.). Some new heroes are still being tuned. * โœ… **Customizable bots**: ban/picks, names, item builds, skill upgrades, etc. * [Customize/general.lua](bots/Customize/general.lua) โ€“ general settings. * [Customize/hero/viper.lua](bots/Customize/hero/viper.lua) โ€“ hero-specific settings. * Customize path depends on your install method: * **Permanent customization**: Move Customize folder to be `` * **Workshop item (Can get overridden by future script updates)**: Direct customize in `` * You can use the **Permanent customization** option to avoid your custom settings getting replaced/overridden by workshop upgrades. * โœ… **Dynamic difficulty (Fretbots mode)** โ€“ boosts bots with huge unfair advantages for real challenge. * โœ… Supports **most game modes** (see [discussion](https://github.com/forest0xia/dota2bot-OpenHyperAI/discussions/72)). * โœ… Improved decision-making: ability casting, items, roaming, farming, defense. * โœ… **AI Chatbot**: chat with bots as if they were real optimistic players (requires Fretbots mode). * โœ… Bots can **play any role/position** โ€“ deterministic laning assignment. * โœ… Tons of **bug fixes** (idle bots, canceled channels, stuck states). --- ## How to Install for Enhance mode 1. Create a **Custom Lobby** โ†’ select **Local Host** as **Server Location**. 2. To enable **Fretbots mode** (harder bots, neutral items, chatbot, etc.), you must **manually install** the script: [Instructions here](https://github.com/forest0xia/dota2bot-OpenHyperAI/discussions/68). --- ## Bot Roles & Positioning * Lobby slot order = position assignment (1โ€“5). * Default role mapping: * **Pos1 & Pos5** โ†’ Safe Lane * **Pos2** โ†’ Mid Lane * **Pos3 & Pos4** โ†’ Offlane * Customize picks, bans, and roles in [Customize/general.lua](bots/Customize/general.lua). --- ## In-Game Commands * `!pos X` โ†’ Swap your lane/role with a bot (e.g., `!pos 2`). * `!pick HERO_NAME` โ†’ Pick a hero for yourself. * `/all !pick HERO_NAME` โ†’ Pick hero for enemy. * Use internal names if the short names can overlap (`!pick npc_dota_hero_keeper_of_the_light`). [Find the list of internal names here](https://github.com/forest0xia/dota2bot-OpenHyperAI/discussions/71). * `!Xpos Y` โ†’ Reassign other botsโ€™ positions (e.g., `!3pos 5` to let the 3rd bot on the team play pos 5, do note it's the bot on the 3rd slot in the team not the bot that plays pos 3 at that moment). * `!ban HERO_NAME` โ†’ Ban a hero from being picked. * `!sp XX` โ†’ Set bot language (`!sp en`, `!sp zh`, `!sp ru`, `!sp ja`). * **Batch commands** supported (e.g., `!pick io; !ban sniper`). --- ## Contribute * Contributions welcome on [GitHub](https://github.com/forest0xia/dota2bot-OpenHyperAI). * Custom item/skill builds donโ€™t need PRs โ€“ just tweak locally. * Future development is in **TypeScript** for better maintainability. * Project structure (bots, Funlib, Customize, BotLib, typescript, game) * To develope the script, you need to make sure the script is under this root directory: ``` root: โ”‚ โ””โ”€โ”€โ”€bots: contains all lua files for the bot logic. This is the folder `3246316298` in Workshop. โ”‚ โ”‚ hero_selection.lua โ”‚ โ”‚ bot_generic.lua โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€Funlib: contains the libraries/utils of this project โ”‚ โ”‚ โ”‚ utils.lua โ”‚ โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€Customize: contains the files for you to easily customzie the settings for bots in this project โ”‚ โ”‚ โ”‚ general.lua: to customzie the settings for each bot teams โ”‚ โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€hero: to easily customzie each of the bots in this project โ”‚ โ”‚ โ”‚ viper.lua โ”‚ โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€BotLib: contains the bot item purcahse, ability usage, etc logic for every bots. โ”‚ โ”‚ hero_abaddon.lua โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€FretBots: contains the configs/utils of the FretBots mode setup โ”‚ โ”‚ โ”‚ SettingsDefault.lua: to adjust bonus values โ”‚ โ”‚ โ”‚ ... โ”‚ โ””โ”€โ”€โ”€typescript: contains the scripts written in typescript (TS) to maintain this project in a more โ”‚ โ”‚ extendable way since TS supports types and can catch errors in compile time. โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€bots: the TS version of the script that's converted to LUA files into the `root/bots` folder. โ”‚ โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€post-process: contains the scripts to do post-processing for the TS to LUA translation. โ”‚ โ”‚ ... โ”‚ โ””โ”€โ”€โ”€game: default setup from Value, including them here for custom mode setup. โ”‚ โ”‚ botsinit.lua โ”‚ โ”‚ ... โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€Customize: You can copy & paste the Customize folder from to to avoid โ”‚ the custom settings getting replaced/overridden by workshop upgrades. โ”‚ ... --- ``` --- ## Whatโ€™s Next * Current bot playstyle is limited by Valveโ€™s API. **We need ML/LLM bots like OpenAI Five!** * Planned improvements: * Smarter laning, pushing, ganking. * Stronger spell casting (Invoker, Rubick, Morph, etc.). * Better support for bugged heroes (Dark Willow, IO, Lone Druid, Muerta, etc.). * Full mode support + patch fixes. * [Open feature requests](https://github.com/forest0xia/dota2bot-OpenHyperAI/issues?q=is%3Aissue+is%3Aopen+%5BFeature+request%5D) * [Some feedback to Valve Dota2 bot team](https://www.reddit.com/r/DotA2/comments/1ezxpav/) --- ## Support * Contribute on GitHub. * Or [buy me a coffee โ˜•](https://github.com/forest0xia/dota2bot-OpenHyperAI/discussions/74). --- ## Useful Resources * [Dota2 AI Development Tutorial (adamqqq)](https://www.adamqqq.com/ai/dota2-ai-devlopment-tutorial.html) * [Valve Bot Scripting Intro](https://developer.valvesoftware.com/wiki/Dota_Bot_Scripting) * [Lua Bot APIs](https://docs.moddota.com/lua_bots/) * [Ability Metadata](https://raw.githubusercontent.com/dotabuff/d2vpk/master/dota_pak01/scripts/npc/npc_abilities.txt) * [Enums & APIs](https://moddota.com/api/#!/vscripts/dotaunitorder_t) * [Modifier Names](https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/Built-In_Modifier_Names) * [Dota2 Data Mining](https://github.com/muk-as/DOTA2_WEB/blob/master/dota2_web/Items_cn.json) --- ## Credits Built on top of Valveโ€™s default bots + contributions from many talented authors: * New Beginner AI ([dota2jmz@163.com](mailto:dota2jmz@163.com)) * Tinkering About ([ryndrb](https://github.com/ryndrb/dota2bot)) * Ranked Matchmaking AI ([adamqqq](https://github.com/adamqqqplay/dota2ai)) * fretbots ([fretmute](https://github.com/fretmute/fretbots)) * BOT Experiment (Furiospuppy) * ExtremePush ([insraq](https://github.com/insraq/dota2bots)) * And all other contributors who made bot games better.