RocketLauncher Troubleshooting

From RocketLauncher Wiki
Jump to: navigation, search


RocketLauncher's logs have been updated to be much more informative for each launch. They can also help pinpoint areas that take too long to process by timing each step along the way and telling you how long it took from one log entry, to the last. Here's an example:

02:08:37:041 |  RL  |    INFO  |  +31      | 2020 Super Baseball (USA) will use module: C:\HyperLauch\Modules\Higan\Higan.ahk
02:08:37:144 |  RL  |    INFO  |  +94      | INI Keys read

The 2-letter identifier in red can be either HL or MD. HL means the logs came from the main RocketLauncher thread. MD means they came from the module's thread. Basically once the MD logs start, the HL thread is paused waiting for the MD thread to finish.

In blue is the importance of the log line. The lines that show in the log are determined by what you set for Logging_Level. The higher the level, the more logs you will see. When troubleshooting an issue, set your Logging_Level higher so you get a more verbose log.

In orange is the amount of milliseconds that have past since the last log took place for the current thread. This really helps find where the script may be getting hung up.

You also have the option to include the entire module thread itself. When troubleshooting some issues, it can be easier to not include it as it adds a ton of lines into the log. Turn it off by unchecking "Include Module Code" in RocketLauncherUI.

How do I set my log to troubleshooting?

  1. Open RocketLauncherUI and browse to the General Settings then RocketLauncher tab
  2. Click the Logging Level drop down list
  3. Select troubleshooting
  4. Next time you launch a game with RocketLauncher, the generated log found at RocketLauncher\RocketLauncher.log will contain all your troubleshooting info.
  5. Open this up in notepad and hit Ctrl+A to highlight all and Ctrl+C to copy to your clipboard.
  6. Paste with Ctrl+V in your new thread when you ask for help.

Steps to take before asking for help

I cannot play a game in an specific emulator or RocketLauncher does not work correctly. What should I do?

  1. Read through the FAQ below for common issues and answers.
  2. Use RocketLauncherUI for editing all RocketLauncher and Module settings.
  3. Read the notes for each module in RocketLauncherUI by clicking on the module tab, hit the green refresh arrows, and select the yellow notes button at the top.
  4. Turn off Fade if any problem is detected, You cannot see problems if they are hidden behind another window or picture.
  5. Check if you are running the latest RocketLauncher. You version can be found in RocketLauncherUI on the RocketLauncherUI tab and the Information is at the top
  6. For HyperSpin 1.4+, check if you have HyperLaunch enabled in HyperHQ by going to Wheel Settings -> Emulator -> Execution = HyperLaunch and your hyperlaunch_path in settings.ini points to your RocketLauncher.exe. For HS1.3, make sure you have [ transitioned your inis to support RocketLauncher]
  7. Check you are running the latest module of the emulator you are trying to launch. Always stay up to date with module versions found here, I will not offer support for older modules or ones you found on the forum/ftp unless stated otherwise.
  8. On the HQ Module tab, each module has a module and an emulator version number. The module was ONLY tested to work with that specific version emu. I cannot stay up to date with every emu release, so eventually a module may break with newer emu releases. After you have exhausted all other options and you still cannot get the module to run, make a post and I will look into updating the module. DO NOT PM THE MODULE AUTHOR ASKING FOR HELP.
  9. Did you set the user settings for your module? Many modules have settings that you can set in HQ by going to the Modules tab, make sure you have the Global system selected. Click the green refresh arrows, select your module, and Click Edit Global Module Settings button. Modules have default settings which many do not need tweaking unless you are troubleshooting or need to change something from the defaults. I set what I believe should be default on them, but they may not work for you. These settings will overwrite any changes you make in the emu itself, so it is vital you are aware they are there and set them appropriately.
  10. If you feel like you are seeing too much of the emulator launch process (eg. the emu window showing before the game does), did you turn on Fade In support to hide it? Each of my modules are designed to use Fade as your finishing touch. When Fade is off, you are supposed to see emu windows or something launching and/or closing. This is how windows works when programs take focus. Fade makes an attempt to hide all that.
  11. If you edit the module in any way, you will break the CRC of the module and it will be alarm in red in HQ and logs will give a silent warning. You take full responsibility if something doesn't work. Restore the module to the official version before asking for any help.
  12. DO NOT PM THE AUTHOR asking for help on a module. First search the forum for your problem, if you just cannot find any info on it, make a post on a relative thread, or create a new one.
  13. Lastly, before you post, test that your emu works via command line by creating a .bat file in your emu folder, then running it. Some emus don't work via command line and I have written procedures to automate launching otherwise, so you can skip this step for those. The bat file should look like this (using N64 as an example):

    Project64.exe "C:\Roms\Nintendo 64\Super Mario 64 (USA).zip

  14. If the bat file successfully launches your emu and your rom works, good chance the module has an issue and you should post your "RocketLauncher.log". Not your log.txt. The RocketLauncher.log has built-in [code] brackets for use on the forum. So just copy/paste the entire log exactly as it is.
  15. You can als pay attention to the time differences on the logs to help determine if something is slowing you down. Look at the section at the top of this page.
  16. Set your Logging Level to troubleshooting and Include your ENTIRE RocketLauncher.log (found in your RocketLauncher dir) in your post.
  17. Please use pastebin to post scripts or relative info if you feel it is necessary. Screenshots or videos go a long way to helping solve your issue.

