Programming, Music, Games. Creation.

Tweaked Dota 2 Autoexec Config – Performance Boost, Quick Courier, Quick Rune and More!

If you use Notepad++ and wish to make your editing screen look like above, check out this post.

Latest version : v Community (02/08/2015). Change log below.
Short News : The CFG is now open to the community to contribute!

Bermuda’s Dota 2 CFG!

Download(Normal) :


Instructions :

1. Download Autoexec.cfg (^Click  Juggernaut above)

2. Put the file in Steam\steamapps\common\dota 2 beta\dota\cfg

3. Make necessary tweaks (bindings, chat channels, mic volume, quick rune type. They are all arranged at the top of the cfg!)

4. Done :)

Download(Reborn Beta) :

Currently in beta, some features may not work.
Last Major Update : 02/08/2015

Place/Replace the files here:
Steam\steamapps\common\dota 2 beta\game\dota\cfg


If you wish to contribute to GitHub, please go follow this link.

Key Features :

– Updated to the latest version of Dota 2.
– Quick courier script
– Basic and quick rune cameras
– netgraph to monitor your ping&fps
– Roshan death time display
– Lone druid bear script
– Spectator camera mode (Slower, smoother camera for easy navigation)
– Dramatic Performance boost! Multicore rendering, the best network tweaks and maximum usage of your hardware!

and more!

User friendly :

– All the bindings are collected at the top of the file for convenience.
– Settings available in-game are excluded in the cfg to avoid confusion.
– Every configurations are grouped up into sensible sections for easy navigation.
– Every configurations and scripts are described in detail for your knowledge and information.
– Easy to customize to your taste!
– Welcoming message when you launch Dota 2 :)


How does Quick Rune camera work?


Simply edit the number in bind “SPACE” “+quick_rune_1”  to switch.

ex) bind “SPACE” “+quick_rune_2”

Current version – Quick Rune camera works as shown above :)


Q: Entire thing is not working! (ie. no greeting message)

A: Have you placed the file in the correct directory?

Q: Bindings are not working!

A: Bindings you have made in CFG won’t work if that key is assigned to another command in in-game settings.

Q: Where is my Roshan Timer?

A: Valve disabled the feature in multiplayer games, just like how they disabled ‘dota_range_display’ in the past.

Q: Rebinding is hard! :(

A: Try out Dota 2 Universal Keybind – The Easiest Way to Bind hotkeys in Dota 2 :)

Q: How often is this CFG updated?

A: Every time there is a change in commands in the new patch by Valve or when I come up with new features.. :)

Q: How often should I update then?

A: Most of the time, updating when there is a change in 1st decimal place in the version is fine. Update every version if you want the maximum features :)

Version release log :

10/02/2014 : v1.00

– Initial version

14/04/2014 : v1.10

Change log :

– APM is now a separate command.

– dota_embers disabled on default. Moved to client side settings.

– Camera settings disabled on default. Remove the most front // in the line to apply settings

– Command for taunt line is now more appropriate

– New taunt line

– Roshan timer will now only show the time of Roshan death in chat instead of buggy weird lines.

22/05/2014 : v1.20

Change log :

– Added spectator mode! Custom camera speed and higher camera distance upon toggle.

– In-game mic volume setup added. (voice_mixer_volume)

– Rearranged bindings section. Bindings are grouped accordingly.

– Rearranged greeting message.

– The cfg is now more notepad friendly.

– Link to this post use WordPress short link now.

08/06/2014 : v1.21

Change log :

– Added manual disconnect. Default key is keypad minus (-)

– Fixed memory issues that caused the game to crash.

– Re-optimized network setting.

22/06/2014 : v1.30

Change log :

– Fixed basic rune camera according to the latest patch. Thank you Thiago for the report!
– Added quick rune cameras. Custom binding Space. 3 types available, use whichever comfortable.
– Lone Druid Bear return binding moved to k on default.
– Added custom chat channel script. Please edit to join your channels automatically.
– Removed Spectator higher camera – Valve added this officially now :) Simply use mouse scroll to zoom out!
– r_renderoverlayfragment enabled on default due to error reports. Disable it manually for possible performance improvement.
– Changed some explanations and annotations in the cfg.

