7

My brother and I share a PC for Dota2, but we have separate Steam accounts. The Dota2 settings are same for both of us, including hot-keys, chat-wheel, auto-attack and others. If one of us changes the settings, they get changed for the other one as well. Does some setting need be changed for separate profiles or is this just a bug? Thanks.

Edit: We also have separate Windows accounts.

7
  • @kotekzot I see you have edited to remove the Steam and Steam-Cloud tags. Dota-2 stores settings on Steam Cloud, so this could be related, though I'm not sure.
    – xenodevil
    Apr 6, 2014 at 11:33
  • @kotekzot: why did u delete your answer? your answer was fine and legit! it might help others because they do not like my solution. you should consider readding the answer
    – Wandang
    Apr 10, 2014 at 22:53
  • @Wandang no, xenodevil indicated they already use separate Windows accounts. Given the paths in your answer, it's obvious Dota 2 doesn't use the Users folder. Why Valve would do something so obviously problematic is beyond me, but there it is. By the way, can't you make a shortcut that will tell the game to run a console command, such as executing a .cfg file?
    – kotekzot
    Apr 10, 2014 at 23:02
  • @kotekzot HA! i just read your comment after i added an extra part to my answer. did you mean something like that? i am still confused why 2 separate steam accounts would not do the trick but you are right, 2 separate win accounts wont work if the cfg files lie in the dota folder instead of the profile folders.
    – Wandang
    Apr 10, 2014 at 23:12
  • 1
    The issue is that dota2 settings are stored in ...\common\ ... rather than in ...\<username>\... like HL1 based games and others were. This saves space and duplication, but requires you to manage config files.
    – Decency
    Apr 11, 2014 at 0:05

1 Answer 1

6

If you want to invest 5 minutes into scripting you can make each of your own config file that saves all the settings.

Each time DotA2 is started those settings get loaded and they can be modified separately.

All you need to do are 4 steps:

Step 1

Go to your DotA config folder (default should be C:\Program Files (x86)\Steam\SteamApps\common\dota 2 beta\dota\cfg) and create 3 files named autoexec.cfg, mySettings.cfg and myBrothersSettings.cfg

Step 2

Write this into your autoexec.cfg:

exec mySettings.cfg
//exec myBrothersSettings.cfg

// tells dota to not load whats behind it in that line (here myBrothersSettings.cfg). So in this example mySettings.cfg will be loaded.

Step 3

Define your settings (do your own first and then copy paste the entire code into your brothers file and let him modify the desired changes).

To set a hotkey you need 3 parts: bind key action

bind just tells dota that you want to bind a key to an action.

key can be nearly any key on your keyboard (a-z,0-9,numpadnumbers,Tab,arrowkeys,etc)

action is the command that dota should execute. In my example below are important/mostly needed commands. A full list can be found here.

If you want to configure settings too you just need 2 parts: settingcommand value

settingcommand is the setting that you want to set (the commands can be found in the list above too).

value depending on the setting will define what the setting should be like.

An example of a setting for your config file would be: "dota_player_units_auto_attack" "1"

This example sets autoattacking to ON (you can see this setting in the game menu too).

I provide you with my bindings below. You can use this by coping this into your file as a start. If you have any questions whatsoever or if you want more settings (that you see in the dota 2 menus) just let me know and i add it into the answer.

///////////////////
// Main Bindings //
///////////////////

unbindall //removes all bindings so it will not interfere with another file
//Attack & Movement
bind "A" "mc_attack"
bind "mouse1" "+attack"
bind "mouse2" "+attack2"
bind "S" "dota_stop"
bind "D" "dota_hold"

//Spells from left to right (0-5)
bind "Q" "dota_ability_execute 0"
bind "W" "dota_ability_execute 1"
bind "E" "dota_ability_execute 2"
bind "X" "dota_ability_execute 3"
bind "C" "dota_ability_execute 4"
bind "R" "dota_ability_execute 5"

//Items from upper left corner to lower right corner (0-5)
bind "3" "dota_item_execute 0"
bind "4" "dota_item_execute 1"
bind "Mouse5" "dota_item_execute 2"
bind "SPACE" "dota_item_execute 3"
bind "F" "dota_item_execute 4"
bind "Mouse4" "dota_item_execute 5"

//Groups
bind "1" "+dota_camera_follow" //hero
bind "2" "dota_select_all_others" //selects all other units
bind "5" "dota_select_courier" //selects courier
bind "TAB" "dota_cycle_selected" //cycle through the selected group


/////////////
// Utility //
/////////////

bind "L" "dota_glyph" //activate glyph
bind "." "toggleshoppanel" //show shop
bind "M" "+showscores" //show scoreboard
bind "," "+voicerecord" //push to talk
bind "KP_0" "dota_purchase_quickbuy" //buy quickbuy

/////////////////
// MetaBinding //
/////////////////

bind "ESCAPE" "escape" //escape key
bind "F6" "jpeg" //take screenshot
bind "F9" "dota_pause" //pause dota
bind "F10" "disconnect"
bind "F11" "toggleconsole" //show console


//////////
// Chat //
//////////

bind "ENTER" "say"
bind "KP_ENTER" "say"

echo "myMainBindings loaded"

Step 4 Option A (with hotkey)

The code below let's you switch between the settings of your brother and yourself via hotkey (it even tells you ingame which one you choose! So you can switch it ingame any time you want with this!). To use this code you need to add it into both files (your brother's cfg and your own cfg). Enjoy!

PS: Don't forget to change the key!

bind "key1" "exec mySettings.cfg; say_team "mySettings loaded"
bind "key2" "exec myBrothersSettings.cfg; say_team "myBrothersSettings loaded"

I recommend KP_1 and KP_2 as the keys because those are the numbers on your numpad.

Step 4 Option B (without console)

Every time you want to change the config to your brothers and vise versa do the following:

Close DotA 2. Open the autoexec.cfg and put // before the line you do not want to load. At the same time remove the two // before the line you do want to load. Start DotA 2.

Step 4 Option C (with console)

Using the console has many benefits. For instance not needing to restart the game client.

To get the console you need to follow 2 minsteps.

Ministep 1

Add the line "con_enable" "1" to your autoexec.cfg

Ministep 2

Now start DotA 2. Autoexec.cfg will be loaded. Now restart DotA 2. You should now be able to activate the console via the hotkey you set in the settingsmenu (default key is `).

After you finished activating the console you can use exec to execute any .cfg file. So if you want to load your brothers config just type exec myBrothersSettings.cfgand press enter.

Press your console hotkey again to hide the console.

2
  • As an improvement, I would suggest creating 2 different cfg files and at Step 4, use the exec command for reloading configurations using console. This will load new configurations without having to restart the game client. Please add this to your answer if you think it is more appropriate. I wanted to avoid cfg files. But I think I will accept this answer because it is very well explained.
    – xenodevil
    Apr 8, 2014 at 10:18
  • Step 1 tells you to create 3 files (2 cfg). So your point there is not really clear. On Step 4: yes, thats a lot better but i was not sure how much knowledge you have with the console. thats why i took the simple path without using the console. i can include the console and how to archive having a console as an extra so users without console-knowledge do not get turned away instantly.
    – Wandang
    Apr 8, 2014 at 10:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .