Dota 2
Open Hyper AI [7.38]
 This topic has been pinned, so it's probably important
Yggdrasil  [developer] Sep 9, 2024 @ 11:09pm
1
[Tutorial] To Enable / Install the Enhanced Bots
[Calm down a bit, please take 5 mins to read through]

Content below is the tutorial that can help you to 1, enable enhanced mode, 2, resolve the problem in case the bots revert to default bots with random names, and 3, make bots use neutral items.

You can choose to read the tutorial in other languages below:

Prerequisites
The script right now only works in "Custom Lobby", and set "Local Host" as your Server Location - this is CRITICAL.

If the script is installed correctly, the bots in game should have names with postfix ".OHA", for example: OG.ana.OHA

Much harder bots - Turn on Fretbots Mode
If you ever feel all existing bot scripts lack of excitement. You can boost the bots with huge unfair advantages to make bot games a lot more challenging - enable the Fretbots mode by following the steps below.

1. Firstly, install to put this script in the correct folder

1. Subscribe to Open Hyper AI in Dota2 client. Wait for the script be fully downloaded.
2. Open folder: "Steam\steamapps\workshop\content\570\3246316298\Install-to-vscript", and double click the file `quick-install-oha.bat` to install.


If you completed step 2 successfully, you can skip steps 3 and 4 below, and go to the next section to "enable Fretbots mode in game".

3. If you don't know where the Steam folder is, right click `Dota2` in Steam `Library`, select `Properties` > `Installed Files` > `Browse`. It will open the folder: "Steam\steamapps\common\dota 2 beta", now replace the path text "common\dota 2 beta" in the address to be "workshop\content\570\3246316298\Install-to-vscript", hit Enter to open the correct folder.
4. If you see a warning "Windows protected your PC", because it's 3rd party script. Click on "More Info" > "Run anyway".

By doing this, any new updates to the script content will automatically available in your Local dev script folder, so you don't need to copy files again. Alternatively, check out Appendix below for other install options.

2. Lastly, enable Fretbots mode in game
1. When creating a Lobby game, ensure that Enable Cheat is checked. Choose the Server Location to be Local Server. Select Open Hyper AI as the bot script.
2. When the lobby game gets started, e.g. in the hero selection phase. Open the console, and input the following command and hit enter:
sv_cheats 1; script_reload_code bots/fretbots

Image showing the correct Lobby settings:
3. When enabled correctly, there will be notification text and sound in game.

If you completed above steps successfully and saw the Fretbots texts, you are done. Skip all the reset of steps below.

4. If you don't know how to start to use console in Dota2: In Steam, edit Dota2 Properties, in General > Launch Options, add -console, then close the window, launch Dota2. Or follow this video for using Console:
5. If you see bots somehow get reverted to default bots in game, select Local Dev Script as the script for your bots.




Another enhanced mode - Gentle Buff Mode

1. If you or your team think Fretbots mode is too hard or unfair. Try `Buff mode`, which is the lighter version of Fretbots mode. You can enable Buff mode by entering following command in console: "sv_cheats 1; script_reload_code bots/Buff/buff"
2 Note that in Buff mode, all heroes has the same amount of bonus, and this mode will ONLY give GPM, XPM, and neutral item bonus.



You only need to do the installation steps once. In subsequent new games, you only need to input the text command in console again after the game starts.




------------------------------- Appendix -------------------------------

Appendix - Installation alternatives for Windows
[Option 1] Install & keep script up to date automatically, by running one single command. It's really simple.

  1. Open the pre-installed Windows application: CMD or PowerShell. Open it by pressing the "Windows" bottom on keyboard and type "cmd", right click on it to run as administrator.
  2. Use the `mklink` command to make a shortcut/symbolic link, replace the texts inside the quotation marks with your actual folder path:
    mklink /d "<Steam_local_bot_dev_folder>" "<Steam_workshop_item_folder>"
  3. For example where I installed Dota2 in C:\
    mklink /d "C:\Program Files (x86)\Steam\steamapps\common\dota 2 beta\game\dota\scripts\vscripts\bots" "C:\Program Files (x86)\Steam\steamapps\workshop\content\570\3246316298"

By doing this, you do not need to manually copy/paste the content. Anything updated in the workshop content folder will get synced to the local dev bots folder as they point to the same location.

[Option 2] Install a version of the script manually. Instructions here: https://steamcommunity.com/workshop/filedetails/discussion/3246316298/4520010047766285327/

