GithubHelp home page GithubHelp logo

thecheatsrichter / gw2_launchbuddy Goto Github PK

View Code? Open in Web Editor NEW
201.0 15.0 44.0 10.48 MB

Custom launcher generator for the video game Guild Wars 2.

License: MIT License

C# 97.81% PowerShell 2.19%

gw2_launchbuddy's Introduction

Preview Image

Gw2_Launchbuddy V 3.#.#

The following FAQ ony applies to the above version number!

Custom launcher generator for the video game Guild Wars 2. TheCheatsrichter. All rights reserved.

Credits:

Project Management: TheCheatsrichter

Programming: KairuByte, TheCheatsrichter

Graphics: Arenanet, TheCheatsrichter

Additonal Thanks to : WoodenPotatoes, Wonders Frostfire and all the guys on reddit who spent their time giving constructive feedback.

General usage:

Gw2 Launchbuddy automatically uses the path of the last GW2 executable which was launched on your computer. First make sure that your installation path is pointing to the right directory! After checking your path you can choose all available options for launching Gw2 which are located mostly on the lefthand side of the General tab. If your game stopped working, use the Crashes tab on the left to help diagnose any issues.

Choosing servers:

Network Settings > Wait for Gw2 Launchbuddy to load all available servers. How long it takes to load depends on your internet connection! After the lists are loaded choose one server by selecting it in the list and checking the "Use Authentication Server: x.x.x.x" box. If needed change the Server Port by editing the text next to it.

Multiboxing:

There are two ways to multibox. The first method envolves the usage of the account manager (autologin, see below). The second method is to simply press "Launch Gw2" twice. After both instances are launched you can login normaly. Multiboxing can drastically decrease your games perfomance as two clients have to read from the same .dat file. This bottleneck can be greatly reduced by using a SSD. It is also recommended to choose the "-windowed" argument on low-mid range PCs.

Using autologin:

Account Settings > Add > Type in a name for the account

With dat files: Login Credentials > Set Loginfile > Allow Launchbuddy to create a .dat file > Login to your desired account and click login. Launchbuddy should detect that you clicked login. Repeat as desired.

With Account Details: Login Credentials > Enter your email and password. Your details are stored in an AES encrypted file for additional security. Make sure that your account information is correct! Invalid account information leads to a game freeze with white or blackscreen. Two step authentication can also cause this kind of crash! So make sure that your network is listed as a trusted network ip!

FAQ:

  • My PC says that Launchbuddy contains a virus. Should I be concerned? - Launchbuddy offers many features, some of these seem to trigger false positives in some Antivirus softwares (mainly Windows Defender). This frequently happens with new releases and will get resolved in a few days after the release, as the executable will be submitted to the Antivirus companies for a depper analysis. So either please be patient or add Launchbuddy as a exception in your Antivirus software.

  • Are these options bannable? - No, all command line arguments are provided by Arenanet themself.

  • Is multiboxing bannable? - Multiboxing is legal as long the rule "1 Input = 1 Action" isn't broken. Compare it to people with multiple accounts and multiple computers, they basically run two instances of the game at once.

  • Why does this program need internet access? - Internet access is needed to report a crash and to fetch the Gw2 server lists.

  • If I choose to use my account details as a login method, where are they stored? - Your account information is stored at %Appdata%\Gw2 Launchbuddy\Accs.xml" as AES encrypted text, so readable access is only available via Gw2 Launchbuddy!

  • My game freezes and shows a black/white screen when using account details to autologin. - This error is usually caused by invalid inputs in the account manager, such as incorrect login info. If you use an authenticator and haven't authented your current IP, this is also a cause.

  • Can I multibox without using Autologin? - Yes simply press "Launch Guild Wars 2" twice.

  • After some time an error message "Error 502" pops up. What does it mean? - This error is caused by a downtime of the official Gw2 API. Gw2 Launchbuddy will still work as normally, however launching the game without the newest Guild Wars 2 build can cause a crash!

Want to help me out? Use the donate button or support us ingame TheCheatsrichter.6547, KairuByte.2703.

gw2_launchbuddy's People

Contributors

