Backloggery interop

Backloggery integration with game library websites

نووسەر
LeXofLeviafan
Daily installs
1
Total installs
247
Ratings
2 1 1
وەشان
1.2.4
Created
2019-06-22
Updated
2024-11-03
مۆڵەت
نییە
Applies to

This script provides aid for managing large game collections from several sources in Backloggery; it lets you see information on linked games in the backlog (and access the game webpage), allows to keep track of completion information (when available), and provides the list of unlinked games on the game addition page. As a bonus, it also highlights the badge progress.

Note: the script finally got rewritten for the recent Backloggery site update. All IDs have changed though; but at least the old custom entries can be ‘re-imported’. (Though it's a good idea to back up your storage first.)

Supported sites:

  • The Backloggery – augmenting the game collection using cached + custom game info (+Lists displayed as tags)
  • Steam – caching your Steam games collection (+color-coding badge progress)
    • Steam Store, SteamDB, AStats – caching additional info on your games (e.g. platforms and more accurate achievements data)
  • GOG – fetching your GOG games collection (on refresh icon click)
  • Humble Bundle – scraping your HB software collection (on refresh icon click)
  • Itch.io – fetching your Itch software collection (on refresh icon click) + caching additional info from game pages
  • GamersGate – caching your games library
  • Epic Games Store – allows uploading EGS games cache from your launcher (Epic or Heroic)
  • Deku Deals – caching your games library (Switch, PS4/5, Xbox One/X) + caching additional info from game pages
  • PSNProfiles – crawling your games library (PS3/4/5/VITA/VR) on click + caching additional info from game pages
  • RetroAchievements – caching achievements status from your progress page and recent games list (in the profile) + caching additional info from game pages

What follows is the full account on the functionality of this script along with usage instructions.

Overall

For each game list, latest version of available data is kept in storage (accessible in script settings).

Additionally, when syncing game data, changed/removed entries are detected and kept track of (more specifically, the script tracks things that you might base your Backloggery data on: game title, platforms list, and progress-related like completion/achievements; also, for HumbleBundle games, presence in Trove is tracked). To remove entry from changes list, you can visit its Backloggery edit page (only games with Backloggery entries are displayed), or just remove it by hand from the changes list in storage.

If you have a game not from any of supported sources (or not synced there because of some bug in the sync website), you can still have a logo/link functionality; you'll have to update them manually though.

Bonus feature: color-coded badges progress (Steam)

Backlog (backloggery.com/<username>/*)

Whenever one of displayed game list items has one of the sites below set as its System, the list item is modified to display linked game info; typically it's the game icon at the left of the list (which doubles as a hyperlink to the game page), and supported OS + additional info (played hours for Steam games, rating for GOG, rank for PSN). Additionally, the game title gets a tooltip containing name of the linked game, and when hovering a game icon the poster will be displayed, along with completion information (when available) or publisher/developer (for Humble/Itch/Deku).

When an item without a linked game is encountered, it attempts to link one by title (using slug matching). When a linked game has completion status conflicting with Backloggery data, it's highlighted in red; when it's marked as unwatched, it's highlighted in grey (overriding completion).

If you set up a game list item as a custom entry, it'll have a game icon (with a hyperlink if provided) and a poster in tooltip (if provided). All custom entries have a [custom] mark and selected icons (if provided) added to the title. They're always marked grey (unwatched).

When there are tracked changes related to some registered Backloggery entries, there will be a list of of such entries in top right corner (displayed as a list of regular HTML hyperlinks – clicking one opens a search for the respective game). The list is collapsible (by clicking the header). Thus, after syncing data on any collection site you can just open your backlog page and go through changed pages to update Backloggery entries if necessary without having to worry about stale data. (New games don't apply as they're tracked on game addition screen.) If you're having difficulty locating an existing game, you can remove the update you're currently searching for from the list.

Also, if you have old (pre-rewrite) custom entries, they'll be listed in a similar fashion, so that you can migrate them quickly (via the Custom Entry edit form).

Additionally, PC is renamed to Windows in the platform listing (because that's what it actually means).

The script is compatible with Tor's Backloggery enhancements (only basic functionality was tested though).

In the game edit form:

At the top of the Data tab, there's a dropdown with games from your library from selected source. It's ordered by counting matching words in titles (whole words, then prefixes) which can sometimes be confusing but the desired game is always close to the top so long as at least part of the title is matching (in worst case you can remove the more common words in the text field to reduce false matches). Selecting a game from the list links it to the Backloggery game id. Pressing Escape clears the game link. Also, you can 'exclude' a game from the search (it's moved to the bottom of the list where you can find it to 'restore' it should you change your mind); an 'excluded' game cannot be linked. Also, already bound games are marked (crossed out) and have lowered priority in the search.

When a game is linked to the current Backloggery game id, game poster (with link to game page) and completion information are displayed for convenience.

Game deletion here triggers removal of Backloggery game id from the script storage.

If the game isn't synced (not from supported source or some bug prevents it from syncing) you can toggle the Listed mode (switching to Custom). This will replace the game dropdown (if present) with a textfield for entering the URL of game website. Clicking it will open a popover form containing fields for game icon/poster URLs, as well as a list of selectable icons and a save/close button. Selected icons are displayed in the game URL field; it also has a test action icon (when an URL is present) to check if it was entered correctly. The icon/poster URL fields have a preview action icon (when an URL is present) activated by mouse hover (preview area will appear below the Done button). Pressing Done will also update the recorded date, so you can use it to keep track of your own (Backloggery) changes by opening/closing the popover form before saving your changes. Note that while Escape button will merely close the popover without changing the Updated date, switching back to Listed mode will remove all custom data.

In addition, if you have old (pre-rewrite) custom entries, then while the Custom Edit form is empty it will include a dropdown listing those old entries; by selecting one and confirming it you will migrate the entry to a new ID. (You'll be able to check if it's the correct entry before confirming it.)

Clicking on the achievements hint will open the respective pages to refresh this data.

Backlog lists (backloggery.com/<username>/lists(/*))

When opening a list of yours, it will be cached in script storage; after that, a link to this list will be displayed as a tag on every game from it. (If you manage to overfill the tags area, you'll need to use horizontal scrolling to browse them; that should be Shift+scroll when using a mouse.)

List item rank is displayed in the tag (only for ranked lists, of course); list item note can be viewed in the tag tooltip.

Also, when opening the main Lists page, nonexistent lists will get removed from storage.

Game addition screen (backloggery.com/!/add)

The System dropdown displays the count of unlinked games for each source ('excluded' games aren't counted). After selecting relevant platform, editing game title will open a dropdown similar to the one in editing screen but containing only unlinked games (along with 'excluded' ones). Selecting one will set the title and display poster/OS/completion information on the form.

Also, the ‘Games Added’ list was enhanced to contain links instead of plain text names; clicking such a link will open game search in a new tab, giving you an easy way to link the freshly added game. Once you do, the change will be applied in the Add tab as well.

Clicking on the platforms/achievements hints will open the respective pages to refresh this data.

Steam game library (steamcommunity.com/id/<username>/games)

This URL has to be manually added to User Includes to work (copy it from Original Excludes and replace <username> with your Steam user name; take it from the URL of your own). This is necessary for the script to only sync your data and not the others'.
Note: the URL has changed (/ got replaced by ?); you'll need to update it for it to work again.

This page now includes completion information as well (but not the platforms list).

Opening/reloading this page will sync your Steam library data (information is obtained from page environment). The list of platforms isn't available here, so you have to obtain it from other places (games without OS information will display Steam icon instead). After sync is completed, an alert will be displayed with the number of added and removed games.

Steam recent games page (steamcommunity.com/id/<username>/games/?tab=recent)

This is no longer a separate page; the functionality had been removed.

Steam perfect games page (steamcommunity.com/id/<username>/games/?tab=perfect)

This is no longer a separate page; the functionality had been removed.

Steam game stats (steamcommunity.com/id/<username>/stats/<game>)

This URL has to be manually added to User Includes to work (copy it from Original Excludes and replace <username> with your Steam user name; take it from the URL of your own).

It's no longer necessary to sync Steam achievement information separately from the games list. (Unless Steam loaded it in the list as 0/0 incorrectly)

Opening this page will sync achievement information of the relevant game. Additionally, steamcommunity.com/stats/<game> (global game stats) now displays user information too, so it's now used for sync as well.

Note: the query (/?tab=achievements) part has been removed as it appears to be optional (some links pointing there don't use it). If you're using older version, you may want to update the User Includes entry (if you want the pages without query part to sync as well, that is).

Steam badges (steamcommunity.com/id/*/badges) and game cards (steamcommunity.com/id/*/gamecards/*) pages

Bonus feature: color-coded badges progress.

On these pages (both yours and of other users), card and badge names are colored from red to yellow to green based on how many more you need to get a maximum level badge (5 for regular badges, 1 for foil). Cards have brighter/dimmer colors depending on remaining levels to further highlight which ones are most lacking. Also, items with no progress/levels is marked as purple, and those exceeding the limit of 5 are bright-green.

Additionally, foil badges are highlighted with a silvery “shining” outline.

Steam game page (store.steampowered.com/app/<gameid>)

Opening this page will sync OS information of the relevant game. Only games marked as owned are synced (you must be logged in).

SteamDB game page (steamdb.info/app/<gameid>)

Opening this page will sync OS information of the relevant game (if available). Only games marked as owned are synced (you must be logged in). If the game isn't marked as owned, you can try refreshing your data in SteamDB settings.

This can be used as an alternative to game page, or in cases when game isn't in the Steam store anymore.

SteamDB library (steamdb.info/calculator/<userid>)

This page includes a full games list of the user, and hovering over a row will load the respective game information in a tooltip frame; if you're logged in and browsing your own games list, these tooltip frames will be used to sync OS information of the relevant game (if available).

This is a faster alternative to opening game pages individually; however, note that loading many tooltips in a quick succession might cause the site to temporarily block you from doing so, as such behaviour is similar to that of automatic site scraping programs.

Steam stats site (astats.astats.nl/astats/User_Games.php)

It's no longer necessary to sync Steam achievement information separately from the games list. (Unless Steam loaded it in the list as 0/0 incorrectly)

Opening/reloading this page will update information on your achievements (you may want to open your profile page to update the information there first; if that fails, game stats can be updated manually per-game). The information is gathered from the page; this works in both table & list modes; disabling limit and enabling non-achievement games will sync all games at once. After sync is completed, an alert will be displayed with the number of updated games.

Note: disabling all filters will result in maximum possible achievements coverage, but once the information is collected it's better to close the page immediately as it's prone to hanging up; it's better to open this page from your profile page (you may want to have it opened anyway, as refreshing it causes the site to sync your most recent achievements data).

GOG library (gog.com/(*/)account)