Frequently Asked Questions

I just setup RocketLauncher and my Front End does not show up in RocketLauncherUI and/or all my systems are not there

RocketLauncher supports any Front End that can send CLI to another executable. What makes it great is you setup your emulators and rom paths once, and the same RocketLauncher installation can work across as many Front Ends as you have. In order for this to work, we use a plugin-based system. RocketLauncher and RocketLauncherUI each have their purposes and each use their own sets of plugins.

RocketLauncherUI can no way assume to know what Front End you have already on your system, so by default it only assumes you are using RocketLauncherUI as your Front End! Try this:
  1. Open RocketLauncherUI and browse to the RocketLauncherUI tab, then the Fronends subtab. Click the green + button to Add New Frontend. Name it, set the path to it's main executable, and select the appropriate plugins for it in the drop-down lists. When done, hit the Save icon.
  2. Set your Front End as the active one in RocketLauncherUI by selecting it and clicking the red dot button to Set selection as the Active Frontend. If you selected the proper RocketLauncherUI plugin and the plugin can read your Front End's main menu listing, all your systems will be populated on the left hand side. Note: Some Front Ends use proprietary formats to store their database and it might be impossible for RocketLauncherUI to read that data.
  3. Set your Front End as the default one in RocketLauncherUI by selecting it and clicking pin button to Set selection as the Default Frontend. This will make your selection the default one when RocketLauncherUI is started next time.

RocketLauncher errors on my font used when running RocketLauncher

RocketLauncher makes its best attempt to automatically install the font for you, but often permission limitations prevent this from happening. Try these:
  1. Manually install the font, which can be found by browsing to RocketLauncher\Media\Fonts. Then right-click and select Install on the BebasNeue font (the default font used).
  2. Set RocketLauncher to "Run as administrator"
  3. Disable UAC

RocketLauncher's log is filled with -10's

This is also a permissions issue, probably on RocketLauncher's setting files. Make sure there are no special permissions set on any of RocketLauncher's files and settings, like read-only.

RocketLauncher's launches with an autohotkey dll error -1 or -2

RocketLauncher's launches with an error similar to Autohotkey. "." is not a valid key name

This comes from using another region's locale in Windows. Set it to use something non-unicode, like English.
See here for one user's solution.

RocketLauncher features (Bezel/Fade/Pause/etc show too large on screen or log reports wrong screen resolution

This is usually caused by the user's DPI scaling, often set when using a TV as the screen. When RocketLauncher starts, windows scales everything related to the process as well causing images to appear larger than they should. To fix:
  1. Right click the RocketLauncher.exe and select Properties
  2. On the compatibility tab, enable the setting Disable display scaling on high DPI settings

RocketLauncher cannot control my game/application or send commands to it

This is almost always a permission issue. Another point you need to understand is that permissions in windows follows a chain-of-command of sorts. An application cannot launch another one as admin when the original calling application is not also run as admin. So for example, if you want your game to be launched as admin, RocketLauncher needs to be set as admin as well. Likewise, your Front End needs to also be set as admin because that is calling RocketLauncher. Try these:
  1. Set RocketLauncher to "Run as administrator"
  2. Set your Front End to "Run as administrator"
  3. Check your game/application is not running in a compatibility mode
  4. Disable UAC

When launching a system in RocketLauncher I get an error about a non-existent function

This is always, I repeat, ALWAYS because you have outdated files in your RocketLauncher folder somewhere. This was a bigger headache when it was still called HyperLaunch because of the lack of an updater or anything that scanned your files to make sure they were official and up-to-date. In the RocketLauncher days, just make sure you run the update and all your files are the latest and you will never get this error. Try this:
  1. Follow this guide on how to update your files: RocketLauncher_Updating
  2. You might also have some old leftover files from HyperLaunch, so a fresh install of RocketLauncher will always fix this as well.

When launching a system in RocketLauncher it takes a very long time till the game starts and log shows very large delays on each line

This is usually the cause of anti-virus or windows defender being too aggressive. Try turning them off at first to test if this fixes it. If it does, turn them back on but try to set RocketLauncher.exe as an exception and/or lower the aggressiveness of the anti-virus.
You can also disable logging in RocketLauncherUI as this will speed up RL quite a bit, but only do this after you have all your systems set up and don't plan on running into any more problems with your settings.

RocketLauncher works perfect by its own but my FrontEnd is not capable of launching it

  1. Check if you setup your FrontEnd settings on the respective configuration guide on the FrontEnds section of the Wiki main page: Main_Page
  2. Make sure that your FrontEnd is sending the correct command line to RocketLauncher: RocketLauncher_Command_Line_Parameters
  3. If you have set RocketLauncher to run as administrator do the same for your FrontEnd executable. A program without admin rights cannot run a program with admin rights. So if you set RocketLauncher to have admin rights you would need to set any frontend that tries to run it to have admin rights also.