All Projects → dafzor → Bnetlauncher

dafzor / Bnetlauncher

Licence: gpl-3.0
Launcher utility to help start battle.net games with the steam overlay.

Projects that are alternatives of or similar to Bnetlauncher

JetBrainsRunner
A Krunner Plugin which allows you to open your recent projects
Stars: ✭ 31 (-80.75%)
Mutual labels:  utility, launcher
BoilR
Synchronize games from other platforms into your Steam library
Stars: ✭ 664 (+312.42%)
Mutual labels:  steam, launcher
Playnite
Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.
Stars: ✭ 3,608 (+2140.99%)
Mutual labels:  launcher, steam
steam go
Simple steam auth util in golang
Stars: ✭ 22 (-86.34%)
Mutual labels:  steam, utility
Steamdock
A clean dock for your Steam games
Stars: ✭ 17 (-89.44%)
Mutual labels:  launcher, steam
Shallowequal
↔️ Like lodash v3.x isEqualWith but for shallow equal.
Stars: ✭ 151 (-6.21%)
Mutual labels:  utility
Sofie Tv Automation
This is the documentation for the state-based studio automation system Sofie, used in live TV news production by the Norwegian public service broadcaster NRK since September 2018.
Stars: ✭ 155 (-3.73%)
Mutual labels:  launcher
Japanese.js
Util collection for Japanese text processing. Hiraganize, Katakanize, and Romanize.
Stars: ✭ 150 (-6.83%)
Mutual labels:  utility
Fastify Sensible
Defaults for Fastify that everyone can agree on
Stars: ✭ 147 (-8.7%)
Mutual labels:  utility
Steamwebapi2
🎮 C# / .NET library that makes it easy to use the Steam Web API. It conveniently wraps around all of the JSON data and ugly API details with clean methods, structures and classes.
Stars: ✭ 159 (-1.24%)
Mutual labels:  steam
Node Steam Totp
Lightweight module to generate Steam-style TOTP auth codes.
Stars: ✭ 158 (-1.86%)
Mutual labels:  steam
Sudo
Order bash to do things by shouting.
Stars: ✭ 155 (-3.73%)
Mutual labels:  utility
Weihanli.common
common tools,methods,extension methods etc... .net 常用工具类,公共方法,常用扩展方法等,基础类库
Stars: ✭ 152 (-5.59%)
Mutual labels:  utility
Steamdiscoveryqueueautoskipper
Auto-advances in Steam Discovery Queues.
Stars: ✭ 156 (-3.11%)
Mutual labels:  steam
Cloudrig
Stream your applications with Parsec and AWS on the cheap.
Stars: ✭ 151 (-6.21%)
Mutual labels:  steam
Fselect
Find files with SQL-like queries
Stars: ✭ 3,103 (+1827.33%)
Mutual labels:  utility
Csgowinbig
Open-source Counter-Strike: Global Offensive jackpot betting website.
Stars: ✭ 149 (-7.45%)
Mutual labels:  steam
Browserselect
Browser Select is a utility to dynamically select the browser you want instead of just having one default for all links.
Stars: ✭ 154 (-4.35%)
Mutual labels:  utility
String Inflection
underscore -> UPCASE -> CamelCase conversion of names
Stars: ✭ 157 (-2.48%)
Mutual labels:  utility
Picodeploy
Deploy Pico-8 Carts as Standalone Applications on Desktop 🖥️(Electron) and Mobile 📱(Ionic) 📦👾
Stars: ✭ 153 (-4.97%)
Mutual labels:  steam

bnetlauncher

Launcher utility to help start battle.net games with the steam overlay.

Official page http://madalien.com/stuff/bnetlauncher/

Purpose

This application is intended to facilitate the launch of battle.net games from steam with overlay while still being automatically logged in by the battle.net client.

Note: If the Battle.net client isn't running when starting the game it will be closed as soon as the game starts, otherwise it will be left running.

Requirements

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
wowclassic World of Warcraft Classic
wowptr World of Warcraft Public Test Realm
d3 Diablo 3
d3ptr Diablo 3 Public Test Realm
hs Heartstone
ow Overwatch
owptr Overwatch Public Test Realm
sc2 Starcraft 2
hots Heroes of the Storm
scr Starcraft Remastered
w3 Warcraft 3: Reforged
codbo4 Call of Duty: Black Ops 4
codmw2019 Call of Duty: Modern Warfare (2019)
codmw2crm Call of Duty: Modern Warfare 2 Campaign Remastered
codbocw Call of Duty: Back Ops Cold War

the result should look something like this:

"G:\Steam\bnetlauncher.exe" ow

Example Screenshot

Destiny 2

Note: Destiny 2 has moved to steam on the 1st of October, 2019.

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 aditional 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 Starcraft 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 using task scheduler (starting the client directly will cause steam to apply the overlay to the client and consider you playing the game until the client exists)
  • --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:

  • Search for 'taskschd.msc' in the start menu and open it, expand library and delete bnetlauncher folder to remove the tasks used to start the client
  • Search for %localappdata%\madalien.com in start menu and open the folder, delete bnetlauncher folder to remove any created logs and gamedb.ini files

Advanced: Adding new blizzard games or custom cases

From v2.00 onward bnetlauncher uses a internal gamedb.ini to control how games are launched.

Disclaimer: This option is there to make it easier to add new games as blizzard releases them or support "exotic" use cases. It's not intended or needed for regular users.

To customize the configurations create a gamedb.ini file in:

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

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

Important: The defaults are not changeable. bnetlauncher will always override them with it's internal gamesdb.ini file. However it is possible to create a new entry using a different name to use custom options.

Example entry:

    [codbo4]
    name=Call of Duty: Black Ops 4
    client=battlenet
    cmd=VIPR
    exe=BlackOps4.exe
    options=noargs,waitforexit

Explaining what each part does:

  • [codbo4] name used with bnetlauncher that identifies the settings to use (ex: bnetlauncher.exe codbo4)
  • name=Call of Duty: Black Ops 4 a friendly name for the game used for error and help messages
  • client=battlenet the client module used to launch the game, currently there's battlenet, battlenet2 and epic, difference between the two battlenet is that battlenet2 can launch ptr/classic version of games but could be less reliable then battlenet.
  • cmd=VIPR command to launch the game, for the battlenet it's a special id that allows direct launching of the game, be aware that this value is case sensitive! With battlenet2 it's the game's productCode. Those values can be discovered by looking at logs in different locations:
    • for battlenet '%LOCALAPPDATA%\Battle.net\Logs\battle.net*.log'
    • for battlenet2 'C:\ProgramData\Battle.net\Setup\<game>\*.log' In the case of epic, just create a desktop shortcut and extract the id from the properties, it will be something like:
    • com.epicgames.launcher://apps/<id will be here>?action=launch&silent=true
  • 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 comma separated options, currently supported:
    • noargs doesn't throw an error when retrieving blank arguments from the game (needed for blackops4.exe)
    • waitforexit leave bnetlauncher open and waiting until the game existing (needed for destiny 2 to show you as playing)
    • nolaunch don't directly launch the game but just open the client and try to find the game for an additional 60s. This can be used launch a game and give time to select a region or other unsupported options.
    • notask doesn't start the client trough a scheduled task, this will make the steam overlay also apply to the battle.net client
    • noadmin tries to apply compatibility flags to the game to avoid calling the UAC, this is an untested hack that can break the game do not use unless you know what you're doing.

Special Thanks

  • 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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].