Note: if your GOG games are shown to have a rating in range 10-50, sync your GOG library.

The script adds a sync button to the filter toolbar; clicking it will trigger sync via site API (this only works if the page hasn't been open for too long… it's a bug of the site, not of the script; the site own functionality like setting tags also breaks at that point). After sync is completed, an alert will be displayed with the number of added and removed games.

The default "Completed" tag is used as completion information (it's matched with Beaten/Completed/Mastered status in Backloggery).

HumbleBundle library (humblebundle.com/home/library)

The script adds a sync button to the filtering toolbar (available only when no filters are applied); clicking it will trigger sync by crawling the library page (HB doesn't expose any information other than what's displayed on page, so even instead of IDs I used title slugs). After sync is completed, an alert will be displayed with the number of added and removed games.

Game pages taken here usually point to developer's page. Also, game posters aren't available here, so only games found in Trove will have them in Backloggery.

HumbleBundle trove (humblebundle.com/monthly/trove)

Humble Trove is no longer accessible from HB website; the functionality had been removed.

Itch library (itch.io/my-collections)

The script adds a sync button to the things-you-own button, both in toolbar and in the sidebar; clicking it will trigger sync via site API.

Itch game page (*.itch.io/*)

Opening this page will sync additional information of the relevant game. Only games marked as owned are synced (you must be logged in).

GamersGate library (gamersgate.com/account/games)

Note: this page has experimental support, as I don't have any debug information on large GGate libraries.

Opening this page will sync information on your GGate library.

EGS website (store.epicgames.com)

There doesn't seem to be any way to get information from the site itself (as far as I'm aware), but this script adds an import button next to your account; clicking it will open a file selection dialog – feed the library cache file of your launcher to it in order to sync data. Library cache locations are:

  • for Heroic launcher: $APPDATA/heroic/lib-cache/library.json (in OS-specific configuration directory)
    • on Windows, $APPDATA location is C:\Users\%USER%\AppData
    • on Linux, $APPDATA location is $HOME/.config
    • on Mac, $APPDATA location should be $HOME/Library/Application Support
  • for Epic launcher: EpicGamesLauncher/Data/Catalog/catcache.bin (in the installation directory)

Note that while Epic launcher is the official one, Heroic launcher is better for this purpose as it stores game names correctly (Epic replaces unicode characters like ©, ® or ™ with ? in the data), and also includes store links (smh they're not included in Epic launcher cache).

Deku Deals library (dekudeals.com/collection)

If you have a (self-maintained) games collection on Deku Deals, loading its page will sync the data.
Note: sync only activates if the entire collection is displayed. (For multi-page collections, a redirect is offered on page load.)

Deku Deals game page (dekudeals.com/items/<game>)

Opening this page (for a game marked as owned) will sync additional data such as genres, download size and time to beat the game.

PSN profile (psnprofiles.com/<username>)

Note: this page has experimental support, as I don't have a PSN profile of my own.

This URL has to be manually added to User Includes to work (copy it from Original Excludes and replace <username> with your PSN user name; take it from the URL of your own).

You must mark a profile as yours for it to be synced (by clicking a button). Naturally, only one profile can be selected, and switching resets your synced PSN data.

The script adds a sync button to the filtering toolbar (available only when no filters are applied); clicking it will trigger sync by crawling the profile page.

PSN game (psnprofiles.com/trophies/<game>/<username>)

The posters aren't available on the profile page, so to get a (bigger) poster you'll need to open the game subpage.

RetroAchievements user profile/progress pages (retroachievements.org/user/<username>(/progress))

Opening your progress page will sync progress on all displayed games; similarly, opening your user profile will sync games from recently played list – this is the only way to add no-achievement games. (In both cases, alert is only displayed when a change is detected.)

Note: the following RA platforms don't have a proper match on Backloggery and will be listed as "Miscellaneous"

  • EXE (standalone)
  • DUCK (Mega Duck)
  • ELEK (Elektor TV Games Computer)
  • VC4000 (Inverton VC 4000)

RetroAchievements game page (retroachievements.org/game/<game>)

Opening this page (for a game in your played list, or with any progress on it) will will sync additional data such as poster, genres, release date, developer & publisher.