bnetlauncher

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 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 add one of the following parameters:
    <

    code game
    wow World of Warcraft
    d3 Diablo 3
    hs Heartstone
    ow Overwatch
    sc2 Starcraft 2
    hots Heroes of the Storm
    scr Starcraft Remastered

The result should look something like this:
Example bnetlauncher use

Optional: 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

    • Users of MSI Afterburner, Fraps or other overlay software might experience crashes when both it’s overlay and steam try to attach to the game, disabling said overlay software fixes the issue.
    • bnetlauncher does not check invalid game arguments so it will just error out after 15s when not detecting a running game.
    • If the game is run as Administrator bnetlauncher will not be able to retrieve it’s parameters unless it’s run as Administrator as well, Steam will also need to be run as Administrator so overlay can work.
    • Sometimes battle.net client URI association will break making bnetlauncher unable to work, reinstalling the client should fix the issue.
    • It’s not possible to launch PTR versions of games, bnetlauncher uses battle.net client uri handler to start the games, which does not support the PTR versions. I have not found a proper workaround for this.
    • If more then 3 battle.net games are started at the same time some of them will not be auto logged in, this seems to be a limitation with the battle.net client.
    • Users of the 1.5 beta series will need to delete the %localappdata%\madalien.com\Battle.net Launcher for Steam”
      directory by hand.
    • There’s no built in routine to clean up the log files if they pile up (logging is disabled by default)
    • On close battle.net client will leave a “ghost” tray icon after being closed by bnetlauncher, moving the mouse over it will make it disappear.
    • Running bnetlauncher as administrator will break steam overlay if steam is not also run as administrator

Downloads

bnetlauncher_v113.zip
github repo (Source Code)
Older versions

90 thoughts on “bnetlauncher”

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

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

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

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

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

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

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

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

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

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

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

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

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

  14. —————————
    Error
    —————————
    Failed to obtain game parameters.
    Game should start but steam overlay won’t be attached to it.
    —————————
    OK
    —————————

    Any solution? ;(

  15. Now I don’t get error but the overlay doesn’t work :/, thx for the attention 😀

  16. I’ve used it previously without any issues but after a reinstall of Windows I have issues with the bnetlauncher. Sometimes it works fine but most of the time the launcher starts but doesn’t start the game and after a moment I get the error:

    “Couldn’t find a game started through Battle.net Client.
    Please check if you’re using a valid parameter.
    Aborting process and exiting.”

    I can still launch manually and will see the overlay…sort of (Shift-Tab brings it up, I see the FPS counter but new messages are not visible in the lower right corner as it should).

  17. Are you using any overlay software like MSI afterburner? Are you starting battle.net as admin? Those are two things that could cause problems, other then that i’d need to see a log (see instructions.txt for how to enable it).

  18. No overlay software is used and I’ve never had to start battle.net as admin. I’ve e-mailed you a log file, hope it helps.

  19. Hey man, program’s just throwing an error window “bnetlauncher has stopped working” trying to run diablo 3. I’m assuming it’s something to do with the change from battle.net client to blizzard app. I thought it might’ve just been a name change, but seems like it’s something else.

    Any chance of an update?

  20. There hasn’t been any change that required an update at the time of the client name change. First thing I’d ask you to try is getting the latest version, if there’s still an issue comment again and I’ll try to help you.

  21. Great work! I can now stream Overwatch to my Steam Link!

    I’d actually started work on a tool to wrap non-Steam games and automatically apply any workarounds needed to get the overlay working. This is also a C# project.

    However, I was missing the trick of grabbing the command-line args which Battle.net passed to Overwatch.exe, then killing and restarting it under the ‘wrapper’ application. Very, very good idea!

    My initial work on my version works something like this: (btw, I named it SteamBogie.exe – it’ll make most English-speakers chuckle, but it’s also a British English term for the wheel/axle/suspension assembly on railway carriages. Keeps with the Steam/Valve thing ;))

    So, perhaps, for battle.net games:

    SteamBogie.exe –launcher battlenet –command battlenet://Pro –client Overwatch.exe

    Then, for Origin, perhaps something like:

    SteamBogie.exe –launcher origin –game C:\Games\OriginGames\Titanfall\Titanfall.exe

    … and it’ll do whatever’s needed to get Origin games compliant. This seems to involve:

    * Quitting Origin if running
    * Launching the game EXE with the Origin EXE path added as an argument (that can be looked up in the registry)
    * Monitoring the process list to watch for the game EXE’s presence
    * Quitting and perhaps restoring Origin’s running/not-running state after the game EXE disappears.

    Certainly something to work on!

  22. Origin and uplay games can be started directly from the game exe, they will launch the client if needed and start running. The launch chain is a bit crazy tough, the game closes and launches the client which chain spawns a load of other processes which eventually launches the game for real (seriously check it with process explorer). So all you need to do then is monitor the game and close the launcher processes after it closes.

    It’s something I’ve thought about but been putting off due to not having any really clever way of doing it. For uplay I’ve already done something the “dumb way” with https://github.com/dafzor/nouplaynag and I suppose the same core idea would work with origin too.

    Best of luck developing your universal launcher.

  23. Thanks for the info, daf. If I do end up releasing anything, I’ll be sure to credit you (and GitHub it, of course).

    Why am I not surprised that Origin is a bit weird?

    I did a little googling on uPlay. It seems to also use a URI handler (uplay://launch/) so that might be a good angle to attack!

  24. Thanks, can you maybe upload the compiled version on GitHub to just in case. And maybe if you have the time it would be nice if you could make an launcher for Uplay Games too! 😀

Leave a Reply

Your email address will not be published.