Jump to content
LaunchBox Community Forums

Missing Games Checker Plugin 1.2

   (2 reviews)

2 Screenshots

About This File

Missing Games Checker (MGC) is a LaunchBox plugin designed to help users identify missing games in their collection based on platform metadata. It provides an easy-to-use interface that lets you view owned and missing games, and export the results.

image.png.95edeb2f10042447fa315caa0bc13cb4.png   v1.2 is out! NEW and IMPROVED! Enhanced for stability and usability!

Instructions for Using the Missing Games Checker (MGC):
Requirements:

  1. This plugin in the LaunchBox Plugin folder.
  2. The latest version of LaunchBox (there could be an issue with this plugin in older versions of LaunchBox where it's not being detected). 

Installation and Usage:
1. Install the Plugin:

  • Download the latest release of the MGC plugin from this page.
  • Make sure LaunchBox is closed.
  • Unblock the downloaded zip file (Right-click on the zip -> Select Properties -> Click or Check "Unblock" if available)
  • Open the zip file and place the `LBMissingGamesCheckerPlugin.dll` file into your  LaunchBox\Plugins folder (example R:\LaunchBox\Plugins).

2. Access the Plugin:

  • Launch LaunchBox, then access the Tools menu and find Missing Games Checker.

3. Using the Plugin:

  • Select a platform from the dropdown menu and click the Confirm Selection button.
  • MGC will display a list of games owned and a list of games missing from your collection based on the LaunchBox metadata.
  • You can export the list of missing games to a CSV file for easy reference.

4. Options/Features:

  • Filter games by Released status if you only want to check released titles.
    Spoiler

    image.png.dbd4459aa25fbfc29edae5756a9c4bec.png

  • Sort columns by clicking on the column header.
    Spoiler

    image.png.66cb2b5b1f34f884d753f557a4b89b46.png

  • Filter select columns by clicking on the filter icon in the column header.
    • If the filtered column has multiple values (ie. North America, Japan) the row will still show if any of the filters are not applied. All values need to be unchecked in the filter to hide the row.
    • *Note: Filtering one column works well. Multiple column filtering may produce incorrect results. Export to CSV if you need to apply better filtering :)
    • *Will enhance in a future release
      Spoiler

      image.png.e800f03265d3c26a9cd68c539f95adda.png

  • Window resizing (Right edge only)
    Spoiler

    image.png.0aef4751fc2cfac4efbaca8cc4667ea0.png

  • Click on the highlighted cell data for links to video URLs, Wikipedia links, and the game on the LaunchBox DB (where available).
    Spoiler

    image.png.0f555bf7210b7dc100bba50a2816dad5.png

 

Extra Notes:

  • The Owned Games list is pulled from YOUR collection. If fields are missing information, make sure your collections metadata is up to date. Check out this LaunchBox Video on how to do that.
  • The Missing Games list is pulled from the local metadata.xml file. If you find information is missing, visit the LaunchBoxDB website to see how you can contribute!
  • I've worked HARD to make the plugin as robust and efficient as I can. That being said, some computers may experience delays in processing the metadata at the start, processing any large collections' of games, and filtering/sorting large lists. Please be patient! Once you begin a process, it will complete! But the UI may become unresponsive during processing.
  • As mentioned, filtering works well on one column at a time. Filtering one column, then another may have incorrect data shown. You can click the Reset button in the filter panel to reset the list, or just "Check It!" again to refresh the list again.
  • NO data is modified in this plugin. Data is compared from the local metadata.xml (which updates automatically by LaunchBox) and your collection data reported from LaunchBox.

Troubleshooting/Updates:

New to v1.2 - DebugLog
Click on the "Bug" to open the debug log. If you have issues, provide the relevant debug log here for review.

Spoiler

image.png.45e5e5afd5c60c5955b1440ef3e4c389.png


If you've confirmed the above and are still having issues, please provide the following:

  • Click the "Export to CSV" button for the Missing Games table and save the .CSV file.
  • Attach the .CSV file to a post here.
    • (Optional) Attach a screenshot of the app with the error message.

I'll review the information and post a fix/suggestion as soon as possible.

Also, if you would like to have MGC perform additional tricks, let me know!! I do appreciate the feedback and will enhance the plugin over time based on your findings/suggestions.

Special Thanks

A huge thanks to the LaunchBox team and their API documentation for making this project possible, as well as Jason's helpful video tutorial.

Check out the source code on GitHub if you're interested.

Cheers! 🍻

image.png

image.png

Edited by AgentJohnnyP
Updated instructions


What's New in Version 1.2   See changelog

Released

v1.2 is out! NEW and IMPROVED! Enhanced for stability and usability!

v1.2 has MANY improvements:

  • Complete engine rework. Metadata is pulled in once on load.
  • Performance and stability enhancements.
  • Table sorting per column.
  • Filtering on select columns* (Note: Filtering on one column works well. Multiple column filtering may produce, incorrect results)
  • Additional process messaging.
  • Visual enhancements.
  • Window resizing.
  • Leo!
  • Like 2
  • Thanks 3
  • Unusual Gem 2

