Healix/Gw2Launcher

Advanced Configurations

DragonRulerX opened this issue · 5 comments

In #220 I discovered Localized Execution and @Healix did a wonderful job explaining how to get around the multiple accounts using all the same add-ons. However, I'm currently noticing that by following the given instructions and having checked the "Exclude addons when generating folders" that if I launch Gw2 using the normal exe rather than the launcher and make a change to my add-on settings that those settings don't transfer to the instance created when launching Gw2 through Gw2Launcher. I could totally be doing something wrong, but I feel as though changes to the add-on should be maintainable across whichever number instances of the game you wish to use them on regardless of using the Gw2Launcher to launch the game or not. I could not find a way to change "Exclude addons when generating folders" for specific accounts either.

Secondly, I found that launching the game using the normal exe does not register with the Gw2Launcher as showing the game is active. I feel as though if the game launches that the launcher should be able to know which game launched regardless of how it is launched.

Lastly, while it's not incredibly important - I feel there is value in being able to generate the account name as the folder name when using the Localized Execution configuration rather than a numerical ID. It'd just be more user friendly instead of having to go through the account list settings statistics to find the ID you want for the specific account - particularly after re-ordering the account list.

Core files used by addons can by synced so that updating one updates them all, but settings cannot. Settings were originally shared between accounts by default, but a lot of addons didn't support multiple clients at once and would crash or fail to load. Syncing settings would mean you couldn't have per account settings. I could give a temporary option to also sync settings, but it would be all or nothing. I have plans to make it more advanced, allowing for per file customization, but that's far away at my current rate.

Launches outside of Gw2Launcher aren't related to one of the accounts in Gw2Launcher. It may be the same GW2 account, but it's not the same Gw2Launcher account. If you just want to launch via a shortcut, you can create a shortcut by dragging an account. If you really want Gw2Launcher to track an outside account, add -l:id:# to the shortcut to launch GW2, where # is the ID of the account. Gw2Launcher will pick up the account when you launch or exit any account within Gw2Launcher, or restart Gw2Launcher.

To use a name for the folder, I would need to add option to specify a name, which would initially be based on the account name. The account name itself cannot be used, since it's not necessarily valid. The simpler option is just adding a menu option to open the folder, such as right clicking the account > Selected > Open localized execution folder.

My use case is probably a bit odd/paranoid. I'm exploring using Blish HUD and various ArcDPS addons, but I was getting some crashes so I was falling back on using the original Gw2-64.exe after removing all non-native Gw2 files and slowly adding things in monitoring behavior as I went to identify what configuration I wanted Gw2Launcher to end on. As I figured things out I copied the appropriate files to the folder to the Gw2Launcher using your suggestions in #220 . However, as I was sanity checking things by tweaking settings after launching from the native Gw2 filesystem - I realized addon settings in the native Gw2 filesystem did not transfer to the Gw2Launcher filesystem and vice versa. I only intend to use addons for my main account and no others so really I just want to make sure that if I change addon settings during a Gw2Launcher session that those transfer to the native Gw2 addon settings and vice versa just in case something like this happens again and I want to go through the process of sanity checking things using the native Gw2 filesystem and making tweaks there until stuff works and then not have to worry about copying the correct files back to the Gw2Launcher filesystem. I might be over complicating things though since I'm new to all this tbh. That said, I do think the idea of being able to do the "all or nothing" approach for syncing settings, but to select accounts would be nice. Personally, I just implemented a python script that executes before launch (nice feature btw) to keep things updated and sync'd which replaces the "Guild Wars 2 Unofficial Add-On Manager" (since that was just breaking things by putting files in the wrong places) and then does a "most recent setting" sync between the native Gw2 addons filesystem and the appropriate Gw2Launcher account addons filesystem.

To mimic Gw2Launcher's ability to run scripts before and after w/o using Gw2Launcher I have an AutoHotKey (AHK) script that I compiled to an exe pinned to my taskbar which contains this instruction:

Run "C:\Program Files\Guild Wars 2\Gw2-64.exe" -autologin -l:id:4

However, when I go to inspect Gw2Launcher it does not register that account as active :(

I could totally get behind the suggested menu option. Really, anything that gives me a slightly more direct path to the exact folder would be nice. I'm sure people with many more accounts than me would appreciate it if they find themselves managing those files frequently (though maybe I'm just unique in this way lol).

If you only want addons on 1 account, you could just have localized execution exclude that 1 account, then it would use the main folder.

If you wanted to use localized execution and share addons with the main folder, you could just link the addons folder, which is how Gw2Launcher worked originally. Some addons require exclusive access to their files, so this is only valid when only 1 account is using it at a time.

mklink /J "C:\Example\Guild Wars 2\Gw2Launcher\#\addons" "C:\Example\Guild Wars 2\addons"

However, when I go to inspect Gw2Launcher it does not register that account as active :(

That's because it's a waste to constantly scan for new processes, and the more efficient method to have Windows notify me when a process is started requires administrator privileges. If you were to trigger an update by launching or exiting an account within Gw2Launcher, then it would find it.

Ah! So that's what that setting is for. Wonderful suggestion yet again!

Oh, I see. Would it be possible to implement a "Refresh" button to do the same thing? Or perhaps allow at user discretion the option you just mentioned if they want to start the launcher as admin?

Healix commented

I can add an option for it. There's a few options I can experiment with.