Jump to content
LaunchBox Community Forums

5 Screenshots

About This File

SteamLauncher Plugin for LaunchBox

Introduction

SteamLauncher is a LaunchBox plugin designed to allow roms/emulators to easily be launched through Steam, directly from the LaunchBox/BigBox interface, without any complicated setup or technical know-how. Simply follow the instructions for installation (see Installation section), enable the plugin (see How to Use section), and then launch any game as you normally would.

Updates/Notices

If you have ANY problems with the plugin, I want to know about them. While you are free to post on the plugin thread or send me a PM, the most effective/fastest way to speak with me personally is via Steam. If I am at my computer, I will answer your message immediately. My Steam alias is lahma0. You can click on my alias to open my Steam profile to add me as a friend, or you can copy/paste the following URL into your address bar:
steam://friends/add/76561198237461630

Important Note (Feb 2021): It has been a long while since I've posted updates to the plugin download page. I've been posting regular updates to the plugin support thread but due to being extremely busy/overwhelmed, I haven't kept up with keeping the plugin download page updated (mostly because I felt I needed to write up proper support docs and change logs when posting the updates in an official capacity). Since I last updated the plugin on the plugin download page, I have made a lot of very significant changes to the plugin (probably one of the biggest being the newly added Settings UI; access via "Tools -> SteamLauncher Settings" in LB). I'm going to resume posting updates to the plugin download page regardless of whether or not I have enough time to fully document each release as I want new users to be able to easily find a working copy of the plugin. Just be warned that the current documentation is out of date. Whenever I finally release v1.0 of the plugin, I will also post an entire rewrite of the plugin documentation along with new logos, images, and I will also update the source code on my Github.

MAME Compatibility Fix

It was recently observed that MAME crashes when launched through a non-Steam shortcut in the latest version of the Steam client. This problem is not directly related to this plugin but being that this plugin relies upon non-Steam shortcuts, it meant that launching MAME via this plugin no longer worked. After a lot of investigation and tinkering by @cammelspit and @JedExodus, @JedExodus managed to find a fix for the issue. Whether launching MAME directly in Steam via a non-Steam shortcut or via LaunchBox/BigBox using this plugin, the fix is to simply modify the launch parameters to include the following:

-joystickprovider xinput -keyboardprovider win32