aussiemon avatar deltraecho avatar dependabot[bot] avatar dreanor avatar fenrylsaylem avatar jacob-keller avatar kairubyte avatar kmutagene avatar lego6245 avatar mrpatpat avatar nakami avatar rbucinell avatar scrambledbrain avatar snaid1 avatar thecheatsrichter avatar thenasbit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gw2_launchbuddy's Issues

Cannot launch multi instances with 1.4

It gives the error .dat is not accessible on multiple instances tested with no parameters, both 32 bit, both 64 bit and 1 32 1 64. Nothing works.

If i open 1.3.1 however, it works just fine.

1.3.1:
image

1.4:
image

launch buddy use with arcdps + ReShade

If a user wishes to use GW2 Launch Buddy while using arcdps, it seems that you have to put the arcdps d3d9.dll into the main folder (Program Files\Guild Wars 2) instead of in the bin64 directory.

I'm not certain why this occurs but i think it has to do with what directory the gw2-64.exe is launched in, as it now uses the main directory as a search path.

This is normally ok, users are just aware to put a copy of the arcdps (or any other added) into the main dir instead. This causes a few problems however.

First, it means the user has to have two copies of the d3d9.dll incase they launch the game client directly.

Second, more importantly, it prevents chain loading into ReShade. This is because ReShade does not load properly if d3d9.dll is in the main directory (also not completely certain yet why this occurs).

Essentially, arcdps will load a chainloader for d3d9.dll which then loads ReShade64.dll. However, ReShade64.dll will not load because it finds the d3d9.dll file in the top level and exits.

Since we need the d3d9.dll in the top level to use launch buddy, this prevents the user from being able to use arcpds with ReShade. Additionally, after the ReShade fails to load, arcdps itself doesn't finish loading and you end up getting neither addon working correctly.

I believe the fault is that launchbuddy changes the load path. Alternatively it may be ReShade code which fails to load when a d3d9.dll is in the top level directory, but I'm unsure how to fix either of these issues.

UI missing mouse hover tooltips

[feature request] Hi, I'm trying out LaunchBuddy for the first time, and I find some of the custom icons difficult to predict. Can you please add tooltips on mouse hover? Examples:

  • main UI top right corner ("Cinema Mode" located at the "minimize window" location)
  • GW2 Instances window icons. Some of these clicks have a very forceful effect!
  • probably unrelated, but in general no warning popups for extreme actions like killing windows (Are you sure you want to close Launch Buddy? etc.) Will clicking X on main UI window close all instances too?

thanks

update notice everytime

Every time when I start the Launchbuddy, it always tells me to update the game client which is up to date actually. Do you have any idea about that?
111

Reshade support

Does this support Reshade or do I need to run the game as usual to be able to use Reshade ?

SerializationException occurs when program opened

Launching the program (1.6.0) only makes a window appear saying:

The ObjectManager found an invalid number of fixups. This usually indicates a problem in the Formatter

Once dismissed, the program closes.

0.8 Error in shortcut creation

Error reproduced below:


Error when creating shortcut. Invalid path?

The system cannot find the path specified. (Exception from HRESULT: 0x80070003)


Then the install folder pops up.
I placed gw2.Launcherbuddy into the install folder and the same happens.

Individualize account settings

Code refactoring (KairuByte/Gw2_Launchbuddy/refactor) includes changes to the way we use/store/reference both Accounts and Arguments.

Ultimately the Account object will have an Arguments object which is a collection of Argument objects.

This is likely going to be true of other settings, such as graphics settings and third party tools.

To take full advantage of this, we will need to change the UI in some way to specify which account is being altered, but in the meantime I will ensure we can interact with all objects of each type from one centralized type specific location to stop gap the need of a UI update.

-maploadinfo option missing

After the latest update with the LW3 ep4 patch the -maploadinfo option has disappeared from lauchbuddy. (see below)

image

Already Running

I keep getting this pop up, even tried running LB as Admin. Not sure what to do in this case. Tried clearing gw2cache folders even.

I get this when selecting 2 accounts and hitting launch.

0.8 Whitescreens Gw2

As title, whenever I launch Gw2 it white screens.
I use Autologin so that may have an issue with it.
No multiboxing.