24/06/2014 : v1.31

Change log :

– Quick Rune Camera should work according to the gif now :)
– Fixed the rune camera according to the new patch. (Valve changed the command for camera position in the latest patch.)
– Fixed some typos in the annotations.
– Changed some descriptions and annotations to squeeze more sense out of them.
– “contimes 3” is now together with “developer” command. That makes much more sense now.
– Slightly regrouped and rearranged bindings section.

09/07/2014 : v1.32

Change log :

– Roshan Timer does not work anymore (Thank you Karosuu for the report!). Valve decided to disable the feature in multiplayer games. Nothing we can do.. :/
– Roshan Timer command is now Roshan Death. Only displays the time of its death on team chat.
– Quick courier script optimized. Still does the same thing.
– Lone Druid bear script changed a bit. It will now select the bear and the hero when you use “bear_return” or “bear_phase_boots”. Does not move the camera.
– Changed some annotations in the CFG. Deleted off unnecessary.

26/08/2014 : v1.33

Change log :

– APM is now default bound to F6. Enhanced APM command – Press F6 to view APM, press F6 to go back to game! Initially, it was a simpler inefficient command pointed out by spamowysmietnik666. However, unlike his solution, I decided to add stuff rather than keeping it simple. Thank you for the report spamowysmietnik666!
– Troll command added. Tells a short story of potato engineer in Wadiya to everyone in game..
– Manual disconnect now logs console message.
– Kill camera disable/enable function deleted – ie. dota_killcam_show deleted from the config. The command no longer exists. Yet to find a replacement.
– Just in case someone tried to revive kill cam command but failed like I did, dota_sf_hud_force_killcam 0 added – keep this 0. Will still show kill cams when your hero dies.

07/09/2014 : v1.40

Change log :

– Re-worked System/Performance settings. Things have changed and adopted to the latest big patch.
– New on/off commands to improve your fps : r_deferred_simple_light, r_deferred_simple_projections
– You have beast PC? Use r_lod. Enables high quality textures.
– snd_mix_async moved to multi-core settings.
– Gameplay related section re-arranged.
– Easter Eggerino.
– Added toggle console command : default bound to F11.
– Added a command to list out current settings in the console. Press the key, opens console, outputs current settings! Default bound to Page Down.
– Binding section rearranged. Comments changed a bit.

27/09/2014 : v1.41

Change log :

– r_deferred_simple_projections 0 actually disables AOE skill circles. Default is now 1. Excuse my mistake and ignorance. Thank you Iѕмαιℓy for the report!
– Changed some comments and explanations about the commands.
– Added 1.50 announcement in the title.

24/11/2014 : v1.50

Change log :

– CFG layout is now optimized for Notepad++. You can use this custom language to make your editing easier.
– Added ping function. Press END to automatically open console, output everyone’s ping. Press ESC to go back.
– Added dsp_slow_cpu and snd_pitchquality. Both are set to default values, more optmized value written in cfg.
– Added mat_reduceparticles and mat_reducefillrate.
– Correctly shows welcoming message at the start of the game.
– Reloading script now does not toggle console.
– contimes now default to 5.
– fps_max moved to the top of the cfg to encourage editing it.
– Minor description changes.

10/02/2015 : v1.51

Change log :

– cl_singleplayernetworkbackdoor option added under Client Side Settings. Recommend keeping it 0.
– dota_hud_reduced_flash added under System/Performance. Default at 0, make it 1 to squeeze more performance.
– Added cl_detaildist and cl_detailfade. Increase/decrease it within the recommended range for visual/performance.
– Added HP mark toggles. Marks toggle 350>450>250(default). Useful for Axe ultimate. Credits to お ƘƝȊƓȞƮ を
– Updated descriptions for System/Performance. Thanks for the reminder(quite long ago lol), Aphotic.

