Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

I just built a PC because my son wants to play PC games. I installed Windows 7, and created 2 user accounts, one for each of us. Within my Windows user account I installed Steam, and downloaded some games from my catalogue.

I was expecting that when the other Windows user account was logged in, it would see the Steam application, but would be required to log in again, thus allowing my son to use his own account. But when he logged in, Steam had retained my account details and was still logged in as me.

I don't want to share games. In fact I want the opposite, as I do not want my 12 year old to have access to 18 certificate games etc, and also I want to keep my achievements and friends lists to be just my own.

How can I tell Steam to use a different Steam account when logged into a different Windows account?

share|improve this question
    
Is there a way to install steam into a user folder and just have multiple installations of steam on one machine? Kind of like how chrome does it. –  z ' Dec 8 '11 at 16:02

6 Answers 6

up vote 43 down vote accepted

Because of the way that steam does things it's not able to have multiple auto sign in configurations per installation. You'll have to resort to trickery:

Disable account credential saving in the settings dialog.

Create a shortcut for Steam on each windows account, edit the properties and give it these launch options:

-login %u %p - This logs into Steam with the specified Username and Password combination. Replace %u with the username, and %p with the password you want to login with (Steam must be off for this to work.)

Source: https://developer.valvesoftware.com/wiki/Command_Line_Options#Steam_.28Windows.29

If you still want Steam to automatically startup, while logging in to the appropriate account, disable automatic startup within Steam and place the shortcuts in the Start menu-> Programs -> Startup folders of each windows account.

share|improve this answer
    
Brilliant, knew it would be simple, but most gaming forums inc. steam are blocked from work. Thanks! –  stuffe Dec 8 '11 at 16:02
10  
Wow, that is incredibly insecure, as the password is essentially stored in the clear. It's not too much of a stretch to think the kid will be able to find that shortcut and use it to log into the dad's account. –  MBraedley Dec 8 '11 at 16:05
7  
It's also not too much of a stretch to think that the kid could install a keystroke logger on the system and find his dad's password for steam, email, credit card purchasing, etc. –  Sanjamal Dec 8 '11 at 16:46
5  
Thanks for your comments. I'm not overly worried about him working around the solution, I know it will be possible, trivial even, but it's more to stop him logging into mine by accident and messing my account up, than any real concern. –  stuffe Dec 8 '11 at 19:46
    
This sounds like a big security issue. Is it the same on the Mac OS X version? –  CyberSkull Dec 12 '11 at 13:25

It doesn't seem like Steam was really designed with this use case in mind. (There's no such thing as Steam Parental Controls, for instance, although both my Xbox 360 and my Wii have parental controls, if I remember correctly.) I've found several threads where people were having similar issues with their kids.

One suggestion was to change the shortcut to Steam so that it supplies a username and password from the command line, like so:

-login %u %p - This logs into Steam with the specified Username and Password combination. Replace %u with the username, and %p with the password you want to login with (Steam must be off for this to work.)

However, this seems like it could be worked around, especially if you tend to forget to log out of steam when you lock your computer. The account credentials might still be cached, and then you'd end up giving your kid access to your games without your knowledge. That's just one possible attack vector, there may be many others, not to mention storing your passwords in this manner is incredibly insecure.

There's also all manner of "free" games that are probably inappropriate for children, but which can be downloaded into any Steam account. Team Fortress 2 contains quite a bit of violence (not all of it cute and cuddly) and bad language, among other things. It's kind of a personal parenting decision as far as what you consider to be "off limits" - but there are free rated-M games on Steam, and TF2 is one of them.

I found this thread over at Gamers With Jobs to be illuminating. They suggested limiting the access rights to certain applications and/or other files (violent games included) using the Group Policy Editor and file permissions settings in Windows 7. This would ensure that your child's Windows account could not access the games in question, even if your Steam account was properly logged in and authorized.

Another thing that was brought up in that thread that I think needs to be said is this:

Whatever barriers you put in his way, are just puzzles between him and the prize, and the more you put barriers in his way the more he will discover ways around them. You're teaching him how to hack in the most effective way possible.

They go further to suggest that in addition to protecting the content, you should also realize that kids with unsupervised access to computers will figure out a way around any level of protection - regardless of how foolproof, given enough time. (I was a living example of this as a child, sorry Mom & Dad!) You might consider putting the machine somewhere public in addition to these security measures, so that it's more likely that their computer time will be more closely supervised.

Don't look at this just as a technical problem that needs a technical solution; it's a complex psychology problem with a technical manifestation.

