Cheats

Cheats can be used in practice games to test various settings. Cheats can be enabled in lobbies in the settings. This setting allows players to use various chat commands and grants shared control over bot heroes.

Besides this, the player can also enable cheats via the console with the sv_cheats 1 command. A lot of console commands require this command before working, even when the player turned cheats on in the lobby settings. A list of console commands can be found here.

Cheat Commands
When enabling cheats through the lobby settings, the players are able to use these chat commands. All of these commands also have a console command equivalent, which are only usable once the host enabled sv_cheats.

Item names
These are used with the  and   chat commands or the   and   console commands. Every item has an internal name in the game files. In order to create items, these internal names have to be used, and not the ingame item name. The item's whole internal name has to be fully typed out for the game to be able to recognize it, including every underscore.

Examples:

Items in grey fields have internal names which do not match their ingame name.

Upgraded items

 * 1 Every item upgrade has a recipe listed in the game, even when the items' recipes do not use a recipe scroll.
 * 2 If no number is entered after the name, the game will automatically create level 1 version.

Unit names
These are used with the  chat command or the   console command. Just like with creating items, in order to create heroes or units, their internal file names have to be used. Using their actual ingame name does not work (unless it can be used as a syntax as explained below).

Syntax
Unlike with creating items, the game does recognize syntaxes, allowing the user to shorten the command. The full command for creating heroes would be for example:



In these cases, the "npc_dota_hero_" part can be left out. The following commands are also valid:



Additionally, the entirety of the hero's name need not be added if it is sufficiently long enough to identify the hero. For example, all of the following commands will spawn an allied Anti-Mage unit:



The parameter need not necessarily be the beginning of their name either. The command,



will also spawn an Anti-Mage, just as how the commands,



will spawn Queen of Pain, Doom, and Razor units respectively.

The same applies to all non-hero units which can be created. The commands



can be shortened to



to spawn a Mud Golem or an Eidolon. However, if a syntax matches to a hero and a non-hero unit, the game will prioritize the hero. For example  will always create the hero Troll Warlord and never any of the neutral troll creeps, even though the troll syntax are used by them all.

Hero names
Most of the heroes' internal name matches their ingame name. Some however rather match their old, alpha or beta names.

Heroes in grey fields have internal names which do not match their ingame name. Heroes in dark grey are disabled.

Unit names
These are the internal names of non-hero units. This also includes buildings, wards and dummy units used by spells.