02/08/2015 : v Community Change log :

– Removed/Commented out obselete commands.
– Tweaks reset to defaults.
– The CFG is now on github. Bermuda will respond to updates daily, any major changes in the cfg will lead to updating the blog post.
– This is the last entry of this change log. Please check github changelogs for details.

77 responses

  1. Pingback: Solving Dota 2 Lag / FPS drop / Latency issues / High ping / Spikes | Bermuda's Unescapable Triangle

  2. don

    hi when i put it in my files… my fps ping is gone. i cant put it back again my fps ping in/out.. please help

    03/04/2014 at 1:25 PM

    • If it’s the net graph (which shows in-game fps/ping) you’re talking about, press F10 to show the graph!

      Note : It should be showing automatically on default. The config is on default optimized for 1920×1080, 1680×1050, 1920×1200 resolutions.
      If your monitor resolutions are not any one of those, do the following:
      1. Go to ” Net Graph Settings ” section in Autoexec.cfg

      2. Edit the numbers next to net_graphinsetbottom and net_graphinsetright.
      If your monitor resolution is 1280×800, put 55, -100 respectively
      If not, just put 0 for both.
      These commands set the position of the in game fps/ping header. Feel free to play with the numbers to find your most comfortable position.

      03/04/2014 at 6:01 PM

  3. where is the link for downloading

    13/04/2014 at 9:04 AM

  4. jay

    why it is showing var instead of ping, i dont get it

    11/05/2014 at 8:09 PM

    • With the recent update, ping position in Net Graph has changed.
      Ping should be on the right hand side of var.

      11/05/2014 at 10:43 PM

      • jay

        lol ty so ill just change my resolution

        12/05/2014 at 8:01 AM

      • no problem :) you can try playing around with Net Graph coordinates too!

        12/05/2014 at 1:35 PM

  5. Splintercell89

    I have downloaded and accessed your Autoexec.cfg but it still is the old one. Where is the new one? Your uploaded cfg file still shows the date 2014/02/10 instead of 14/04/2014. Thank you.

    18/05/2014 at 7:31 PM

    • May be the cfg file having the link “” lead to confusion.
      “2014/02/10” is just part of the link that brings you to this post, not the update version of the cfg.
      May be I should find a way to make that part less confusing in 1.20 :)

      So, ignore the “2014/02/10” in the link, check the version – which should be 1.10!
      (you can check the version in the header of the cfg file or in-game greet message)

      Thanks for trying my cfg out! :)

      18/05/2014 at 11:12 PM

  6. hi could help me with the cfg edit it in this part
    / / / / / / / / / / / / /
    / / Scripts / /
    / / / / / / / / / / / / /
    / / Taunt. Caution: use it at you own risk: D
    alias “taunt” “surprise motherfucker say 凸 (^ _ ^) 凸” / / troll XD

    but I do not get the fingers and face when squeezed / words alone could do it then appears as all

    13/06/2014 at 12:14 PM

    • alias “taunt” “say surprise motherfucker 凸 (^ _ ^) 凸” / / troll XD

      14/06/2014 at 12:03 PM

  7. Thiago

    After last update, rune position isn’t working anymore…

    20/06/2014 at 2:50 AM

    • Thank you for your report. Seems like Valve changed the way it works. Will fix the issue in the next version.

      21/06/2014 at 8:56 PM

  8. Thiago

    Btw, i fixed it, just modificating the rune values to:

    alias “+show_runetop” “dota_camera_setpos -2300 1800”
    alias “-show_runetop” “+dota_camera_follow;+dota_camera_follow;-dota_camera_follow”

    alias “+show_runebottom” “dota_camera_setpos 3000 -2450”
    alias “-show_runebottom” “+dota_camera_follow;+dota_camera_follow;-dota_camera_follow”


    20/06/2014 at 2:57 AM

    • Thank you Thiago :) This helped me notice the changes made in the command!

      22/06/2014 at 10:02 PM

  9. Avengers

    actually @Thiago,your script causes dota 2 to crash….

    23/06/2014 at 1:54 PM

    • I see.. I personally did not experience any crashing.
      You can always just use the latest version, 1.30 as of now – the rune camera works now :)

      23/06/2014 at 2:24 PM

  10. Thiago

    I worked on it and found the (real) fix.
    Now, when you leave the rune shortcut, the cam returns to ur selection before click.

    Also fixed the cour script.

    // New cour script
    alias “quick_courier” “say_team Using courier.; dota_courier_deliver; dota_select_courier; dota_ability_execute 5; dota_select_all”

    // New rune script
    alias “+show_runetop” “dota_camera_setpos -2265 1800”
    alias “-show_runetop” “dota_select_all; dota_select_all”
    alias “+show_runebottom” “dota_camera_setpos 3010 -2450”
    alias “-show_runebottom” “dota_select_all; dota_select_all”

    Bermuda, you can try this and confirm what I’m saying. Best regards

    23/06/2014 at 3:14 PM

    • I already fixed the issue in 1.30. Please check the post before commenting.

      There is one inconvenience in your script. If you put ‘dota_select_all’ at the end of the courier script, every time you use the courier, dota will select summoned units (like wolves).
      Its better to use ‘+dota_camera_follow’
      ie. there was nothing wrong with the courier script in the first place.
      Furthermore, you shud put ‘+dota_camera_follow’ at the end of ‘dota_select_all;dota_select_all’ for rune script or you will end up selecting summoned units after checking the rune.

      Please do not give me false reports or bring up issues that has already been fixed. Only cause more trouble for me. Thank you.

      23/06/2014 at 3:22 PM

  11. Jeff

    I switched to version 1.30. It worked perfectly yesterday but today when I try and use either of the rune commands (F4/F5/space) it does nothing and console says – unknown command: dota_camera_setpos. The rest of the file seems to work though.

    Also, I do want to thank you for this file! So much easier than setting up my own.

    24/06/2014 at 12:16 PM

    • There was a new patch today.
      Valve changed the camera commands again *facepalm*
      Thank you :) I’m glad you like it!
      Thank you for the report, will fix by tmr! :)

      24/06/2014 at 10:06 PM

    • Sacrificed my Dota time to fix this haha :) Fixed! Rune camera works in latest version 1.31!

      24/06/2014 at 10:55 PM

  12. Jeff

    That can be a tough thing to do. Thanks again!

    25/06/2014 at 12:19 AM

  13. The Roshan Timer message no longer works it only tells the time it died now.

    08/07/2014 at 9:04 PM

    • Thank you for your report! <3
      I will solve the issue asap :)

      09/07/2014 at 9:52 PM

    • Bad news :( Valve disabled the feature in multiplayer games, just like how they disabled ‘dota_range_display’ in the past. Nothing we can do about it :(

      Few tweaks in the latest version though, but nothing much added.

      09/07/2014 at 10:58 PM

  14. armzo

    i can’t see the download link help plss… :(

    10/07/2014 at 10:05 PM

    • Click on the Juggernaut picture at the top of the post.
      In case you have trouble spotting one, here is the link

      Thanks for trying my cfg out! Any form of feedback are greatly appreciated :)

      10/07/2014 at 10:08 PM

  15. drag0n80rn88

    I have a question how do you bind ctrl like ctrl + Q cant seem to do it I have done alt + Q dont know whats wrong

    19/07/2014 at 5:49 PM

    • Options > Game > Unified Unit Order
      Disable it, then you should be able to bind ctrl+key :)

      20/07/2014 at 1:28 PM

      • Valentin

        hi , i try to use f4/f5 for the runes but it doesnt work

        24/07/2014 at 9:09 PM

      • Just checked in game, works flawlessly. Keep in mind you have to hold F4/F5 to look at the runes.

        25/07/2014 at 3:18 PM

  16. Qvyo

    hi first sry for my bad eng :D
    tnx for ur good script :D
    i have some problem
    my network quality After relaunch d2 auto comes to high …. but i wanna it on low
    what should i do ?

    11/08/2014 at 6:47 PM

    • Thank you for using my CFG :)
      Hmmm, although I recommend putting it at ‘high’, if you really wish to set it as ‘low’, delete “Client Side Settings”. Then set the network quality as low in game, it will stay that way now.
      If this doesn’t work, please inform me.. :)

      11/08/2014 at 7:00 PM

  17. Qvyo

    my network is low … i play on 200ping ,,, i have to put it on low :D all of client side setting? u dont have any idea for me for reduce ping ?:D

    11/08/2014 at 8:44 PM

    • Yes, all the “Client Side Setting”.
      To reduce ping, I’d recommend using the CFG as it is and leaving the network as high.

      12/08/2014 at 10:14 PM

  18. Qvyo

    So there is no way to reduce ping with low network quality ?

    13/08/2014 at 3:03 AM

    • I’m not really sure setting “low” network in the options helps to improve ping. Personally, I did not see any difference.

      13/08/2014 at 8:38 PM

  19. Thank you for this man THANK YOU! YOU SAVED ME! Please when the next update comes, update it ASAP :) I can’t play without this. Thank you

    04/09/2014 at 7:26 AM

    • I’m glad my cfg helped you out! :D
      I will fix/update the cfg immediately if it does not work in the new patch, don’t worry :)
      Thanks and glhf!

      04/09/2014 at 9:49 PM

  20. Hi, I like your config. I am currently playing is the SEA server and the ping in here is unstable and there are packet loss sometimes, I would like to ask that whether your net code settings are suitable for SEA server?

    05/09/2014 at 11:50 PM

    • I have a question about the mem_level, gpu_level, gpu_mem_level and cpu_level, what is the lowest setting for them? Is it the one in your config? But the description next to them says that // Setting : High.

      05/09/2014 at 11:54 PM

    • Unstable ping in SEA servers is Valve’s server fault. Therefore, although the cfg might help to improve your ping, it may not be significant. Only temporary solution for now is to use VPN for gaming, such as WTFast. On personal experience, gaming VPN helped a lot in terms of packet loss and spikes. Real solution is to report to Valve about the issue, may be in Dota2 Dev forums.

      About mem_level, gpu_level, gpu_mem_level and cpu_level, the settings are at default set by the Source Engine in the current version, which is “High”. You can try changing them all to “0” for better performance, however this sometimes can cause crashes and only minor improvements. I will start working on improving performance section!

      Thanks for using my cfg and glhf! :D

      06/09/2014 at 1:54 AM

      • Hi, glad to see your new updated config. The performance setting did give me some fps boost(?). I have my textures and shadows set to low because I’m running on a GT640M, which is not a strong GPU and fps drops after every major patches. After applying your new settings, my fps is keeping at a constant of 60 when spectating live games. I currently don’t have the time to test it in a matchmaking game. Will come back and tell you more information when I found some bug or something that can be improved.

        10/09/2014 at 7:07 PM

      • I’m glad my cfg helped :)
        Thanks and glhf!

        11/09/2014 at 1:20 AM

  21. iman

    hi can you release a cfg for people use mmo control ?

    i cant play dota2 with normal control :|

    09/10/2014 at 5:53 AM

    • I’m afraid wasd control of character in Dota 2 is impossible! sorry!

      11/11/2014 at 12:38 PM

  22. Is this safe..? and how to restore it?

    22/10/2014 at 10:02 PM

    • Yes it is safe, it is a feature of Source Engine games. You can restore by simply deleting the cfg.

      11/11/2014 at 12:39 PM

  23. Work?

    22/10/2014 at 10:10 PM

  24. Hi Bermuda,

    Thanks for your CFG, really like it. But i have a thing hope you can figure it out.

    Somehow, the net graph does not appear on the right top corner even I tried type net_graph 1 on console nothing happened. But,when I try to play with my other account (same resoultion) the net graph appear on right top corner :/.

    here’s my configuration from config folder
    net_graph “1”
    net_graphheight “400”
    net_graphholdsvframerate “0”
    net_graphinsetbottom “55”
    net_graphinsetleft “625”
    net_graphinsetright “-100”
    net_graphinsettop “0”
    net_graphmsecs “400”
    net_graphpos “1”
    net_graphproportionalfont “0”
    net_graphshowinterp “1”
    net_graphshowlatency “1”
    net_graphshowsvframerate “0”
    net_graphsolid “1”
    net_graphtext “1”

    Also I used, -noaafonts command on my real account

    Really appreciate your help.

    05/11/2014 at 12:11 PM

    • Interesting.. Try net_graphtext 1 in console and tell me if that works.

      11/11/2014 at 12:44 PM

  25. Hi, recently I found another autoexec which is at , there are some codes and tweaks that I have never seen before. I would like to ask you whether those tweaks do give more fps or something, or maybe you can consider to test it and put it in the next version.

    Thanks and regards.

    16/11/2014 at 6:00 PM

  26. Pingback: Dota 2 Universal Keybind – The Easiest Way to Bind hotkeys in Dota 2 | Bermuda's Unescapable Triangle

  27. Sun

    Is there any way to make it load automatically? Because I have to press f8 every time I join a game.

    24/11/2014 at 4:57 PM

  28. Darshit Patel

    I tried the file…
    functions taunt and troll are working fine
    but when i use
    1. courier key F3
    2. rune key i.e. F4,5 its not working..
    i also removed these keys from the settings..
    i m sure of it.

    can you please help me out

    10/12/2014 at 10:22 PM

  29. Sven

    tthank you so much for your config. i’ve been using an old kill steal config for past 2 years. it has become really old.
    but your latest updated config works like a charm. really helped me out and great to see rune spot binds working again. edited a bit for my liking but must admit THANK YOU SO MUCH.
    Please Please Please keep this updated. i will regularly check your website. and if possible make a section for this.


    21/12/2014 at 12:57 PM

    • Thank you so much for you words and feedback :) I will try my best to keep this updated, although Valve has been rather less active around cfg command updates these days… :)

      30/12/2014 at 12:32 PM

  30. iJ

    Can you make script courier for bottle pls

    01/02/2015 at 5:56 PM

    • I may implement that, not sure since the limits of cfg makes the process rather more inconvenient.

      10/02/2015 at 5:04 PM

  31. zdju

    Needs a new version, can’t start finding a game with this one :D

    04/02/2015 at 12:08 AM

    • I was able to find a game with the old version. Anyway, there is a new update :)

      10/02/2015 at 5:03 PM

  32. bazeta05

    can u add auto switching power tread when casting spells? Thx in advance

    26/04/2015 at 5:01 AM

  33. Thanks , I have just been looking for info about this subject for a
    long time and yours is the greatest I’ve discovered till now.
    However, what in regards to the bottom line? Are you certain about the

    03/05/2015 at 6:44 AM

  34. Aphotic

    waiting for the new update ;]
    miss ya bro.

    29/05/2015 at 9:40 PM

  35. anon

    can u expalin what does the rune script 1 2 and 3 exactly do

    15/08/2015 at 10:11 PM

  36. Symmetrical

    Does this work with a Macbook Pro

    24/12/2015 at 2:52 PM

  37. Dazzzle

    Hi. How to change the camera rune script type 3 so that it wont return to the hero? *hold SPACE to top rune, release it to btm rune* sry, im poor in those stuff

    16/03/2016 at 4:05 PM

  38. Janet

    Will there be an update for this autoexec.cfg for current Dota 2 Reborn?

    08/08/2016 at 3:08 AM

    • Cannot confirm any date since I’m loaded with uni =( Plus, I am unsure whether cfgs work in Dota anymore

      24/08/2016 at 5:32 PM

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s