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.

Howto Use

  1. Extract the included exe to any location you want (ex: steam folder)
  2. Add the exe to steam as a non-steam game shortcut
  3. On the shortcut properties open Set Launch Options… and add one of the following codes:
    code game
    wow World of Warcraft
    d3 Diablo 3
    hs Heartstone
    ow Overwatch
    sc2 Starcraft 2
    hots Heroes of the Storm
    scr Starcraft Remastered
    w3 Warcraft 3: Reforged
    dst2 Destiny 2 (Bungie have purposely disabled overlay)
    codbo4 Call of Duty: Black Ops 4

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:

Destiny 2

Bungie has decided to implement anti-cheat mechanisms that also cause most overlays to not work as expected.

See for more information. If you need SteamController functionality is currently the best option.


In case of problems logging can be enabled by creating a enablelog.txt file inside %localappdata%\\bnetlauncher\, you can open the location by pasting the path into explorer or the run dialog in windows (WinKey+R)

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.

Adding more Games

From v2.00 onward bnetlauncher uses a internal gamedb.ini to control how games are launched. More games or custom configs can be manually added by creating a gamedb.ini file in:

  • %localappdata%\\bnetlauncher\gamedb.ini
  • the directory where the bnetlauncher executable is located.

gamesdb.ini.sample is distributed with bnetlauncher containing a copy of the built in shortcuts.

Important: Those defaults are not changeble. bnetlauncher will always override them with it’s internal gamesdb.ini file. However it is possible to create different entries with custom options.

Exemple entry:

name=Call of Duty: Black Ops 4

Explaining what each part does:

  • [codbo4] the id that’s passed to bnetlauncher to select the game ie bnetlauncher.exe codbo4
  • name=Call of Duty: Black Ops 4 a friendly name for the game
  • client=battlenet the client the game uses, currently only battlenet is supported
  • cmd=VIPR command to launch the game in the client
  • exe=BlackOps4.exe game exe that bnetlauncher will look for after launch, can use % as a wildcard ie Diablo III%.exe to support 32 and 64 bit builds of the game.
  • options=noargs,waitforexit list of coma separated options, currently supported:
    • noargs doesn’t throw an error when retrieving blank arguments from the game
    • waitforexit leave bnetlauncher open and waiting until the game existing
    • nolaunch don`t directly launch the game but just open the client and try to find the game for an additional 60s this can in theory be used for hacky PTR support.

Known Issues

  • Destiny 2 will not have Steam Overlay or any associate features when using bnetlauncher. This is intended by Bungie and cannot be fixed. Steam Input users can use to work around it.
  • Enabling multiple instances of 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 client PTR versions of games, 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 clicking play.
  • 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)


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%\ in start menu and open the folder, delete bnetlauncher folder to remove log and gamedb.ini files


Special Thanks

internet coder Maruf for ghost tray icon fix code github Ethan-BB for the new parameters to launch games on
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 repo (Source Code, Issue Tracking)
Other versions

173 thoughts on “bnetlauncher”

  1. Heartsthone not working now, battlenet://WTCG is changed after last hearthstone patch.

    1. 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.

    1. 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.

  2. 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]: 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]: 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′

    1. 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 client. Alternatively you may try to fix it my using this reg file but reinstalling will likely be there safer route.

  3. 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.

    1. 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.

  4. And the problem was…. MSI Afterburner/Rivatuner hooking up on overwatch before steam overlay could.

  5. Does the job thanks a lot! Had a problem with it crashing on launch but read the comments and reinstalled battlenet. Thanks!

  6. 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!

  7. 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

    1. 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”.

  8. 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’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.

  9. Pingback: Hearthstone: Heroes of Warcraft – Jinx's Steam Grid View Images

  10. Pingback: Diablo 3 – Jinx's Steam Grid View Images

  11. Pingback: Overwatch – Jinx's Steam Grid View Images

  12. 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 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.

  13. Daf, I do not. I enabled it just now, the end result was a secondary window popped up prompting me for my login information.

  14. 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. 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.

  15. Thanks for this, really useful ๐Ÿ™‚

    You should throw the sourcecode up on github so you people can report issues and maybe even fix them.

  16. Andrew Zhang

    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.

    1. 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.

  17. 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?

  18. 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 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!

  19. I could never figure out why I don’t have two “ 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 app and I haven’t made any setting changes.

    1. I honestly don’t know, on my own personal computer 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 client running so i’m trying to better understand what’s going on in the 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.

    2. It seems in Client settings -> general -> advanced settings -> disable browser hardware acceleration will cause only one “ 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 client is fully open.

  20. desktop app Helper Update Agent

    Those are the three processes I see running.

  21. It can’t find my launcher anymore today. Battle net is open and running.

    [2016-09-26 14:33:56.1758]: 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]: Helpers did not start.
    [2016-09-26 14:35:56.2785]: Could find the running and failed to start it. Exiting

    1. It seems bnetlauncher is not finding two processes named “ Helper.exe” running, could you confirm that they’re indeed running on your system when you open the client?

  22. [2016-09-23 15:31:11.2879]: 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]: 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 ๐Ÿ™

  23. Bnetlauncher stopped functioning for me as of the 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 login.

    Any help would be appreciated, hate not having my overlay.

    1. Do you have blizzard streaming enabled? Could you also still post the log (or email it to me if you prefer)?

  24. 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

    1. 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 in program files), you can try reinstalling the 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.

  25. 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]: 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]: client not running, trying to start it
    [2016-09-07 13:28:55.4422]: Failed to start client.
    [2016-09-07 13:28:55.4452]: Could find the running and failed to start it. Exiting

    Thank you for your work by the way

    1. With the client closed, could you try pressing Winkey+R to open the run menu and typing battlenet:// and seeing if the client actually starts?

  26. Fiandsnuve

    Do you plan to add support to Overwatch Test and add an option to toggle if should close or not after the game launches?

    1. 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 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.

  27. Tried using this today on Windows 10 Pro, but nothing happens. Tried with the client running and closed.

    Here’s the log:

    [2016-08-25 15:54:01.1277]: 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]: Helpers did not start.
    [2016-08-25 15:56:01.2425]: Could find the running and failed to start it. Exiting

    1. Are you running the client as administrator? The log seems to indicate bnetlauncher is finding a client but not helper processes

  28. 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]: 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]: 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 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?

  29. Actually scratch that.. I found the issue. It apparently doesn’t like if I run it without 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?

    1. The latest version should work in the same way, are you still having issues? If so could you provide a log?

  30. Sadly this doesn’t work for me anymore. 1.3 recently stopped working, so I updated to 1.6 and it launches the launcher with Overwatch selected, but it won’t automatically start the game. The overlay doesn’t work either, on the launcher nor the game.

  31. 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 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.

  32. every time i try to start it, [2016-07-28 01:06:51.3649]: 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

    1. Hi hedi, sorry for the late reply. Could you see if the “Windows Management Instrumentation” service is enabled and running on your system?

  33. Pingback: bnetlauncher blunders –

  34. 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.

  35. From the log everything seems to be working as intended so the overlay should be showing normally.

    Do other 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) .

  36. The log only works if you create a enablelog.txt in %localappdata%\\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?

  37. 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 :/

  38. Pingback: games under Steam –

Leave a Reply

Your email address will not be published.