Get Server IPs

Hey! I was working on a similar tool in Java while back and i thought this might help you.
You can get the current server IPs using a dns query. I don't know how to do this in C# but there is probably a simple way.
The Host addresses are these:
assetServer = "assetcdn.101.ArenaNetworks.com";
authServer1 = "auth1.101.ArenaNetworks.com";
authServer2 = "auth2.101.ArenaNetworks.com";

You can try out dns queries here: http://www.dnsqueries.com/en/dns_query.php
Result for the Auth1 Servers:
arenanet auth server

In Java there is a simple function to get the ips in an arrays so i guess it wont be too complex in C#.

I hope this is somewhat useful ;)

1.5.2 Detected as malware

More specifically, my antivirus (Bullguard) detects is as a malware: Trojan.Generic.22695465
I can still run version Beta 1.4.2 without problem.

"Unable to check for Launchbuddy Updates"

This error started today on launch:

"Unable to check for Launchbuddy Updates. Please check your internet connection"

I'm not sure what changed; I'm still able to access the releases URL on the same machine through a browser, as defined here.

Custom Windows Theme settings interfere with font color

hey, as use a dark mode windows theme, my fonts in Launchbuddy get messed up and as a result making it almost impossible to read the descriptions on the general tab.
may you let me choose the font color myself?
thanks!
image

LB created shortcut enhancement

Shortcuts are fundamentally flawed, in that they try to replicate the functions of Launchbuddy in a way that was never intended. A long string of programs to start and specific arguments alongside plaintext passwords is unmaintainable.

Launchbuddy needs to support command line arguments itself. This would allow "secure" storage of passwords to continue, along with multibox support, and proper addon support.

I will work on this when I have time, unless TheCheatsrichter gets time to do it.

Way to remember position and size of each windowed sessions

-Hello i run 5 accounts at the same time so could be nice if i was not forced to resize and move them between my 2 screens each time i restart them.

-Could we have individuals parameters for each session ? (nomusic for one and not for the other etc) i think it will be implemented with the shortcut functionality but just in case.

Regards.

Program wont open?

So I've used your program for a while now but it suddenly stopped working. I downloaded the new version, but whenever I try to open the program nothing happens (ran it as admin).
Two files are created on my desktop (where the .exe file is located) "CrashReporter.NET".dll and "Xceed.Wpf.Toolkit.dll". Do you know what could be the problem?

I'm running W10 if that makes a difference.

Multiple problems when Guild Wars 2 client has never been run

While debugging mutex code I started the application under a user account that has never used the client before. Multiple exceptions ensued. Better handling of first ever run should be on the list of things to do.

