Guide / Tutorial Multiple accounts made easier on PC using EliteDAlt.bat

Hi all.

Very timely topic as I've been wanting to have an alt as permanent resident of the noob system to hopefully answer questions and offer help to new cmdrs.

I have a Steam account and understand I would need to buy an alt directly from FDev, no issues there. My main concern with multiple accounts is, what happens to the logs which are written to a common folder? How would EDMC separate data from one cmdr and the other?

The above issue can be avoided using the multiple Windows users setup but, are there any easy ways of having separate logs using the symlink/launcher copy method?
You don't have to worry about logs, they are stored independently. EDDiscovery allows you to switch between accounts you configured and sync them with EDSY, EDDB, inara etc.
Settings (keybinds) and logs saving got improved with Odyssey, I believe. Check the links in the second post or search to find more details about where goes what.

There are some minor settings files in the installation directory, some of which the script links to the origin, some of which are copied initially. It's easy to change. Details are in the script text.
(I code, therefore I can forget.)

The bindings and graphics settings files for Odyssey and Horizons are used and updated by all instances run by the same OS user, though. As a consequence you can probably control only the game instance which has the front, even if you run them windowed side by side or on two different monitors having two sets of controllers.

Would be nice to hear back from you if you use it.
 
Hi and thanks for the update. I am planning to add a second account, already bought it 2 days ago. I would really like to keep the logs separate if possible because I use EDMC and my own log parsing app that don't support multiple accounts.

On that note, would a symlink pointing to a different log/journal folder per account work? A script would set the correct destination folder when I switch accounts. This would work in Linux but some Windows apps don't like symlinks.

In my case, the logs are in C:\Users\%username%\Saved Games\Frontier Developments\Elite Dangerous\. If "Elite Dangerous" can be a symlink pointing to each cmdr's separate logs folder, I can flip them before the account starts. I might try this with my current account and see if anything smokes :)
 
Hi and thanks for the update. I am planning to add a second account, already bought it 2 days ago. I would really like to keep the logs separate if possible because I use EDMC and my own log parsing app that don't support multiple accounts.
FDev already keeps your logs nicely separate. They likely don't want to pass on that extra cash flowing in from alternate accounts.
On that note, would a symlink pointing to a different log/journal folder per account work? A script would set the correct destination folder when I switch accounts. This would work in Linux but some Windows apps don't like symlinks.
Elite dangerous really already creates a separate folder for the logs for each account. They are identified by the (individual!) launchers and the launcher's settings.
The log folder in the application install directory is just for the game launching, crashing or so, but does not contain your commanders history.
Paste %LOCALAPPDATA%\Frontier Developments\Elite Dangerous into the address bar of an explorer window and you can find the subdirectories for each account, they are the ones having lengthy numbers as name.
In my case, the logs are in C:\Users\%username%\Saved Games\Frontier Developments\Elite Dangerous\. If "Elite Dangerous" can be a symlink pointing to each cmdr's separate logs folder, I can flip them before the account starts. I might try this with my current account and see if anything smokes :)
As I noted before, there's no need to flip anything, separate log folders are identified by separate launchers. Just start a different launcher with it's on settings and its own link to a Frontier Store account.
The script I provide helps to separate the data required to run multiple instances concurrently (at the same time) on the same machine without copying everything to new folders.
If the game is only run once at a time, then it is really easier to just make copies of the launcher with different names in the original directory.

Either way it is really safe, FDev made good progress on that. I got nothing smoking so far, not even the bindings ; )
 
Last edited:
Very nice, thank you! I'm going to wait for the recent stability issues to be fixed (hopefully today) and will try the other Frontier account over the weekend, if possible.

It's a good thing this will work because I can't help myself buying new ED accounts lol. Have 2 on Steam and bought a Frontier one earlier this week. But then Sally announced the Frontier sale and you can't pass on that so, 4 accounts :)
 
It worked! :)

Before I write the details of what I did, OP, could you please let me know where the launcher settings are? How can I set the different launchers to write logs to different folders? My logs all go to a common C:\Users\%username%\Saved Games\Frontier Developments\Elite Dangerous\ folder, not a folder per ED account. One thing that is separate by account is systems visited, but not logs. Launching a new CMDR account will write logs to the same folder as the previous account.

I did some folder renaming to keep the logs separate. Not ideal but super easy to do.

Bottom line, I wasn't logged on 5 mins with my noob account when the first "How do I...." question came in over chat. Mission accomplished :)
 
It worked! :)

Before I write the details of what I did, OP, could you please let me know where the launcher settings are? How can I set the different launchers to write logs to different folders? My logs all go to a common C:\Users\%username%\Saved Games\Frontier Developments\Elite Dangerous\ folder, not a folder per ED account. One thing that is separate by account is systems visited, but not logs. Launching a new CMDR account will write logs to the same folder as the previous account.

I did some folder renaming to keep the logs separate. Not ideal but super easy to do.

Bottom line, I wasn't logged on 5 mins with my noob account when the first "How do I...." question came in over chat. Mission accomplished :)
Glad it worked and thank you for the first success report : )

To answer your question where the launcher settings are:

Each launcher has a settings file with .config appended to the launcher's name, in the same directory.
The original launcher name is EDLaunch.exe and its settings are in EDLaunch.exe.config
With the solution used with this script you get copies of EDLaunch.exe in different folders, but the config files are not copied. They get created when you start the launcher.
When using the simple solution which doesn't allow to run two instances concurrently you create a copy of EDLaunch.exe with a different name in the same directory as the original. The respective .config file will be created when you start the launcher.
 
Perfect, thanks!

Let me see if I get this right. There are two easy ways of doing this:

1. Rename EDLaunch.exe to something like EDLaunch-cmdr_name.exe. This will create a corresponding EDLaunch-cmdr_name.exe.config file where things like log paths settings are stored (I didn't see a path in mine, however)
Pros: Very easy, allows for .config customization so log files don't intermix between cmdrs
Cons: A new EDLaunch-cmdr_name.exe copy would have to be recreated any time the Launcher receives an update. Not a big issue as it's very infrequent.

2. Create a folder symlink to the folder where the ED executable lives. Access EDLauncher through this symlinked folder. Per post above, EDLauncher stores credentials (in Win Registry?) based on the path used to launch it. Renaming the file certainly changes the path but so does a folder symlink (note: symlink <> shortcut).
Pros: No need to make new copies when updates are received.
Cons: Single .config because the executable is named the same across all cmdrs names.

Quick reality check to 4 days ago me: unless you obsess over keeping cmdr logs separate, and there are very few reasons for that, either of these solutions will work and require little effort to setup and run. You can stop reading here.

I used the symlink method and both my Steam and Frontier accounts worked great. In fact, I launched both at the same time to see if it would work and it did!

In my case, I rename the "Elite Dangerous" folder in C:\Users\%username%\Saved Games\Frontier Developments\ depending on which cmdr was running. Before launching the client for the noob account, I rename the "Elite Dangerous" folder to my main cmdr's name and create a new, blank "Elite Dangerous". After I was done with noob, I renamed "Elite Dangerous" to "noob" and main cmdr folder back to "Elite Dangerous". Entirely unnecessary for anyone with both left and right brain hemispheres :)

Thank you all once again for the guidance. I had been wanting to do this for a long while. If I can help a new cmdr stay with the game or avoid a ganker waiting for them just outside, it would all be worth it. But also, I'm having a blast back at Dromi lol.
 
2. Create a folder symlink to the folder where the ED executable lives. Access EDLauncher through this symlinked folder. Per post above, EDLauncher stores credentials (in Win Registry?) based on the path used to launch it. Renaming the file certainly changes the path but so does a folder symlink (note: symlink <> shortcut).
Pros: No need to make new copies when updates are received.
Cons: Single .config because the executable is named the same across all cmdrs names.
.....
I used the symlink method and both my Steam and Frontier accounts worked great. In fact, I launched both at the same time to see if it would work and it did!
If I understand correctly, you have only a single launcher with your setup that you access either directly or through a symbolic folder link. That could explain why you have a single log folder.

I doubt that this setup will allow you to run two instances of the game concurrently.
The easy way of getting that to work is using my script ; )
 
Yes, just running the launcher through the symlink will make it to be its own instance with its own user credentials. I don't have to log into them separately after the first time. To the launcher, C:\Games\ED\EDLauncher.exe is different than a symbolic link pointing to that folder from C:\Games\Noob\EDLancher.exe. Same executable, accessed through a different path.

You can try it yourself but I ran both of these side by side. Even the joystick controller would switch between instances depending on which had the focus.

Any ideas how the launcher knows which folder to use for the journals? There's nothing in the current path that would indicate a per-cmdr difference. The %username% variable is for the Windows user, not the cmdr name. I opened the .config file and also couldn't see anything there that would indicate a journals path. There's a 'client' log that seems unique per folder but that's not the journals.
 
Any ideas how the launcher knows which folder to use for the journals? There's nothing in the current path that would indicate a per-cmdr difference. The %username% variable is for the Windows user, not the cmdr name. I opened the .config file and also couldn't see anything there that would indicate a journals path. There's a 'client' log that seems unique per folder but that's not the journals.
I found no registry key or value matching the log folder names, but there's a public key in the .config of the launcher.
I suspect it uses an online or local database to store some configurations, or has it in the registry but encrypted. Does Windows have a keychain apps can use?
 
And that strange name in Frontier_developments is a mash up of the path EDLaunch was launched from..

thats why you can do a symbolic link dodge to have multiple commanders but only one install.
 
Hi all. A bit of code I found useful in my dabblings with Win CMD.

I don't want EDLauncher, Steam client or EDMC to be running before I run my alt account. To check, I use this:
Code:
QPROCESS "Steam.exe">NUL
IF %ERRORLEVEL% EQU 0 (
    ECHO "Steam is running, exiting"

Replace "Steam.exe" with EDLaunch.exe, EDMC.exe, etc.

In my simple script, I throw an error and prompt myself to quit those manually before proceeding. I found this bit of code in the wild, if you want to get fancy:

Code:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "Steam.exe"
WshShell.SendKeys "%{F4}"
 
hi,
I use the very good Elitdalt.Bat script. It was working perfectly until this morning. Our friends from Frontier we changed the Launcher, and obviously, it creates a problem. The new launcher no longer "sees" the game installed for the Alt.
 
I haven't done this myself and only playing by ear but: New login is required with the new launcher. Run the launcher, log off if you're logged in, and log into the alt account. Repeat for all of your accounts. It should work after that.
 
I haven't done this myself and only playing by ear but: New login is required with the new launcher. Run the launcher, log off if you're logged in, and log into the alt account. Repeat for all of your accounts. It should work after that.
no, this don't work. The new launcher check the installation files, and don't find that it want in alt directory. maybe some more link need.
 
Hi. I just tried my alt account with the new launcher and it works. You need to log out of your main account and log into your alt, just as you did when you first set it up.

There are a couple of ways of running alt accounts. In my case, I use a symlink folder which obviates the need to rename exe files.

If the method you are using renames EDLaunch.exe (ie: to AltAccount1.exe, etc), then of course you will need to make new copies from the original because EDLaunch.exe was updated today. The alt copies of EDLaunch you are trying to run now are the old launcher and that will prompt to do a new download.
 
Back
Top Bottom