Skip to content

Game Files

Mike Johnston edited this page Mar 12, 2022 · 7 revisions

Why does the app need to know where Dota is installed?

Game State Integration

Dota 2 has a feature called Game State Integration (GSI). When enabled, Dota will constantly send the current game state to some application. This information is limited to general map data (e.g. current time) and data about the current hero being played. No data on allied or enemies heroes is sent, as this could easily be used to gain an unfair advantage.

In order to enable this feature, the app creates a text file within your Dota 2 installation: dota 2 beta/game/dota/cfg/gamestate_integration/. This basically says to Dota: "Please send me data of the game's state". This data is then used to trigger the various sounds. For example, when the game time is 165 seconds (2 mins 45 seconds), play the bounty runes sound bite.

Again, this is a feature built into Dota 2, nothing illegal! This is what the tournament organisers use to show those fancy overlays.

You can find more information on GSI here (it goes to a CS: GO page, but the same applies to Dota).

Dota Mods

If you enable one or more Dota mods, two things happen in the Dota files:

  1. Copy the mods' content VPK files.
  2. Use the -language bulldog launch option to enable the mods.

VPK File

This is just an archive file (similar to a ZIP file) which is downloaded from this project's page. It contains all the mod's content (e.g. custom sounds & icons).

The file is just copied into this folder: dota 2 beta/game/mod_name/.

Launch Option

This launch option allows us to override certain Dota 2 assets (e.g. sounds, icons & text). To my knowledge, this is also not illegal. We're aren't modifying the game's content files; we're asking Dota to load the mod's content first. I've been using mods since December 2019, and haven't had any issues with Valve. Other people using the mod haven't reported issues yet.