Tuesday, March 27, 2012

Properly setting up for idling (Sandboxie considerations & Directories)

It took me a few days to figure this out. For some reason I couldn't wrap my mind around the concept. (Side note: which is funny, I use to work with FreeBSD jails all the time, ha! Im getting old) (Ok, I didn't spend a full day working on it) I noticed many others have the same issue in various forums. So here's a semi-detailed guide on how to setup for multiple accounts.

There are two major folders to take into consideration the Steam folder and the steamapps folder.

In a normal situation, you'd see something like:
D:\Steam (holds steam.exe)
D:\Steam\steamapps (holds gcf's and game files)

The big folder is steamapps. This is the folder you need to make symbolic links to. It can be shared with every account/sandboxie with ease. Steam however cannot be shared. Thus we need multiple copies of Steam, but only a single copy of the large steamapps folder. Make sense? I hope so.

This is what you'll want your idle directory to look like: (using simplified directories, it can be anywhere)
D:\TF2_Idle\steamapps\
D:\TF2_Idle\Account_01\
D:\TF2_Idle\Account_01\steamapps
D:\TF2_Idle\Account_02\
D:\TF2_Idle\Account_02\steamapps
D:\TF2_Idle\Account_03\
D:\TF2_Idle\Account_04\steamapps
The directories in red are all the same directory linked to the first one.

First things first, make your steamapps folder. Copy over everything from your normal steamapps (C:\Program Files (x86)\Steam\steamapps for example). This is a very large file transfer (many gigs depending on your base install. This can be cut down, I've written about what files are required in a previous post) Yes you can use your original directory for the symlink, however I personally want to compartmentalize everything. If something goes wrong in one sandbox, you'll screw up everything including your main game. This is why I keep everything separate, just in case. Sure you'll update everything twice, but thats a small price to pay for safety.

Next, make the Account_01 folder and copyover JUST stream.exe to that folder and run it login, etc. This will update steam and get everything correct.

Once everything is updated, kill steam and delete the newly created D:\TF2_Idle\Account_01\steamapps\ folder.

Now to create a symbolic link. Short answer:
mklink /D "D:\TF2_Idle\steamapps\" "D:\TF2_Idle\Account_01\steamapps"
What this does is create a sort of... window if you were to that directory. In a choose your own adventure book, it'd be a Go to page 10 link.

Repeat this until you have all the folders for each account you want to run Simultaneously. You want to run 10 accounts at a time? You'll have to make 10 directories and 10 symlinks.

Once that's done, go through and update your tf2idle.ini file with the new locations and try it out. It should work flawlessly. (and of course, go through steam guard again as its a "new computer")

Now instead of Y copies of steamapps you have only 1. Much less space needed!

Now, to figure out how to reduce steam.exe's memory usage...