(I can likely handle this eventually but I'm looking for existing mutex problems that will effect most people)

Third Party Tools (Plugins)

Support for third party tools can be straightforward, or complex. When you include things like updating the tool (arcDPS), encompassing settings/files (reshade), and more, plugin structure makes more sense than these being part of the main application.

This would allow individual updates to each plugin, as well as allowing users to create their own plugins, without the need to compile them in.

Security will need to be taken into account for things like email and password, as well as any API keys that may be stored down the line.

Mouse/ Keyboard capture

When using the LB function keys and additional buttons on the mouse get captured by the app.
For example using the function key "mute" gets captured and therefore will not result in the audio to stop.

This might also be the source for those keys not working in the gw2 client childprocesses.

1.6.0 - Disable splash window

Hi,

While launching the Autologin / Multiboxing feature, the "always on top" splash window that appears while Launchbuddy is starting the multiple copies of the games is more of a bother than a feature :

  • If Launchbuddy fails to start even one instance, it'll stay forever, taking a good chunk of screen space for nothing.
  • Even if it works, it still uses a ton of screen space while starting, which in my case (I'm starting the games full screen) prevents me to do anything until every instance of the game is started.

The splash window should be at least an optional feature, or not be set as "always on top"

Resetting audio sliders

It seems using a graphics config resets the audio sliders without an option to customize them.
Every time I launch an alt through LB my sliders are all messed up.

Request: Option to disable -nopatchui

Right now -nopatchui is preventing programs such as ReShade 3.0+, GW2Hook, and even ArcDPS from running properly. If given the ability to disable -nopatchui .. this might help to get other 3rd party programs working properly with GW2 that can't be used with LaunchBuddy currently.

Obscure Email Address

Because of the availability of nicknames it would be best to have the email addresses obscured.

The way I would do it is have an edit button that when you click has a popup that allows you to change the email and password. This way the total number of characters of the password wouldn't be easy to determine, and the email wouldn't be plainly visible.

Difference in .exe size?

Today I noticed that if I compile Gw2_Launchbuddy, the EXE's size is smaller than the one provided in the Releases page here on GitHub. Why is that?

Alternative Encryption

I believe the current state of encryption may do well with an overhaul. I'm thinking a master password that can be "remembered". The account info would be encrypted with the master password, and the master password would be stored in the registry encrypted using System.Security.Cryptography.ProtectedData.

If the master password is saved, attempt decryption. If decryption fails, query the user for the password. In this way, the settings will be portable between machines/operating systems and will still be secure.

Downside is that there would be no way to recover the data if the password is forgotten.

Upside is that we could support a "portable" mode, where the settings can move with the user from machine to machine.

Might want to consider allowing the user to select a skip option, where a random string is chosen and used. The data would still be secure but if they ever swap computers or OS's they would lose access forever.

Use non-listed assetserver & login feedback

GW2 LaunchBuddy (v1.42) is a very nifty tool. It has allowed me to run multiple copies without having to use various batch files to get online with more than one GW2 instance.

I have found an area that would improve the user experience. I would like LaunchBuddy to be able to store and use an manually entered assetservers.

I currently cannot run GW2, due to continuous connection errors, unless I follow the advice of the following 2-year-old forum post:
https://forum-en.guildwars2.com/forum/support/support/Connection-error-s-detected-Retrying-100/first#post5016682 which contains a post from a dev (Chris Cleary) which says: ...

If you are still having (connection) problems, try adding this to your GW2 Shortcut Target:

-assetsrv 62.154.232.187:80

Here is a list of alternatives to also try:
194.25.94.170:80
174.35.71.9:80
151.249.90.199:80
93.188.135.37:80
62.154.232.194:80

The only assetserver currently visible to me in the LB Server selection tab is 174.35.56.164 (ping 0). When I select in LB and specify an account then attempt to start the game...I do not connect and there is no error message from LB. When I edit a GW2 shortcut with that assetsvr argument, I see connection errors.

I then edited a GW2 shortcut to include -assetsrv 174.35.71.9:80 (picked randomly from the list) and now have no problems connecting, but cannot use LB for that assetserver since it is not available.

For a future update please modify LB to include the above listed assetservers and allow additional ones to be added. Also please let it provide feedback during login to alert us of any problems found during the login process.

download location of updates

Any chance you can change the download location for updates to the working directory instead of the GW2 install directory.

Personally I store Launch Buddy is a completely different place to guild wars and have to move the file every time it updates.

Gracefully handle Client updates

We need a way to gracefully handle updates.

The less elegant way is to force updates, run with "-image", locking down launch until the update is complete. This would require checking for subsequent gw2.exe processes as the process restarts during update. This is the quick and dirty way, as progress is not visible, and LB would look as if it was "broken" while the process happens. This process breaks "immersion" within LB, as the original client is no longer hidden and makes a surprise appearance.

The more elegant way would be to force updates with "-nopatchui -image", and monitor the process as it does it's work, allowing the data related to the update to be skimmed and shown in place of the login form. How this can be accomplished depends on many factors. Reading from memory may be possible but should be a last resort, as it pushes into grey areas of the ToS.

Users should not be given the option to not update, as this could potentially result in multiple clients attempting to update gw2.dat at the same time. In this state the clients would also appear to not be opening, and may cause the user to attempt to open more copies of the client.

Ignores the parameters sometimes.

This happened to me with previous versions as well, sometimes it'll launch whatever is the latest version i launched regardless of what i choose.

Example: -32 -autologin still opens 64b client, or sometimes just -autologin opens 32b even if it is not ticked.

If i tick or untick ANYTHING under "general" it just resets back to whatever is picked at the moment the moment i reopen the launcher.

Example: -32 is selected yet it opens 64b. I deselect -32 quit launchbuddy, open again and -32 is selected again. Yet it keeps launching 64b regardless of if i select it or not.

I don't know how to fix it except "set directory" again which seems to fix the first issue. However things still won't be remembered.

Launchbuddy with monitor snapping support/multiboxing/multimonitor rig.

More of a suggestion for those of us with multiple monitors. Multiboxing setups open all the windows on the default monitor. However, I would like each instance to open up in a monitor of my choice. So part of the account options would allow us to select options: unset and monitor x, use new monitor for each new instance...

If that is not doable, perhaps an option to have unique process names and windows titles so I can use a monitor management software such as Displayfusion to move the windows to a monitor of my choice.

Suggestion: less chrome and compatibility with Gw2Hook

Hello,

Excellent tool.

Could you please add an option to turn off the black skin for 'Game Instances' so I can just put the options to the side and not have it overlap my UI?

Compatibility with Gw2Hook would be appreciated. I understand this may be quite difficult though.

Misleading answer on faq conserning security

It's true that the account details are encrypted, but that doesn't really help anything if the encryption key is hardcoded and available for anyone.
This fact should either clarified or better yet made safe by requiring master password when launch buddy is opened (Same way as password managers work).

GW2 Launch Buddy process dies while loading.

Basically what the title says.

In Event Viewer the following event is generated:
Faulting application name: Gw2.Launchbuddy.exe, version: 1.4.1.0, time stamp: 0x58aad2fe
Faulting module name: dxgi.dll, version: 3.0.6.165, time stamp: 0x586927a4
Exception code: 0xc0000409
Fault offset: 0x00000000001143eb
Faulting process id: 0x2688
Faulting application start time: 0x01d2b3c62338d2a3
Faulting application path: E:\Guild Wars 2\Gw2.Launchbuddy.exe
Faulting module path: E:\Guild Wars 2\dxgi.dll
Report Id: 4268fbc6-0879-4b4c-a6be-798017af3f0b
Faulting package full name:
Faulting package-relative application ID:

1.5.3 attempt to deserialize an empty stream

So I click the shortcut on my startup bar and this error message shows up shortly after the GW2LB loads up without any of my auto login account credentials.

It's been behaving perfectly normally up to this point and I've been using this app for a long time and never seen this issue before.

Any chance I can fix this without resetting all the passwords?

1.4.2 can't multibox 80% of the time

Just like #33 , getting this error about 80% of the time. Sometimes it works randomly, though no changes have been made. Could this be because the -shareArchive option is not set when starting gw2-64.exe? On the troubleshooter after this message it lists the command line options used and that one isn't present.

Code Refactor

We have a large amount of logic tied directly into the main window of the application. We also have object classes scattered in different places, as well as static classes.

Object classes and logic related to that object should be moved into their own file. Most logic needs to be pulled out of MainWindow to facilitate shortcut functionality, as the code does not always function as expected if we simply create the mainwindow object and never fully initialize it.

1.6.x - cannot autologin when passwords have spaces

Confirmed with 2 different people and 2 different accounts - works fine with accounts that have no spaces in their passwords.

Accounts that have spaces in the password sit on a white screen (fullscreen windowed is how I run GW2) and never make it to character select. ALT-F4 shows evidence of the password, past the first word, in the debug log:

Cmdline: -maploadinfo -shareArchive -nopatchui -email [email protected] -password ******* REST OF PASSWORD HERE

Settings

Recently downloaded, ran the clear app data, and clear bin.
Settings set while using launcher will not stick.
Have to set my display to windows full screen, larger text each log in, will do these settings outside of launcher later today, but while launcher is on, these setting sill not be permanently set.

Won't start

Won't start at all for me, I've tried multiple versions and every time I get a not responding error before the programme even opens.

Nevermind it was a problem with sweetfx i removed it and reinstalled it and its working fine now.

Debug Logs

We need to throw some sort of debugging into the application for those bugs users report that are not straightforward.

setting up Reshader

Does anybody know any guide on how to setup reshader with Launchbuddy? I can see the option but don't know which files to download.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.