Appendix - Installation for Mac users
I have not really tried or tested the installation for Mac myself despite I have 3+ macbooks at home. So I encourage you to try crafting and test the commands yourself.
In general, it should be similar to what we have for Windows but replace the command code and filepath.
For example, like this:
ln -s "/Users/YourUsername/Library/Application Support/Steam/steamapps/workshop/content/570/3246316298" \
"/Users/YourUsername/Library/Application Support/Steam/steamapps/common/dota 2 beta/game/dota/scripts/vscripts/bots"


Appendix - Troubleshooting:
  1. If you don't know where the Steam folder is, right click Dota2 in Steam Library, select Properties > Installed Files > Browse.
  2. The `mklink` command in CMD requires admin access, so you need to right click on the CMD or PowerShell app to run as administrator to execute this command.
  3. If the command failed due to some conflicts, you need to rename or delete the bots folder that already exist in the vscript directory first and the run the mklink command to create the shortcut.
  4. If there is any space in the name of one of the folders, make sure to put the entire path in "quotation marks".
  5. Make sure to subscribe this script inside dota2 client and dota2 should have downloaded the workshop content to your disk, only then you can copy or create a valid shortcut link.

Appendix - What is Fretbots mode
Additional notes on why we should try Fretbots.
> Or what does Fretbots do exactly in details.
  1. Fretbots gives bots bonus upon their death as well as every one minute.
  2. In the beginning when you enable Fretbots, it asks all players to vote for a difficulty, which will impact the bonus amount the bots can receive.
  3. Possible bonus includes: gold, exp, armor, hp/mp regen, stats. The higher difficulty you vote, the higher bonus the bots will get. If you select a difficulty over 5, the bots will always have higher GPM than players after about 5mins into the game.
  4. Please note that the more high skilled players you have in the human player team, the more bonus the enemy bots will get because the bots get bonus that’s dynamically adjusted based on the player with the same role on the other team.
  5. The reason for this being fun is that bots usually don't have a good laning skills since it's really hard for developers to achieve that with current Valve bot apis. And enabling Fretbots gives more opportunity for bots to shine in mid and late games since bots will get well farmed. It provides extra gaming experience in each game for players as it's easy in the very early game, face challenge in mid games, requires players to have more team work and strategy to carry on the game til the end of it.
  6. Additionally, with Fretbots mode, we can fix the issue where bots don’t know how to choose or use Neutral items.

Appendix - Current Fretbots mode rules
  1. You can vote for difficulty scale from 0 to 10, which affects the amount of bonus the bots will receive.
  2. If difficulty >= 0, bots get bonus neutral items, and get fair bonus in gold, exp, stats, etc every minute.
  3. If difficulty >= 1, bots get above bonus upon their death; and also get new bonus in mana/hp regens.
  4. As difficulty increments, bots get neutral items sooner and higher bonus amount.
  5. If difficulty >= 5, when a player kills a bot, the player who made the kill receives a reduction in gold. This is because with high difficulty the bots get too much gold bonus and the kill bounty is high - giving high kill bounty to players actually would reduce the difficulty. Bots also provide less exp on death.
  6. Bots will get some initial bonus when the game starts like very little amount of armor, gold, magic resist, etc that will increase with the difficulty.
  7. The higher the difficulty you vote, the more bonus the bots will get which can make the game more challenging.
  8. After the voting for difficulty is done, you can vote for the bonus scale for your ally bots comparing to the enemy bots. For example, if you vote 0.5, it means your ally bots get half of the bonuses the enemy bot receive in the game - this way you can make the game even more challenging for yourself.

Appendix - Fretbots mode Difficulty Suggestion
  1. High difficulty can be overwhelming or even frustrating, please choose the right difficulty for you and your team to have more fun in the game!
  2. Difficulty 0 is good for new players or play any heroes with joy, 2 is good for causal gaming with a bunch of friends, 5 is getting intensive and require your team with good team work or some strong heroes, 10 is extreme and you will need some specific and strong carries with relatively good team work or strategy to victory.
  3. Please do note that one of the main purposes for Fretbots mode is to encourage team play!
  4. Fretbots difficulty is dynamic. What that means is the bots gets additional amount of bonus depends on how the players with the corresponding roles are performing. The better the players are in the team, the more bonus the bots can receive. For example a diff 5 will almost always give bots high GPM, so if players have average 600GPM, bots may get 700GPM, if players are 800GPM, bots may get 1K GPM.
