Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Battle Net integration #3

Open
PhilipK opened this issue Oct 3, 2021 · 4 comments
Open

Battle Net integration #3

PhilipK opened this issue Oct 3, 2021 · 4 comments
Labels
enhancement New feature or request plugin A new platform that needs an integration

Comments

@PhilipK
Copy link
Owner

PhilipK commented Oct 3, 2021

No description provided.

@PhilipK PhilipK added the plugin A new platform that needs an integration label Oct 3, 2021
@PhilipK PhilipK added the enhancement New feature or request label Apr 21, 2022
@Untz64
Copy link
Contributor

Untz64 commented Apr 22, 2022

I haven't looked into identifying which games are installed yet, but for launching the title itself : dafzor/bnetlauncher#22 (comment).

There are also some URI's associated with the launcher, but I don't know if they are working anymore, or what the correct usage would be. Per the Windows registry key \HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Blizzard Entertainment\Battle.net\Capabilities\URLAssociations:
image

@Untz64
Copy link
Contributor

Untz64 commented May 23, 2022

So I started taking another look at this tonight, it's a little more complicated than I anticipated but I think I've got it figured out.

The file C:\ProgramData\Battle.net\Agent\product.db contains everything needed to map installed games; it's not a standard db file from what I can tell, but the parts we care about can be read as plaintext from the very last line of the file.

image

These are all of my currently installed games, separated by a : and some sort of byte character, but using Blizzard's own internal nomenclature. It would still take mapping those to both the real title name and the correct launch argument to get working (prometheus == pro, diablo3 == d3, etc). Not the most intuitive method, to be sure. That file also includes the mapping of the two internal name/id and install path. Notably, if a game get's uninstalled the id still remains in this last line.

At this point, I almost think the better idea is to simply allow all possible games to be added as shortcuts, regardless of ownership or install status; there's only 19 different games, with a handful having alternate version (Overwatch, Diablo3 and SC2 have test realm versions for example).

@PhilipK
Copy link
Owner Author

PhilipK commented May 23, 2022 via email

@Untz64
Copy link
Contributor

Untz64 commented May 24, 2022

I had considered that, but didn't want to leave out Mac and Linux if I could help it. But yes, probably a better option than just including all the things.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request plugin A new platform that needs an integration
Projects
None yet
Development

No branches or pull requests

2 participants