I read a few tutorials online, that mention only few console commands. Some are self explainatory, but others require some testing, so I thought why not write it down. Ill update it as I figure out what they do. (It wouldnt be a bad idea to sticky this.
First of all, you should right click on dota2 in steam - properties - launch, add "-console". This enables ingame console which can be used for configuring all sorts of useful stuff, watching/downloading replays and what not.
Then you have to create a "autoexec.cfg" text file located in C:\Program Files\Steam\steamapps\common\dota 2 beta\dota\cfg\ (or whatever your install dir is)
Note that everytime you start a new dota match you will either have to write "exec autoexec" in your console, or bind a key to do it for you.
mat_vsync "1" //note that " " are not really required
mat_triplebuffered "0" // 0 is off, 1 is on, the usual
bind "`" "toggleconsole"
You can bind more then 1 command for a single key. You just have to divide them with ";". Heres a few useful examples
bind "a" "dota_player_units_auto_attack 0;mc_attack" //disables autoattack and attacks when you press a
bind "s" "dota_player_units_auto_attack 1;dota_stop" //enables autoattack and makes your character stop moving
bind "h" "dota_player_units_auto_attack 0;dota_hold" //disables autoattack and makes your char stop moving.
bind "C" "+dota_camera_follow; +dota_camera_follow" //pressing C will make the camera jump to your character and following him untill you start moving your mouse.
bind "KP_1" "dota_range_display 200" //numlock 1 key will make a circle with a radius of 200 units.
bind "rightarrow" "say_team miss bottom" //you can also put say gg or something so everybody can read it
bind "q" "dota_ability_execute 0" //goes from 0 to 5
bind "1" "dota_ability_autocast 0" // Toogles autocast for stuff like drows frost arrow, default is alt + q/e/...
echo "testing" //this writes "testing" in your console: Other people dont see it.
Here are some advanced commands:
this toogles 1000 range with the "v" key.
alias "range_toggle" "range_on" //this is what happenes when you 1st time press the v key
alias "range_on" "dota_range_display 1000; alias range_toggle range_off" // shows range and transforms the range_toggle command into range_off command. So, when you press v next time, range_off will be executed
alias "range_off" "dota_range_display 0; alias range_toggle range_on" // hides range and transforms the range_toggle command into range_on command. So, when you press v next time, range_on will be executed, and the circle repeats itself.
bind "v" "range_toggle"
dota_disable_range_finder 0 // 0 shows a tiny line so you know the range without the radius.
dota_minimap_misclick_time "2" // you have to hold your cursor over your minimap for 2 seconds before it will accept orders. This is useful for noobies, when they run away they accidentally click on the minimap and their hero changes direction, usually going the opposite way.
dota_force_right_click_attack "1" - right click deny, no need for a + left mouse. Not sure if works on ally heroes.
dota_player_units_auto_attack 0 - disable autoattack
net_graph 1 //1-5 shows simple-complex ping and many other things, 0 hides
dota_minimap_hero_size "600" //changes the hero icon size on the minimap. Default is 600.
dota_ability_quick_cast "1" // doubletaping skills cause self casting
dota_camera_speed "3600" // Scrolling speed DotA is about 6500, default 3000)
dota_sf_game_end_delay "10.0" //seconds, you can decrease number this to skip the ancient exploding animation and leave earlier.
dota_friendly_color_r 1.0 // changes minimap color for towers and enemies (friendly/enemy/neutral and r/g/b commands also exist)
dota_hud_healthbars 3 // ? nothing?
dota_match_details <matchID> // shows you details of the match with the selected ID.
record name.dem //starts recording the match youre watching/playing. Should be used like this "record replays/name.dem" . Useful if their replay system isnt working.
stop //stops the recording and saves it into dota2 folder (unless specified to save in replays)
some very interesting aliases can be found here :