share|improve this answer
2  
Thanks, great answer. I realise there is practically no measure I can take that will prevent someone determined enough to find a workaround. this is more of a convenience thing more than anything, we both have seperate accounts, and want to use them without accidentally users each others accounts. Especially games like Bastion which we both own, and could start accidentally if it was left logged in as each other. The computer lives in the main living area and is fully shared, but all your points are valid and good to share for future readers of the question. –  stuffe Dec 8 '11 at 19:49

I had the same issue, and while there are some good solutions here, none were quite right for me. I wanted to save my password for offline mode options, I didn't like the idea of relying on the Steam shortcut to do the work (they might launch Steam another way, like at startup), and I also didn't want to have multiple copies of Steam (since that wastes a lot of space).

Here's what works for me:

  1. Open the Steam directory, then the config subdirectory. Sort by date modified.
  2. For each Steam account:
    1. Sign into Steam, saving the login details.
    2. Quit Steam.
    3. Copy SteamAppData.vdf to SteamAppData_username.vdf (where username is the Windows user name you'll use for that Steam account).
  3. Create a new text file in the Steam directory (not the config subdirectory) called ChangeLoginPerUser.cmd with the following contents:

    @echo on
    move config\SteamAppData.vdf config\SteamAppData_backup.vdf
    copy "config\SteamAppData_%USERNAME%.vdf" config\SteamAppData.vdf
    
  4. Add a shortcut to this script in the All Users Startup folder. This is where to put it:
    1. Click Start, then All Programs.
    2. Right-click Startup.
    3. Select "Open all users".

This means whenever a user logs on to Windows, it will move the old saved login out of the way (just in case an unanticipated user account logs in) and then copy your account's saved login as the current one in the directory.

If your other user accounts are not administrators, you may need to set the permissions of SteamAppData.vdf and the SteamAppData_username.vdf files to be full control by anyone. On my system, all 3 of the accounts are administrators, so I didn't have to do this.

share|improve this answer
1  
+1 - Excellent solution. Am building a HTPC that will be launching Steam from MediaPortal. Since we have mutliple Steam accounts, being able to associate them to the Windows login this way makes the most sense. –  joseph.ferris Aug 14 '13 at 12:21

I managed to have it like this:

When steam installs, it asks you "install for every user" or similar. Install only for you. And keep the installed data in your account. When your account is password protected, no other user except for admin should have access to your orders or account.

Then install steam again on your kids account. Again password protect it. Again click install only for this user. Again store all data in the users orders.

This is how I managed to separate mine and my brothers steam accounts. Oh and I also unmarked "automatically log in" but let "save password / remember me" simply press log in and you're good to go.

Hope this will word for you too.

share|improve this answer

Raptor007's solution is great, but it has one problem: it does not work when you switch users without logging off. I have improved it by using Windows Task Scheduler.

The first 3 step is exactly the same as Raptor007's ones, except one thing: for some reason it doesn't work with relative paths when called from Task Scheduler, so need to specify absolute paths:

  1. Open the Steam directory, then the config subdirectory.
  2. For each Steam account:
    1. Sign into Steam, saving the login details.
    2. Quit Steam.
    3. Copy SteamAppData.vdf to SteamAppData_username.vdf (where username is the Windows user name you'll use for that Steam account).
  3. Create a new text file anywhere you want (for example, in the Steam directory) called ChangeLoginPerUser.cmd with the following contents (replace C:\Program Files (x86)\Steam by your path to Steam directory):

    @echo on

    move "C:\Program Files (x86)\Steam\config\SteamAppData.vdf" "C:\Program Files (x86)\Steam\config\SteamAppData_backup.vdf"

    copy "C:\Program Files (x86)\Steam\config\SteamAppData_%USERNAME%.vdf" "C:\Program Files (x86)\Steam\config\SteamAppData.vdf"

  4. Open Task Scheduler (Control Panel -> System and Security -> Administrative Tools -> Task Scheduler).‌ You need administrative rights for that.

  5. For each Steam account:

    1. Click Create Task (not Create Basic Task).
    2. When running this task, use the following user account: select Windows user that will use that Steam account.
    3. Open Triggers tab, click New, select trigger type At log on and select Windows user that will use the Steam account.
    4. Add another trigger with trigger type On connection to user session, select the same Windows user and Connection from the local computer.
    5. Open Actions tab, click New, select Start a program action and specify path to ChangeLoginPerUser.cmd file in Program/script.

That's all! Now it should change Steam user even if you switch users without logging off.

share|improve this answer

You can uninstall all of steam and reinstall it in a folder separate then the other users profile and that works

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.