User Feedback

Recommended Comments



I'm not sure what's going on but I put the .dll in the plugins folder and followed the steps but every system I check for missing games using the plugin results in it saying the system isn't in the Launchbox DB such as Atari 2600 or Atari 7800 and lists all games.

Link to comment
Share on other sites

1 hour ago, Lighad said:

Placed the .dll in plugins folder but nothing shows up in tools menu

Have you tried turning it off and on again?  Or, with LaunchBox not running, place the file in the //LaunchBox/Plugins/ folder, then start LaunchBox.

Link to comment
Share on other sites

Thanks for the feedback everyone! I've updated the instructions and posted v1.1.2 with enhanced error checking around the Metadata.xml file. The code will search for the file in directory now to make sure it is there. I've also updated the error messaging so it should pop errors in the data table depending on what's happening. If you still have issues, please post a screenshot of the app with the error messaging in the data table and I'll get on it. Cheers! 🍻

image.gif.41e9bed8fc471f3ed8d676d3c4b6ed2b.gif

Edit: If you do experience further issues, please click the "Export to CSV" for the Missing Games table and attach the .CSV to a post here. Thanks again and enjoy 😎

Edited by AgentJohnnyP
  • Like 1
  • Haha 1
Link to comment
Share on other sites

I can confirm with the newest version it now finds my metadata file and locates the systems in the Launchbox DB. Thanks for the quick solution. This is a valuable tool that I could see many people using for their game libraries so great work! B|

Edited by zyute
  • Thanks 1
Link to comment
Share on other sites

That's awesome and no problem!! Thanks for letting me know 😁 It was probably with how I was capturing the file originally. Made some changes and beefed up the error checking. Let me know if you can think of anything else you might need with it. Cheers!

  • Like 1
Link to comment
Share on other sites

Very interesting plugin! Thank you very much!

Is there any chance on allow windows to be resized?

 

  • Like 1
Link to comment
Share on other sites

Great plugin, quite helpful. One suggestion I have is to add a check box for region. It also crashes my LB a fair bit, but I get it that it is searching a lot of data. More check boxes in general might help with that but I don't know. Like if I don't want Sports game, Japanese games, I want to keep the results about say 3.0 on the community score, all that might make the search more efficient (and the list more readable) if I can pair it down. But great plugin, very helpful

  • Thanks 2
Link to comment
Share on other sites

Filters and regions are on the way! I'm with you, I want to filter out by NA releases only and based on genre. Filters will help narrow down your lists. Optimization is also a priority (where I can, 400MB XML is a LOT of data lol). Thanks for the feedback!

  • Like 1
Link to comment
Share on other sites

Just a heads up for what's coming to v1.2:

  • Optimization around the Metadata.xml which should:
    • Reduce crashes
    • Quicker table refreshing
    • Enhanced stability, performance, and error detection
  • "Region" data added to tables
  • Column filtering
  • Window Resizing (if I can get it working)

Should be out in the next day or two 👍

  • Like 2
Link to comment
Share on other sites

10 minutes ago, lunatuna said:

There are some definite issues with the data thats being displayed and it being incorrect. For example for Atari 5200 its showing games as "Released" like K-Star Patrol (https://gamesdb.launchbox-app.com/games/details/4921-k-star-patrol) in your table view, but in the actual database and the link it shows it as homebrew. So something appears to be out of sync.

 

image.thumb.png.e0d3143a9f85f90eb2ff7a6d7d1d4ff0.png

I'd assume this plugin is reading a local XML file which is only updated once a day, the website is live data. It's expected that there can be differences, especially if your XML file is old. Currently the XML file I have in my test environment shows "Released" as the release type as well instead of the "Homebrew" that the website shows.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, C-Beats said:

I'd assume this plugin is reading a local XML file which is only updated once a day, the website is live data. It's expected that there can be differences, especially if your XML file is old. Currently the XML file I have in my test environment shows "Released" as the release type as well instead of the "Homebrew" that the website shows.

If there was an API for the LaunchBox DB, I would query that as well. But yeah, I only have access to the local XML data (no access to the full dataset within the LaunchBox API from what I can see either). And I double checked my XML which has that game listed as "Released" as well. Can't really help the discrepancies, but I'll keep an eye out for changes where I might be able to sync that better. Not sure, but perhaps it's also a case where the XML data is actually more up-to-date than the website? Not sure, but thanks again for the feedback!

Link to comment
Share on other sites

1 minute ago, AgentJohnnyP said:

If there was an API for the LaunchBox DB, I would query that as well. But yeah, I only have access to the local XML data (no access to the full dataset within the LaunchBox API from what I can see either). And I double checked my XML which has that game listed as "Released" as well. Can't really help the discrepancies, but I'll keep an eye out for changes where I might be able to sync that better. Not sure, but perhaps it's also a case where the XML data is actually more up-to-date than the website? Not sure, but thanks again for the feedback!

I could always scape the LaunchBox DB programatically and pull in the data on per game request. Maybe v1.3 🫠 lol

Link to comment
Share on other sites

3 hours ago, AgentJohnnyP said:

I could always scape the LaunchBox DB programatically and pull in the data on per game request. Maybe v1.3 🫠 lol

3 hours ago, AgentJohnnyP said:

If there was an API for the LaunchBox DB, I would query that as well. But yeah, I only have access to the local XML data (no access to the full dataset within the LaunchBox API from what I can see either). And I double checked my XML which has that game listed as "Released" as well. Can't really help the discrepancies, but I'll keep an eye out for changes where I might be able to sync that better. Not sure, but perhaps it's also a case where the XML data is actually more up-to-date than the website? Not sure, but thanks again for the feedback!

For this one specific case, an update was made (I submitted change) that was reflected in the LB DB and had not yet been cascaded to the XML that is downloaded (it does now I just checked). Changes can take time to reflect in the XML depending on how the approval cycle goes (but usually 24 hours in my experience).  This is no different than how LB works things as it looks to downloaded XML for matching/updates.  Personally, I don't see why you would need to make any changes as your tools works. In fact the reason I saw this particular issue with the LB DB incorrect was with your tool. :)

Link to comment
Share on other sites

So when I start the plug in it says something like looking for metadata list, and often it just crashes everything here. I have a lot of games, and I also imported my PC games. I'm wondering if it is searching for stuff before I ask it too, and if so is it searching up Windows games Metadata? If so I think that is a major optimization point, because PC has such a huge library. It might be worth it just no support for PC games. I'm also wondering if the way my platforms are named is effecting it? For example I seperate my PC storefronts, so they aren't all under 'Windows' then have Steam, GOG etc.

Link to comment
Share on other sites

v1.2 with better stability/performance is taking a little longer to put together than I thought (and I got a head cold right now 🤧lol). Should have it up for tomorrow 👍 Stay tuned!

  • Like 1
Link to comment
Share on other sites

Progress Update:

I'm in final testing with the changes for v1.2. Gonna try to get it out before I pass out tonight, if not, should be ready for tomorrow! Thanks again everyone for the interest and feedback!

On 9/11/2024 at 10:55 PM, AgentJohnnyP said:

v1.2 with better stability/performance is taking a little longer to put together than I thought (and I got a head cold right now 🤧lol). Should have it up for tomorrow 👍 Stay tuned!

cc5a89e20505cf70b9b7466a6f029fd4.gif.a72d253d7bc65e4a0129628743b8b69a.gif

  • Like 1
Link to comment
Share on other sites

I've just about got it down. Couple of issues to cover still but v1.2 should be out tomorrow! Will be worth the wait. Processing well now without hanging the UI which should be beneficial especially on older machines. Stay tuned!

image.gif.b52bcdd21b41719175ed454e493bdf55.gif

On 9/13/2024 at 9:22 PM, AgentJohnnyP said:

Progress Update:

I'm in final testing with the changes for v1.2. Gonna try to get it out before I pass out tonight, if not, should be ready for tomorrow! Thanks again everyone for the interest and feedback!

cc5a89e20505cf70b9b7466a6f029fd4.gif.a72d253d7bc65e4a0129628743b8b69a.gif

 

Link to comment
Share on other sites

finds all databases in this version although seems to hang and lock up launchbox for a long time when searching for metadata file

Link to comment
Share on other sites

Thanks again for the interest everyone! I've been diligently working on version 1.2 but it's turned out to be a bit more than I thought lol pretty much a complete remake with stability and performance in mind. It's about 97% ready! Although, I've been at 90% for about 4 days now lol Hang tight! This one will be a winner 🏆 🫠 Hopefully in the next few days 👍 Until then, cheers 🍻jerry-jerry-springer.gif.0b1277d8a37c167aa8644a64ee30e369.gif

  • Like 2
Link to comment
Share on other sites

The day has come! v1.2 is out! Please check it out and let me know how it's working for you. I haven't touched C# in 12 years, so v1.2 is me trying to catch up on it lol :) Thanks again for all your feedback! This wouldn't have happened without that push. Happy gaming!
image.thumb.gif.9f3c7b4967892628c7e68258bcfdf17f.gif

  • Thanks 2
Link to comment
Share on other sites

The difference in regard to speed and performance between 1.1.2 to 1.2 is huge. While it used to take upwards of 30 seconds to a minute for me to look up the metadata now takes 5 seconds. The plugin used to on occasion freeze or refuse to find my systems but that's now a thing of the past. Customization is a highlight for me as being able to use the filters allows me to do a deep dive into what i may have missing from a certain company or type of game. The debug menu option could come in handy if there are other issues that may arise. Neat animation by the way. Never would of guessed it was that long for you since the last c# use as this shows you know what you are doing. Keep up the great work and id love to see what comes next.

diekatzlei-die-katzlei.gif.9c7f5a558f269520e99d1cad4132b0b1.gif

  • Thanks 1
Link to comment
Share on other sites


Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...