Healix / Gw2Launcher

Manages and allows for multiple Guild Wars 2 clients to be launched
MIT License
177 stars 24 forks source link

Just a few questions! about graphic changes and disable addons #156

Open 1Nor1 opened 2 years ago

1Nor1 commented 2 years ago

Amazing piece of software but i am still trying to manage many things, for some reason some accounts i cannot update graphic settings and ive tried create new file , copy from or share, and whatever options i have in gw2launcher gets overwritten when i access the game the strange thing is only a few accounts...so i wonder now...what is the proper way to change graphic settings or as well certain in-game options because that as well doesn't remain saved...

also how to disable certain addons like for example arcdps, radial mount and reshade is there any command or option for this?

anyway thanks again for the amazing program!

Healix commented 2 years ago

GW2 stores your graphics settings in Local.dat and offers GFXSettings.xml as an override for some of the settings. If the Local.dat file is new / has never been used before, GFXSettings.xml is ignored.

When launching an account via Gw2Launcher, GW2 will be in read-only mode, preventing changes to Local.dat. To change any settings, right click the account > Selected > Launch (normal), which will limit you to 1 account at a time. If the account (specifically the Local.dat file for the account) has been launched like this before, you can change the graphics settings from within Gw2Launcher, except the resolution when changing between full screen and windowed for the first time.

If you have accounts sharing a GFXSettings.xml file, note it's a free for all (they're all overwriting each other), so any changes should only be made when there's only 1 account actively using it.

Gw2Launcher doesn't manage addons. If toggling addons is something you're regularly doing, the simplest option would be to create a second account with the addons removed. Alternatively, you could create a simple batch script to change the extension of the DLL to prevent it from loading (move x.dll x.dll.disabled).

1Nor1 commented 2 years ago

ah most excellent this works i was so confused very thankful for speedy response , great idea about the batch program will check it out. Another thing so far i have been able to have 11 clients open at the same time but it does have some stuttering i have lowered all (fps 30, subsample, everything to lowest or off even add processor below normal not sure if any other obscure setting or command to gain some better performance and lastly for connections ive had no issues doing 20 in less than an hour but at some point it takes longer time to login any settings to try to make it more efficient?

Healix commented 2 years ago

If you wanted to prioritize a specific account or the system in general, you could configure the process affinity to limit every other account.

There is a limit to how quickly you can login. Each attempt will increase the time it takes to login until you stop for a time. If you were to spam login requests for example, they'll all fail until you stopped. It's entirely IP based, so if you had 2 computers, one would affect the other. People with a lot of accounts end up splitting them into batches and doing them throughout the day.

apocalycious commented 2 years ago

As an alternative to doing a few throughout the day in batches, I wrote an AutoIT script that will connect to a VPN server, launch a pre-defined number of accounts, wait for them all to start, wait for them all to close, and then connect to another VPN server and repeat until it goes through the whole list. I'm using NordVPN for cost and convenience, and the fact that they have a command-line option that lets you connect to a new server by #, but it would probably work with any VPN service that has command line options for connecting by number.

https://github.com/apocalycious/gw2launcher-autoit/blob/main/Accounts2.au3

It's not at all optimized, and I have some ideas on features and so on, but it works :)

As a side note, there are two things GW2Launcher could do that would let me do all of that with GW2Launcher instead 1) There is an option for starting an executable after an account launches, but the ability to run a command BEFORE the account launches would allow connecting to a VPN before certain accounts in the list. 2) A flag for an account that sets a "breakpoint" on that account. What I mean is that if you launch a set of 20 accounts, you could set that on the 5th, 10th, 15th, and the launch all 20. It would run the first 5, and wait until the 5th window is closed before starting the 6th, instead of starting the 6th as soon as any of the first 5 is closed. Then it would do the same for the 10th, etc.

But it's also easy enough to do it through my script, too, now that I have it.

1Nor1 commented 2 years ago

Oh wow that's pretty good I just kept reading so many blocks due to vpn that I ended up using my hotspot on the other accounts and works okish and yeah that may be harder to script rn but is decent (ill check trying north vpn and that script)...as of now I'm trying to see if I can load maps faster or consume less ram when having 10 clients at the same time.

btw how to avoid the annoying type authentification due to new network is gonna be a pain going through all of the accounts i guess it also happens after a major update?

apocalycious commented 2 years ago

Because of the way I set the script up, I connect from the same IP every time on every account, because I'm using the same VPN server every time, for every account. I had to do the network authentication thing once, but I haven't had to do it again.

That may help with the blocks too, since it's the same IP connecting for the account every time, and not random ones. I don't know. It hasn't happened to me.