Last edited by Yggdrasil; Apr 23 @ 6:36pm
< 1 2 >
Showing 1-15 of 26 comments
Крутелик Dec 1, 2024 @ 7:42pm 
And if I don't have the ability to create a lobby, can I play with bots via the console command map dota ?
Yggdrasil  [developer] Dec 1, 2024 @ 9:02pm 
@Hantik

IDK. try it out and let us know
Крутелик Dec 2, 2024 @ 12:15pm 
In game version 7.30e it works :steammocking:
Крутелик Dec 4, 2024 @ 10:07am 
@Yggdrasil

Maybe you have bots optimized for previous patches, 7.30 for example?
Yggdrasil  [developer] Dec 4, 2024 @ 10:52am 
Originally posted by Hantik:
@Yggdrasil

Maybe you have bots optimized for previous patches, 7.30 for example?

Why asking ?
Крутелик Dec 4, 2024 @ 5:23pm 
Originally posted by Yggdrasil:
Why asking ?

Unfortunately, the current Dota is bad, and to play its best versions you need good bots.
Yggdrasil  [developer] Dec 4, 2024 @ 7:19pm 
Originally posted by Hantik:
Originally posted by Yggdrasil:
Why asking ?

Unfortunately, the current Dota is bad, and to play its best versions you need good bots.

To play best version dota you should not play with bots. And that is not what im asking, im asking why you need to know if this is good for 7.30. I do not have old version bots, and i do not know if the older version is good or bad or can be compatible with my script. so good luck
Крутелик Dec 5, 2024 @ 9:18am 
Originally posted by Yggdrasil:
so good luck

good luck to you too
whO0op-ass time Dec 21, 2024 @ 9:29pm 
how to install in another Laptop ? i have install this in my PC , now i wanted to install in my laptop , i unsubscribe & subscribe it again nothing happen , no file in my folder under "3246316298\Install-to-vscript"
f Dec 23, 2024 @ 9:22am 
We play as 5 and cannot get difficulty 10, it keeps setting us back to difficulty 3. We kept winning because its too easy, is it a bug?
Yggdrasil  [developer] Dec 23, 2024 @ 11:39am 
Originally posted by destiny trash:
We play as 5 and cannot get difficulty 10, it keeps setting us back to difficulty 3. We kept winning because its too easy, is it a bug?

There are cheat improper action detections and if your ally bot scale is > 0.5 it won't unblock the next difficulty. There are a lot of players who can continue to win and challenge higher difficulties, so I dont think there is a bug. Most likely you kept winning in a way that was not considered normal
Sarev Dec 31, 2024 @ 2:55pm 
Is it possible to make bots always play as good as possible? It's really frustrating to see that the computer plays one hero ultra good and in the very next game he plays the same hero super lame and keeps feeding.

Sometimes I start a game and need to restart it cuz I see my team have 8:0 stats in 10 minutes so I know, it's not worth playing anymore.

Besides that, it's very nice to play with these bots :)
Yggdrasil  [developer] Dec 31, 2024 @ 3:43pm 
Originally posted by Sarev:
Is it possible to make bots always play as good as possible? It's really frustrating to see that the computer plays one hero ultra good and in the very next game he plays the same hero super lame and keeps feeding.

Sometimes I start a game and need to restart it cuz I see my team have 8:0 stats in 10 minutes so I know, it's not worth playing anymore.

Besides that, it's very nice to play with these bots :)

I believe there is a way, just not cheap. Help me to build it if you are capable of coding or other ways you can support
DA2KAI Jan 5 @ 3:57am 
I've tried bots several times, but when the difficulty is higher than 3, the script says that you need to win at least one game on difficulty 3. Help me solve this problem (of course, I've already won several games on difficulty 3)
Yggdrasil  [developer] Jan 5 @ 9:29am 
Originally posted by DA2kAI:
I've tried bots several times, but when the difficulty is higher than 3, the script says that you need to win at least one game on difficulty 3. Help me solve this problem (of course, I've already won several games on difficulty 3)


Can you please check my responses before asking?

I had responded to this question here and in other threads. Let me pasting it again: if any cheating behavior is detected such as -gold,-win,-wtf,etc, or ally scale is above 0.5, it’s not considered win by player’s skill and it won’t unblock next difficulty.

But you can use the command set diff 10 to set diff, until I disable that command later
< 1 2 >
Showing 1-15 of 26 comments
Per page: 1530 50