Jump to content
LaunchBox Community Forums

Recommended Posts

SteamLauncher

View File

SteamLauncher Plugin for LaunchBox

IMPORTANT NOTE: The plugin has now been updated to work with the Steam client beta that was released on Feb 14th. The new update (v0.9.0.1) will work with both the normal Steam client and the beta Steam client.

SteamLauncher is a LaunchBox plugin designed to allow roms/emulators to easily be launched within Steam, directly from the LaunchBox/BigBox interface, without any complicated setup or technical know-how. Simply open the LaunchBox/BigBox context menu for any title and select the option labeled, "Launch via Steam".

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)')”

Requirements

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

Installation

Extract the 'SteamLauncher' directory from the compressed package into your LaunchBox plugins directory

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

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

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:

  • 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

The source code will be posted on my GitHub very shortly (next day or so). Once uploaded, it will be available at the following URL:

        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.


 

Share this post


Link to post
Share on other sites

Just downloaded the plugin, ill test it in a minute. You may want to add to the install description on the download page that you will most likely need to unblock the .dll file also, at least I had to on my system as Windows automatically blocks .dll's coming from other computers.

Screenshot (33).png

Share this post


Link to post
Share on other sites

Unfortunately it doesn't work with RocketLauncher, RL throws an error that the default emulator is not set, even though it is.

Share this post


Link to post
Share on other sites

RL launches steam games natively though.  You can either treat it as a PC game with the pc module and find the exe in the folders, or use the checkbox plus steam id field in the module options.  

Share this post


Link to post
Share on other sites

For some reason I've not yet discovered RL's launch structure seems to block the overlay.  I've not determined if it's due to the overlay hooking the wrong level or process hierarchy because I've not had a chance to dig into it.

Share this post


Link to post
Share on other sites

What overlay?  Most steam games are widescreen full screen? What would you need an overlay for? RL can just launch it. 

Share this post


Link to post
Share on other sites
Just now, damageinc86 said:

What overlay?  Most steam games are widescreen full screen? What would you need an overlay for? RL can just launch it. 

The entire point of launching through Steam is to access its overlay, especially if you use a Steam Controller.

Share this post


Link to post
Share on other sites

Ohhh lol. Oops. I've never used steams overlay. Is that the message that flashes real quick that says to access it press such and such a key combo during gameplay?

Share this post


Link to post
Share on other sites
1 minute ago, damageinc86 said:

Ohhh lol. Oops. I've never used steams overlay. Is that the message that flashes real quick that says to access it press such and such a key combo during gameplay?

Yes.  It gives access to chat and a web browser (of admittedly dubious quality) as well as, if you are using Big Picture or a Steam Controller, controller configuration.

Share this post


Link to post
Share on other sites

I wonder if there's any setting in the module that account for that.  There's a lot Hidden in the module setting sometimes.

Share this post


Link to post
Share on other sites
2 hours ago, damageinc86 said:

RL launches steam games natively though.  You can either treat it as a PC game with the pc module and find the exe in the folders, or use the checkbox plus steam id field in the module options.  

That's not what this plugin is for, nor is it what I'm talking about. This plugin is to launch your roms via Steam, to gain steam's big picture features while playing your roms. This plugin is not for launching Steam games.

1 hour ago, Musungo said:

@Omen Steam's configurator doesn't work with rocket launcher anyway, at least in my experience. 

What do you mean, the controller configurator? That sucks :( I still would have liked to use it for the ability to show what I'm playing on Steam.

Share this post


Link to post
Share on other sites

Yes it blocks the steam overlay that enables controller configs @Omen I'm unsure as of yet if theirs any way to get it to work anyhow.

Share this post


Link to post
Share on other sites

I'm sure the blocking is an accident of how some part of RL works with its bezel and other display logic.  IDK if I can solve it but I've been too busy to do a lot lately (hence why my own Steam Proxy has fallen into disrepair).

Edited by Nielk1

Share this post


Link to post
Share on other sites

Been trying to use this plugin but it keeps crashing BigBox and steam, Big box'll hang like it's trying to launch / work with Steam then nothing I have to force close big box. 

Share this post


Link to post
Share on other sites

i can use the plugin in default? i mean no use the label just click the game and launch in steam

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×