If one of these parameters already exists when modifying MAME within LaunchBox, you will obviously need to replace it (don't just add a 2nd instance of '-joystickprovider' or '-keyboardprovider'). You can safely ignore any popups/warnings that LaunchBox displays about pause screen compatibility. If you have any problems, feel free to join the plugin support thread by clicking the 'Get Support' button on the right hand side of this page.

6/18/2019 - New Update Adds Resilient Method for Resolving VTable Offsets (Beta v0.9.3.0)

This update makes some significant changes in the way the plugin finds the needed vtable offsets when interfacing with the Steam client DLL. This should finally solve the problem of Steam updates breaking compatibility with the plugin.

5/13/2019 - A New Beta Update is Available (Beta v0.9.2.0)

This new update to the March 2019 Beta fixes some reported issues and contains many small optimizations. If you are new to the plugin, please read the "March 2019 Beta" notice below as well as the rest of the documentation. For a list of changes, please see the Change Log at the bottom of the page. REMEMBER, if you're updating from an old version and want to back it up before replacing it with the update, it must be moved ENTIRELY outside of the LaunchBox root directory or ANY of its subdirectories. Having 2 copies of the plugin ANYWHERE within the LaunchBox directory structure simultaneously WILL cause big problems.

3/16/2019 - Major Overhaul of SteamLauncher - New Beta Available for Download (Beta v0.9.1.0)

There is a new beta version of the plugin available for download. I’ve been working hard over the last few months to complete this major overhaul of the plugin, and I’ve decided to release this beta for those wanting an early peek at the new features.

This new version works in a fundamentally different way when compared to the old version. The biggest change is that there is now a universal toggle to enable/disable the plugin, and when enabled, any game/emulator launched through LaunchBox/BigBox will now be launched via Steam, without the need to select the “Launch via Steam” context menu item. Nearly all of the limitations of the old plugin are now eliminated, enabling features such as compressed rom support, non-default emulator configs (“Launch with [...]”), and startup/shutdown screen support.

The old version of the plugin will still be available for those who prefer to wait for a stable release. However, the current beta still retains the old “Launch via Steam” context menu item whenever the universal Steam launching toggle is disabled. This should make it easy to switch between the old plugin’s Steam launching feature and the new beta’s universal Steam launching feature.

A moderate amount of testing has been done on the new version, but seeing as this is a beta, there may still be some bugs under certain edge cases. If you find anything, please report your findings in the plugin’s forum thread. Before using the new beta, please read the new “How to Use” section in the documentation below. While in transition to the new plugin, please excuse the messy, unorganized documentation. It will be completely overhauled once a stable release of the new plugin is available.

If you want to back up your existing "SteamLauncher" directory prior to installing the beta, MAKE SURE you do NOT leave it inside of the "Plugins" directory OR ANYWHERE ELSE within the directory structure of LaunchBox.. Move it outside of the LaunchBox directory entirely.. If you have 2 copies of "SteamLauncher.dll" ANYWHERE within the LaunchBox directory structure simultaneously, VERY WEIRD THINGS WILL HAPPEN. Strictly speaking, you probably do not have to delete your existing config.xml file before upgrading to the beta, but if you have any problems, close LaunchBox, delete config.xml, and then run LaunchBox again (it will create a new config.xml file when the plugin loads.)

5/26/2018

As of v0.9.0.2, the plugin now supports PC/Windows games, DOSBox games, and ScummVM games in addition to emulated games (roms).

UNBLOCK DLL AFTER DOWNLOADING

@neil9000 reminded me that Windows automatically "blocks" DLL files that are downloaded from the internet, so after following the instructions and placing the plugin DLL in your LaunchBox plugins directory, you need to right click the DLL, click 'Properties', and check the box at the bottom of the dialog that is labeled 'Unblock'.

Features

Here are just a few of the features or benefits provided by using this plugin:

  • Allow LaunchBox to do what its good at - be the sole organizer and maintainer of your rom collection, without having to duplicate its functionality in Steam (something it was not designed for)
     
  • Keep your Steam library clean and uncluttered by hundreds of emulator/rom shortcuts
     
  • Get all of the benefits of Steam's excellent overlay system while playing any rom or emulator
     
  • Take advantage of Steam's infinitely customizable controller configuration (bindings) for both the Steam Controller and nearly all other DirectInput/XInput controllers
     
  • Use per-rom or per-emulator controller configurations that are automatically remembered between gaming sessions (without having to create convoluted Steam shortcuts for every rom)
     
  • Bypass or improve upon many emulators' extremely limited controller bindings and hotkey options
     
  • Share your "currently playing" status with Steam friends for whatever rom you launched from LaunchBox/BigBox. Example: “YourSteamAlias is currently playing 'Super Metroid (SNES)'”

Features (New/Current Version)

Here are a list of the features added in the March 2019 beta update:

  • Compressed rom files are now supported (should work the same as when the plugin is not enabled)
     
  • Startup/shutdown screens should work normally (as they do when the plugin is not enabled)
     
  • Non-default emulator configurations are now supported (when you right click a game and choose a “Launch with” option)
     
  • There are other additional features included with the new beta that will be explained at a later date or upon release of a stable/final version.

Requirements

  • .NET Framework 4.7+
     
  • Steam for Windows
     
  • LaunchBox

Installation

  • Extract the 'SteamLauncher' directory from the compressed package into your LaunchBox plugins directory
  • Right click the SteamLauncher.dll file, click 'Properties', and look at the bottom of the dialog (on the 'General' tab) for a checkbox labeled 'Unblock'; if you see it, check that checkbox and click 'OK'; if you don't see it, then you are done

Screenshot (33).png

Example: If LaunchBox is located at 'C:\LaunchBox', you would copy the 'SteamLauncher' directory to 'C:\LaunchBox\Plugins'. This would result in 'SteamLauncher.dll' and any additional files (if any) being inside the directory 'C:\LaunchBox\Plugins\SteamLauncher'.

It would be greatly appreciated if you would leave a comment/review on this page with a bit of feedback after installing the plugin and trying it out. Even just a short comment such as, "It works for me" or "Not working" would help out a lot. The plugin was tested on a very limited number of setups and environments prior to release, so any small amount of feedback will help in gauging whether the plugin generally works for most people or whether more testing is needed.

How to Use

New/Current Version

After installing the plugin, there is now a simple ON/OFF toggle to enable the new functionality. In LaunchBox, this toggle can be found at the bottom of the “Tools” menu. In BigBox, this toggle can be found near the bottom of the root system menu (go back one level after starting BigBox). The new functionality is OFF by default. To turn it ON, simply click the menu item. When enabled, the menu item text will end with “(ON)” as displayed in the image below. When this option is turned ON, the old plugin’s “Launch via Steam” context menu item will be unavailable.

LaunchBox

image.thumb.png.36bbbc86a34ca366f8f82ed75c9643e3.pngBigBox

image.png.22662fde21dfde41c40aded8af9181ee.png

Original/Old Plugin
(Deprecated Information - For new users, simply ignore this. The current version no longer requires this.)

Simply bring up the rom's context menu in LaunchBox (in BigBox or normal mode) and click the option at the bottom of the menu labeled "Launch via Steam"

Note: Currently SteamLauncher will only launch the rom using its default emulator. If you wish to use a different emulator with that particular rom, you will have to go into that rom's settings and change its default emulator (or change the default emulator for the entire platform associated with that rom.)

Customize Platform Names

When roms are launched with the plugin, the title of the game, as Steam sees it, will be in the format of: "Game Title (Platform Name)"

        Example: Super Mario Bros. (Nintendo Entertainment System)

For whatever reason, you may want to keep the long "official" name of the platform in LaunchBox, but use a shortened, abbreviated, or different platform name inside of Steam. The plugin has this functionality available, and it can be enabled by following these instructions:

  • Open the SteamLauncher directory and look for a file named 'config.xml'
     
  • If you do not see the file, you need to launch at least 1 game with the plugin, and then manually close LaunchBox, and the file should then appear in the directory
     
  • Open the file with a text editor, and look for the line labeled, '<CustomPlatformNames>'
     
  • Anywhere under this line, and before the line labeled, '</CustomPlatformNames>', you can add as many new lines as desired in the format of:

                <Platform Name="Original LaunchBox Platform Name" Custom="Custom Platform Name" />

  • You may already see a couple of example lines in place with fake platform names which you can copy/paste and modify to add your own custom platform names
     
  • After making your changes, simply save the file, close it, and then reopen LaunchBox
     
  • The next time you launch a game, you should see your new custom platform name substituting the real platform name in Steam (an easy place to see the title of the game you're playing is in the Steam overlay)
     
  • Just to reiterate, here is an example of what the aforementioned lines look like in my config file:

                <CustomPlatformNames>

                    <Platform Name="Super Nintendo Entertainment System" Custom="SNES" />

                    <Platform Name="Nintendo Entertainment System" Custom="NES" />

                    <Platform Name="Nintendo Game Boy Advance" Custom="Nintendo GBA" />

                    <Platform Name="Nintendo Game Boy Color" Custom="Nintendo GBC" />

                </CustomPlatformNames>

Known Issues

There appears to be a significant bug in the Steam Client right now that can cause problems with controller bindings under a variety of situations for certain users. If you launch a rom/emulator with LaunchBox and your controller bindings don't seem to be working, simply exit the game and launch it again. This may happen the very first time you try to launch a game using the SteamLauncher plugin (one time total after freshly installing the plugin, not on every new session in LaunchBox). If it happens frequently, please report the problem so further workarounds can be investigated.

Support

Unfortunately I don't run a dedicated call center to provide technical support... However, if you need help with any technical issues or bugs (see 'Debug Logs'), want to suggest a new feature (I am very open to any ideas), just want to chat, or anything else related to the plugin, feel free to send me a PM or shoot me an email at the address listed below.

Contact Information

Alias: Lahma

Email: lahma0@gmail.com

GitHub Project URL:

        https://github.com/lahma69/SteamLauncher
        (Does not yet reflect the changes made in the March 2019 Beta or newer versions. I will be updating the GitHub as soon as I can.)

LaunchBox Community Forums Profile:

        https://forums.launchbox-app.com/profile/89710-lahma/

Debug Logs

To provide help with any technical problems or to investigate a bug, I will need a copy of the debug log that is generated whenever debug logs are enabled in the configuration file. To enable debug logs follow these instructions:

  • Close LaunchBox/BigBox (this is important.. changes to the config while LB/BB is running will be overwritten)
     
  • Locate the file named 'config.xml' in the SteamLauncher directory and open it with a text editor
     
  • Find the line that looks like this: <DebugLogEnabled>false</DebugLogEnabled>
     
  • Change the word 'false' to 'true' (do not include the quotation marks)
     
  • Save the file and close it
     
  • Now simply repeat whatever behavior was causing the issue and/or bug, and after you're sure you've replicated the behavior, manually close LaunchBox
     
  • Again, look inside the SteamLauncher directory, but this time looks for a file named 'debug.log' (there may be more than one sequentially named log files if there was an enormous amount of output, but this is unlikely if debugging was turned on just briefly)
     
  • Zip up the one or more log files and attach them to your message, along with the details of your particular setup (Windows version, 32-bit or 64-bit, LaunchBox version, Steam version, SteamLauncher plugin version, etc). The more information the better.

Source Code

        https://github.com/lahma69/SteamLauncher

Legal Stuff

©2017 Valve Corporation. Steam and the Steam logo are trademarks and/or registered trademarks of Valve Corporation in the U.S. and/or other countries.


What's New in Version NETCore Alpha 0.9.7.6   See changelog

Released

  • Due to major changes in 'steamclient.dll' since the last release, the previous method for locating certain needed vtable offsets was broken which caused the plugin to stop working for both the beta and non-beta version of Steam. This release adds a new automatic updater for retrieving those vtable offsets from an online DB maintained by the plugin author. This change may only be temporary until a more robust means of dynamically finding these offsets can be developed. It should however mean that the plugin will not be broken by minor vtable changes in future Steam updates.. at least not for very long as the online DB can be updated within a matter of hours after a Steam update is released. All of the new settings can be found under the 'Misc' tab in the settings UI. These include: turning on/off the online automatic updater, manually providing the vtable index for 'GetIClientShortcuts', and manually providing the vtable index for 'GetIClientShortcuts' in the beta version of Steam (sometimes it can differ between the 2 versions).
  • Like 4
  • Thanks 7

User Feedback

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest

Lahma

   4 of 4 members found this review helpful 4 / 4 members

I think its great :D Though I suppose you could argue I am a bit biased ;)

  • Haha 1
  • The Cake is a Lie 1
Link to review
coasternd

· Edited by coasternd

   3 of 3 members found this review helpful 3 / 3 members

I've been looking for something list this! I hate the way Steam handle's "non-Steam games". By only request is that you could use it for other PC games that aren't in Steam and not just Roms/Emulators. If I could launch any applications this way it would 100% satisfy all of my requirements. Keep up the great work.

EDIT: Totally worth 5/5 now ? - Thanks again!

Response from the author:

Your wish shall be granted! Check for a new release with PC game support a bit later today. Maybe the plugin will be worth of 5/5 stars at that point! ?

  • Like 2
Link to review
CraZed

   2 of 2 members found this review helpful 2 / 2 members

Most useful plugin for LB/BB to date. Thank you so much for this plugin. Helped keep my steam list free from clutter and saved me from having make custom shortcuts etc. Now I can use my controller with my emulators without having to shut down Steam. 

Response from the author:

As always, I am very grateful when people take time to leave a review of the plugin and share their thoughts with others. It makes me happy to know that other people besides myself find SteamLauncher to be such a crucial element in their gaming/emulation setup.

  • Like 1
  • Thanks 1
Link to review
Nocta

   2 of 2 members found this review helpful 2 / 2 members

This is simply amazing. Thank you so much Lahma!

Response from the author:

I'm genuinely flattered by your compliments and gratitude. If you have any problems or feature requests, please feel free to join the forum thread!

  • Like 1
Link to review
jwarn010

· Edited by jwarn010

   2 of 2 members found this review helpful 2 / 2 members

This is exactly what I was looking for! Thank you so much! 

A quick tip in regards to non-steam windows games. I found that if the application path in launchbox leads to a .lnk file such as the launchers found in a lot of GOG games the steam overlay does not work properly. To fix this ensure that in launchbox your application path leads to the .exe file. This will ensure that it works properly. 

Also, I would love for this to eventually work with the steam link (or bigpicture mode). Any chance that it could in the future? If I add bigbox/launchbox to steam as a non-steam game it will work on the steamlink/bigpicturemode but the steamlauncher can't launch games. 

(That should say .lnk not .ink in the picture.... whoops) 

 

 

 

Screen Shot 2019-03-25 at 7.21.01 PM.jpg

Screen Shot 2019-03-25 at 7.20.53 PM.jpg

Response from the author:

Thanks for posting a review @jwarn010! Your detailed description of the issues you noticed is very helpful. I should be able to implement a fix for the shortcut problem (.lnk) very quickly. In fact, I will postpone the next update in order to implement a fix for it, as I think it is an important problem to resolve.

Concerning the issue of running LaunchBox/BigBox as a non-Steam game (in BPM or otherwise) and still having the plugin function normally, I will have to look into that further before I provide a definitive answer. It would actually be really helpful if I could ask you a few questions and get a bit more input from you on that issue. I will send you a PM. Thanks again!

 

Edit: I forgot to update this review previously, but shortly after @jwarn010 reported the issue with shortcuts (.lnk), a fix was indeed implemented and pushed out. Many bugs, such as this one, would never be identified without users of the plugin bringing them to my attention, so I very much appreciate the feedback and communication such as in this instance.

  • Thanks 1
Link to review
trizzev

   2 of 2 members found this review helpful 2 / 2 members

I didn't know I wanted this, but it is now my favorite feature in LB. The Steam Overlay is active and Steam Broadcasting even works using this plugin.  I don't know how it's possible with such a simple set up, but it works. Thanks for the work!

Response from the author:

Thanks for the kind words trizzev! I doubt most people realize how much work goes into creating and maintaining a plugin like this, so even the smallest compliment or positive review means a lot to me. If you have any problems or would like to suggest any additional features, drop a post in the plugin's main thread on the forum.

  • Thanks 1
Link to review
The_Keeper86

   2 of 2 members found this review helpful 2 / 2 members

Something I've been wanting for LB for a long time now. Your hard work is much appreciated! Though I did notice that sometimes after exiting a game in BPM the desktop Steam UI pops up and I have to mouse the mouse to get back to Big Box.

Response from the author:

I'm working on a solution to this problem right now. Just trying to figure out the logic concerning when to prevent the Steam UI from gaining focus.

  • Thanks 1
Link to review
HTPCei

   1 of 1 member found this review helpful 1 / 1 member

This Plugin is great, and has been an essential part of my Launchbox setup for a long time now.

The level of controller customisation this integrates from Steam, and the convenience of it being a single integrated interface, accessible by the controller guide button, which automatically saves and reloads your custom configs per-game with zero effort, is just awesome. Even if you have no friends or games on Steam, this plugin is worth it for the controller configs alone.

Any problems with the plugin are usually user-error/odd use-case, or changes made by Steam or Launchbox. The Plugin author is very communicative, active on the forum support thread, and is quick to fix any problems that do come up, great job.

Response from the author:

Thanks for the excellent review! You've been an active part of the plugin from nearly the very beginning and I appreciate your constant attention to the support thread and the help you provide to other users when they experience common issues and such.

  • Thanks 1
Link to review
coleroddy

   1 of 1 member found this review helpful 1 / 1 member

This is a great piece of software. I loved it. I'd posted on the official thread about two bugs that I've found. But aside from that, I had no issues at all.

Thanks very much, sir!

Response from the author:

I'm glad you're finding the plugin useful and please return to the support thread and remind me of any bugs you've found if I have not yet fixed them. Progress towards the 1.0 release has been very slow (but steady) but I think we're actually getting pretty close to its release now. Can't wait to share it with all of the plugin's long time users to see what they think. Thanks for the excellent review!

  • Thanks 1
Link to review
×
×
  • Create New...