Cheats

Cheats can be used in practice games to test various settings. They 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.

These cheats are approved by Valve for testing purposes and their use will not result in penalties. Using third party modifications in-game however, will result in a ban.

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, many of 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 is not required, it will match to a substring to create the item.

Examples:

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

Items in dark grey fields are completely removed and can no longer be created.

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.
 * 3 These items have been removed from the shop, but can still be created via cheats.

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.

Units in dark grey fields are either completely removed from the game, or are disabled, so they can no longer be created.

Cheat commands 作弊指令