Ever since steam allowed to add non steam games to it that it become my gaming hub having all my games there ready to be launched.
There’s many ways to add blizzard games to steam, but I’ve made bnetlauncher to be the simplest method while retaining the benefits of automatic login.
Project Status
It’s now been years since I last played a blizzard game so this project has been put into “maintenance” as I’m no longer a user of it.
Contributions are still accepted (new games, features, etc) but other then those no further developments will be made.
There still other launcher project in active development like Launchpad in case bnetlauncher no longer works for you.
Howto Use
- Extract the included exe to any location you want (ex: steam folder)
- Add the exe to steam as a non-steam game shortcut
- On the shortcut properties open Set Launch Options… and add one of the following codes:
code | game |
---|---|
codbo4 | Call of Duty: Black Ops 4 |
codbocw | Call of Duty: Black Ops Cold War |
codmw2019 | Call of Duty: Modern Warfare (2019) |
codmw2crm | Call of Duty: Modern Warfare 2 Campaign Remastered |
codmw2 | Call of Duty: Modern Warfare 2 + Warzone 2 |
cb4 | Crash Bandicoot 4: It’s About Time |
d3 | Diablo 3 |
d3ptr | Diablo 3 Public Test Realm |
d4 | Diablo IV |
di | Diablo Immortal |
hs | Heartstone |
hots | Heroes of the Storm |
ow | Overwatch |
owptr | Overwatch Public Test Realm |
scr | Starcraft Remastered |
sc2 | Starcraft 2 |
w3 | Warcraft 3: Reforged |
wow | World of Warcraft |
wowclassic | World of Warcraft Classic |
wowptr | World of Warcraft Public Test Realm |
The result should look something like this:
Additionally, can also use Change Icon to use the icon of the game you’re adding. If you’re still unsure how it should work you can watch a video bellow of bnetlauncher in action:
Public Test Realm and World of Warcraft Classic
With the release of the the new client in 2021 it’s no longer possible to launch PTR and Classic version of games without manual interaction.
If you’re brave enough there’s an untested experimental 2.15 version that tries to restore that functionality.
Troubleshooting
In case of problems logging can be enabled by creating a enablelog.txt file inside %localappdata%\madalien.com\bnetlauncher\
, you can open the location by pasting the path into explorer or the run dialog in windows (WinKey+R)
Known Issues
- Launching WoW Classic and PTR version of game depends on the client gaining focus for bnetlauncher to send a keypress to it so it will launch the game. Not letting the Battle.net client gain focus will break the functionality.
- Slow computers might take too long causing to bnetlauncher to think something went wrong, see additional options on how to use –timeout to fix it.
- Enabling multiple instances of battle.net client in it’s options might break bnetlauncher functionality.
- Users of MSI Afterburner, Fraps and other overlay software might experience crashes do to incompatibility with their own overlay and steam’s, to solve the issue disable the 3rd party application overlay.
- The game, bnetlauncher and steam must all have the same running permissions to work properly, this means if one of them is running has Administrator/Elevated Permissions, then all of them must also be run has Administrator/Elevated Permissions.
- It’s not possible to automatically launch games with a specific region set. The client provides no direct option to do this, however a workaround can be done by creating a new game entry and the nolaunch option and manually selecting the region before clicking play.
- Battle.net client “ads” will interfere with the PTR and WoW Classic wow launch, when it happens user will need to press the play button manually to continue the game launch.
- Default launching the client trough a scheduled task may be incompatible with some setups, workaround is provided with
--notask
switch/option. - Starting multiple copies of Startcraft Remastered may cause bnetlauncher to show an error since the game only allows one instance to be run at the same time.
- There’s no built in routine to clean up the log files if they pile up (logging is disabled by default)
- Call of Duty: Cold War might work better when using –timeout 10 for some users.
Aditional options
There’s also the following additional options provided by command line switches:
--timeout <seconds>, -t <seconds>
changes how many seconds it tries to look for the game before giving an error (15 seconds by default).--notask, -n
starts the launcher directly instead of trying to use a scheduled task--leaveopen, -l
leaves the client open after launcher the game. If combined with--notask
option it will show you as playing on steam until you close the client.
Uninstalling
To remove all traces of bnetlauncher from your system:
- type ‘Task Scheduler’ in start menu and open it, expand library and delete bnetlauncher folder to remove the tasks used to start the client
- type
%localappdata%\madalien.com
in start menu and open the folder, delete bnetlauncher folder to remove log and gamedb.ini files
Requirements
- Windows 7 SP1 or above (Only tested on current release of Windows 10)
- .Net Framework 4.7.2 (included in Windows 10 April 2018 Update [Version 1803] or above). Download link: https://www.microsoft.com/net/download/dotnet-framework-runtime
Contributors
internet coder Maruf for ghost tray icon fix code github Ethan-BB for the new parameters to launch games on battle.net.
github RobFreiburger and iMintty for Starcraft Remastered and Destiny 2 support respectively.
/u/fivetwofoureight for creating and allowing me to use his icon. /u/malecden, Maverick, /u/sumphatguy and others for their help pointing out bugs.
github jbzdarkid for fixing some typos in the documentation.
github jacobmix for crash bandicoot 4 addition
github KyleStilkey for Diablo Immortal support
github d3rt0xx for MW2 & WZ2.0 support
github Sectimus for Diablo IV support
Downloads
bnetlauncher releases (on github)
github repo (Source Code, Issue Tracking, Complete README.md)
Other versions
Heartsthone not working now, battlenet://WTCG is changed after last hearthstone patch.
Do you know what’s the new shortcut if any?
PS: I just downloaded and tested heartstone and the shortcut seems to still function as expected.
how does this work? i couldnt understand the source code.
The code shouldn’t be hard to follow, almost all the functionality is in Program.cs. Just start in the Main function and follow the code down, if you just read the comments it should give you a general idea. Unless you want to know something more specific.
I’ve followed the included instructions, but it fails to launch the requested program. Checking the logs, it doesn’t display an error.
[2016-11-08 20:54:29.3360]: Battle.net Launcher for Steam version 1.8.6156.2282 started
[2016-11-08 20:54:29.3390]: OS: Microsoft Windows NT 6.2.9200.0, Runtime: 4.0.30319.42000
[2016-11-08 20:54:29.3420]: Checking for other bnetlauncher processes
[2016-11-08 20:54:29.3460]: No other bnetlauncher detected
[2016-11-08 20:54:29.3510]: Got parameter: ow
[2016-11-08 20:54:29.3550]: Got valid alias for game ‘Overwatch’
[2016-11-08 20:54:30.0483]: battle.net client is fully running with pid = 6200
[2016-11-08 20:54:30.0513]: Issuing game launch command ‘battlenet://Pro’ at ’08:54:30.0513′
Try this, Click Winkey+R to open the run dialogue and then paste battlenet://Pro on it and OK, does it launch Overwatch? If not you may need to reinstall the battle.net client. Alternatively you may try to fix it my using this reg file but reinstalling will likely be there safer route.
Is there any way to toggle a region? For example, I want to launch the Overwatch PTR through this, but it keeps defaulting to the Americas region.
This is something I would like to make happen but so far been unsuccessful, I even thought I had figured it out recently but it turned out to be a dead end. So for now there’s just no way to do it, sorry.
And the problem was…. MSI Afterburner/Rivatuner hooking up on overwatch before steam overlay could.
The only problem I still have is steam overlay not working 🙁
Does the job thanks a lot! Had a problem with it crashing on launch but read the comments and reinstalled battlenet. Thanks!
That’s cool man. I’ll definitely check out the Origin related links, even though I actually don’t have that many games there. I do have quite a few GOG games, though, and it would be nice to use the Steam overlay and still get the tracking and achievements on GOG. But I guess there’s a point where you need to accept that some things won’t always be as streamlined as one would’ve wished. Not in this corporate run, DRM-filled world…
However. I’m very, very interested in getting Uplay stuff to work with the Steam overlay. I’d say Uplay is probably the only place (except Battlenet) where I actually have “real” games I care about, outside of Steam. And with Wildlands, For Honor and a new WD coming up, a polished script solution (or really any solution) would surely be worth its weight in honey!
Been using the beta version (v17b2) for a few weeks now, works like a charm for Overwatch and HearthStone! If someone made an app like this (*hint hint*) that worked with Uplay, Origin and GOG Galaxy as well, I’d be happy to pay for it in honey, backrubs, money, beer – or any other currency that the developer might prefer.
Anyway, thanks for all the time and energy you invested in this project. I’ll share your web page forever now <3
You’re not the first to ask for Origin and I’ll say it’s very unlikely I’ll ever do anything with it, I don’t own any recent titles on Origin and the ones I do, battlelogium and Origin Requirement Remover already do everything a launcher could do only much better.
As for uplay I actually already have a personal solution in the form of a powershell script that use for The division and The Crew, maybe I’ll polish it up for “public consumption”.
So as not to be one of those guys that fixes it and abandons it to leave everyone else in suspense, figured I’d post. I fixed it, in a way that strikes me as odd.. perhaps I missed something somewhere. But, I followed your original screenshots for setting it up; Placing the launcher.exe in the Steam directory and letting that be its place. Worked fine for awhile. Just to try to take a stab at this, I moved the launcher.exe to Battle.net’s directory instead and adjusted my shortcuts. Has worked fine since with no issues. There permissions on both directories are identical, so I am at a loss to explain why this is.
If changing directories fixed your issue perhaps somehow windows had applied a compatibility layer to it?
Once upon a time I had an issue where Windows would set Steam itself in a compatibility layer causing all sorts of problems until i went into the registry and removed it. Found this post that seems to indicate most of the App Compatibility entries if you want to take a peak https://journeyintoir.blogspot.pt/2013/12/revealing-program-compatibility.html
Pingback: Hearthstone: Heroes of Warcraft – Jinx's Steam Grid View Images
Pingback: Diablo 3 – Jinx's Steam Grid View Images
Pingback: Overwatch – Jinx's Steam Grid View Images
Thx bro!
I reviewed the video a few times, got a overwatch installation on my computer (don’t own it so can only get to the login screen where it asks me if I wan to buy it) and everything seems to be working as it should.
bnetlauncher requests battle.net client to start Overwatch, closes it and reopens it under steam to make steam overlay attach to the game, it all ran on my computer the same way it seemed to run on your video being the only difference the start and stop of atbroker.exe (accessibility tools from Microsoft).
The only thing that would occur me to try at this point would be to temporarily disable any Anti-Virus or other overlay software to see it has any effect.
I’ll also try and run some tests some other machines but that’s about all I can do atm.
Daf, I do not. I enabled it just now, the end result was a secondary Battle.net window popped up prompting me for my login information.
?ade do you have “Allow multiple instances of battle.net” enabled on the battle.net client?
Daf, I apologize for the delay, don’t have much time to sit down and record these things as of late. But I got the footage for you. https://www.dropbox.com/s/0x0xz61z7z0dj1l/clip0002.avi?dl=0 It’s only of Process explorer itself, and I saw above about disabling browser acceleration but it yielded the same results, so I turned it back on, hence the multiple helper exe’s running.
Thanks for this, really useful 🙂
You should throw the sourcecode up on github so you people can report issues and maybe even fix them.
If any of you are having the no overlay problem, it may be RivaTuner Statistics Server if you have MSI Afterburner installed. That was my problem. You can disable application detection for Overwatch specifically in the RivaTuner options.
Nevermind Daf, I’m an idiot, sorry. Forgot I had show file extensions off. Here’s my log. https://pastebin.com/TNMeiUXM
Looked at the log and couldn’t find anything that would explain the behavior you described. So I would really appreciate if you could record it with process explorer open with the bnetlauncher processes visible (minimize wininit.exe and chrome.exe process trees) in the hopes of figuring out what’s going wrong.
Daf,
I apologize for the late reply, had some RL issues. As I said, the log never had anything in it, assuming it’s in the actual enablelog.txt file. The only thing that’s possibly worth noting is that when I did look in the folder, a file was in there labeled bnetlauncher_startedclient.lock. I deleted it but it never came back. I’m willing to attempt to record behavior and upload it somehow if that would be an example, but it’s not recording logs as it is.
Is there anything else I can do?
Ah ha! You are correct, I had apparently disabled the hardware acceleration.
Thank you for the note about the flaw in my modification. I usually have Battle.net running, so it would have been awhile before I noticed it but it definitely would have left me scratching my head eventually.
I have scrapped my modified version and have been using 17b2, your beta version. Functioning smoothly so far, but I will report any issues. Thanks for your swift and thorough responses!
~dredknot
I have uploaded a beta version with a new method to detect the battle.net client is running if you could download and test it out I’d appreciate it, so far it seems to be working okay on my computer.
I could never figure out why I don’t have two “Battle.net Helper.exe” processes, so I modified your launcher to only check for one. It seems to be working just fine so far, but are there any problems I may run into only checking for one instance of the process?
Also, any ideas why I no longer have the second helper process? Your unmodified version worked fine for me a few days ago. To my knowledge there hasn’t been any updates to the Battle.net app and I haven’t made any setting changes.
I honestly don’t know, on my own personal computer battle.net client always create the two processes so that’s what i used to make sure the client was fully running. Making bnetlauncher check for a single process breaks launching games without the battle.net client running so i’m trying to better understand what’s going on in the battle.net client. Some theories I had so far where running the client in admin mode (didn’t work), 32bit windows (haven’t been able to test yet) and the launcher not having 3D acceleration on (not sure how to test for that). Once I actually understand what’s going I hope i’ll be able to push something that might work for everyone.
It seems in Battle.net Client settings -> general -> advanced settings -> disable browser hardware acceleration will cause only one “Battle.net Helper.exe”, I’m assuming you disabled that setting which caused bnetlauncher to fail, I’ll try and figure out a better way to test if battle.net client is fully open.
Battle.net desktop app
Battle.net Helper
Battle.net Update Agent
Those are the three processes I see running.
It can’t find my launcher anymore today. Battle net is open and running.
[2016-09-26 14:33:56.1758]: Battle.net Launcher for Steam version 1.6.6032.35355 started
[2016-09-26 14:33:56.1788]: Checking for other bnetlauncher processes
[2016-09-26 14:33:56.1818]: No other bnetlauncher detected
[2016-09-26 14:33:56.1869]: Using parameter: battlenet://WoW
[2016-09-26 14:35:56.2755]: battle.net Helpers did not start.
[2016-09-26 14:35:56.2785]: Could find the battle.net running and failed to start it. Exiting
It seems bnetlauncher is not finding two processes named “Battle.net Helper.exe” running, could you confirm that they’re indeed running on your system when you open the battle.net client?
Works a lot better than /u/malecden’s method, thanks.
[2016-09-23 15:31:11.2879]: Battle.net Launcher for Steam version 1.6.6032.35355 started
[2016-09-23 15:31:11.2889]: Checking for other bnetlauncher processes
[2016-09-23 15:31:11.3309]: No other bnetlauncher detected
[2016-09-23 15:31:11.3319]: Using parameter: battlenet://Pro
[2016-09-23 15:31:11.6679]: battle.net client is fully running with pid = 6652
[2016-09-23 15:31:11.6689]: Issuing game launch command at ’03:31:11.6679′
i cant launch overwatch 🙁
is that everything in the log? is there any error message displayed?
Bnetlauncher stopped functioning for me as of the Battle.net Streaming update. I followed your instructions to enable logging but nothing is in the log itself. If this was already solved I apologize but saw nothing. Blizzard file Switch’s association is present. I too am running Windows 10 Pro x64 Build 1511.
The behavior is as follows; The launcher WILL actually make the game of choice launch, but the process itself terminates and I get no overlay. In Overwatch’s case in particular, it will launch, try to connect and have an overlay, then closes, then re-launches and prompts me for my Battle.net login.
Any help would be appreciated, hate not having my overlay.
Do you have blizzard streaming enabled? Could you also still post the log (or email it to me if you prefer)?
I just tried and Windows doesn’t recognize the command, it asks me to search an application on the Windows Store. It could be the problem, I don’t know if it’s specific to me or if Blizzard changed something but it doesn’t work on my friend’s computer too.
Thank you for your answer
There’s a few things you can try, you can go to “Control Panel\Programs\Default Programs\Set Associations” and check if BATTLENET entry is associated to “Blizzard File Switcher” (it’s actually just the battle.net.exe in program files), you can try reinstalling the battle.net client to see if it restores the association or you can try importing this regfile of the file association i took of my computer (Windows 10 Pro 64bit), only do the registry import as a last resort though.
Good morning,
Your launcher worked a few months ago but I think a recent Battlenet update broke it, it doesn’t work anymore. Here is the log :
[2016-09-07 13:28:54.2728]: Battle.net Launcher for Steam version 1.6.6032.35355 started
[2016-09-07 13:28:54.2932]: Checking for other bnetlauncher processes
[2016-09-07 13:28:54.2987]: No other bnetlauncher detected
[2016-09-07 13:28:54.3032]: Using parameter: battlenet://WoW
[2016-09-07 13:28:54.3670]: battle.net client not running, trying to start it
[2016-09-07 13:28:55.4422]: Failed to start battle.net client.
[2016-09-07 13:28:55.4452]: Could find the battle.net running and failed to start it. Exiting
Thank you for your work by the way
With the battle.net client closed, could you try pressing Winkey+R to open the run menu and typing battlenet:// and seeing if the battle.net client actually starts?
Do you plan to add support to Overwatch Test and add an option to toggle if battle.net should close or not after the game launches?
Sorry for the late reply (notification on new comments borke down).
Supporting the launch of PTR version is not supported trough the current method used by bnetlauncher, I might look into it but atm there’s no immediate plans to add it.
As for leaving battle.net client open it’s not a good idea as it would make steam think you never closed the game until you closed the client. I already spent a few hours trying to work around that without much success.
Tried using this today on Windows 10 Pro, but nothing happens. Tried with the battle.net client running and closed.
Here’s the log:
[2016-08-25 15:54:01.1277]: Battle.net Launcher for Steam version 1.6.6032.35355 started
[2016-08-25 15:54:01.1297]: Checking for other bnetlauncher processes
[2016-08-25 15:54:01.1337]: No other bnetlauncher detected
[2016-08-25 15:54:01.1377]: Using parameter: battlenet://Pro
[2016-08-25 15:56:01.2405]: battle.net Helpers did not start.
[2016-08-25 15:56:01.2425]: Could find the battle.net running and failed to start it. Exiting
Are you running the battle.net client as administrator? The log seems to indicate bnetlauncher is finding a battle.net client but not battle.net helper processes
I get a strange error that doesn’t let me launch any games using bnetlauncher… Instead, a windows 10 “choose an app to open bnetlauncher” that’s completely empty shows up instead and doesn’t boot any games. Here’s the log:
[2016-08-22 15:49:33.8424]: Battle.net Launcher for Steam version 1.6.6032.35355 started
[2016-08-22 15:49:33.8424]: Checking for other bnetlauncher processes
[2016-08-22 15:49:33.8474]: No other bnetlauncher detected
[2016-08-22 15:49:33.8474]: Using parameter: battlenet://Pro
[2016-08-22 15:49:34.1208]: battle.net client is fully running with pid = 4164
[2016-08-22 15:49:34.1208]: Issuing game launch command at ’03:49:34.1208′
[2016-08-22 15:49:34.2024]: Searching for new battle.net child processes for the game
[2016-08-22 15:49:34.3485]: No child process found.
(goes on for a while)
[2016-08-22 15:49:45.2656]: No child process found.
[2016-08-22 15:49:45.9070]: No child process found.
[2016-08-22 15:49:46.5643]: No child process found.
[2016-08-22 15:49:47.2169]: No child process found.
[2016-08-22 15:49:47.8617]: No child process found.
[2016-08-22 15:49:48.5076]: No child process found.
[2016-08-22 15:49:49.1505]: No child process found.
[2016-08-22 15:49:49.6519]: No child process game found, giving up and exiting
But if I run the game before bnetlauncher crashes, it works, but doesn’t stick. Upon the next launch, it does the same thing. How can I solve this problem?
Actually scratch that.. I found the issue. It apparently doesn’t like if I run it without Battle.net being open first. With the older 1.3 I could use this and it would just start it, then launch. But this one seems to be different. Should I just keep the launcher open all the time?
The latest version should work in the same way, are you still having issues? If so could you provide a log?
Sadly this doesn’t work for me anymore. 1.3 recently stopped working, so I updated to 1.6 and it launches the Battle.net launcher with Overwatch selected, but it won’t automatically start the game. The overlay doesn’t work either, on the launcher nor the game.
I’m running into an unfortunate issue where this program, or, I suppose you can say the Steam overlay, conflicts with TSNotifer (a TS3 overlay https://tsnotifier.cfxxl.de/). If TSNotifier is already running, the game will not allow the Steam overlay to inject, essentially preventing it from being usable even though the game is being launched through Steam. Launching TSNotifier only after the game has started through Steam has the opposite effect; the overlay never appears, but the Steam overlay continues to work.
I doubt this is an issue you can solve with this utility, but I thought it’d be good to bring it to your attention, just in case.
You are correct, the only ones that can really fix that are the devs of tsnotifier and/or steam.
It just says Failed to launch
Could you provide a log file? The instructions.txt has steps to enable it.
every time i try to start it, [2016-07-28 01:06:51.3649]: Battle.net Launcher for Steam version 1.6.6032.35355 started
[2016-07-28 01:06:51.3774]: Checking for other bnetlauncher processes
[2016-07-28 01:06:51.3794]: No other bnetlauncher detected
[2016-07-28 01:06:51.3814]: Using parameter: battlenet://Pro
this happens and it just says its in game for like 3 seconds and then closes
Hi hedi, sorry for the late reply. Could you see if the “Windows Management Instrumentation” service is enabled and running on your system?
Pingback: bnetlauncher blunders – madalien.com
Glad to hear it
I found why, I needed to remove the launch on administrator, it work now thanks
I just tested the new version and everything is working fine for me. I only have Overwatch though, so I can’t really say anything regarding other games. I’ll download HOTS and HS later.
I have this problem on every game :S
From the log everything seems to be working as intended so the overlay should be showing normally.
Do other battle.net games show the overlay? If it’s just Overwatch then I’ll try running some tests on a friends machine (don’t own it and there’s not starter edition) .
Here the log : https://pastebin.com/hMnA4j2R
The log only works if you create a enablelog.txt in %localappdata%\madalien.com\bnetlauncher\ (you can copy the address into explorer to open it.
Could you do that and send me the content of the log so I can try and see what’s going on?
Every blizzard games launch well but I don’t have the overlay, and steam doesn’t say I’m in game. I have nothing in the log :/
Pingback: Battle.net games under Steam – madalien.com