It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
So, I'm wanting to make a plugin that automatically adds all games with a given tag to Geforce Experience's GameStream library. At first I thought I could use the "galaxy-integration" api, but that doesn't give the necessary access to the library and my plugin wouldn't provide a new platform, which is a requirement.

Is there any API (or plans for an API), that would allow me to read info about the Galaxy 2.0 library. I'm looking for

- Get all games that have a given tag
- See the installation status of a game
- Get game's metadata (really only the name)
- Get game's executable path
- Get game's poster path

GOG staff -- any possibility of this?
avatar
Maddux: So, I'm wanting to make a plugin that automatically adds all games with a given tag to Geforce Experience's GameStream library. At first I thought I could use the "galaxy-integration" api, but that doesn't give the necessary access to the library and my plugin wouldn't provide a new platform, which is a requirement.

Is there any API (or plans for an API), that would allow me to read info about the Galaxy 2.0 library. I'm looking for

- Get all games that have a given tag
- See the installation status of a game
- Get game's metadata (really only the name)
- Get game's executable path
- Get game's poster path

GOG staff -- any possibility of this?
Not that I know of, it's mostly one way - other platforms API into GOG Galaxy, not the reverse. What I have been doing in the meantime is accessing locally GOG Galaxy databases (which likely becomes obsolete fast over time) with those (or most) those you're looking for. Not pretty, but it's just a personal project of mine, probably not t be shared, so.

EDIT: You must be familiar with a bit SQL and some other programming language to access and store the database info in some more useful form.
Post edited October 30, 2019 by GenlyAi
avatar
Maddux: So, I'm wanting to make a plugin that automatically adds all games with a given tag to Geforce Experience's GameStream library. At first I thought I could use the "galaxy-integration" api, but that doesn't give the necessary access to the library and my plugin wouldn't provide a new platform, which is a requirement.

Is there any API (or plans for an API), that would allow me to read info about the Galaxy 2.0 library. I'm looking for

- Get all games that have a given tag
- See the installation status of a game
- Get game's metadata (really only the name)
- Get game's executable path
- Get game's poster path

GOG staff -- any possibility of this?
avatar
GenlyAi: Not that I know of, it's mostly one way - other platforms API into GOG Galaxy, not the reverse. What I have been doing in the meantime is accessing locally GOG Galaxy databases (which likely becomes obsolete fast over time) with those (or most) those you're looking for. Not pretty, but it's just a personal project of mine, probably not t be shared, so.

EDIT: You must be familiar with a bit SQL and some other programming language to access and store the database info in some more useful form.
Honestly just getting at the raw database will be just fine. That will mean it will need to be a script that runs independently of Galaxy, but that's not a big deal. Where are the database files located?
avatar
Maddux: Honestly just getting at the raw database will be just fine. That will mean it will need to be a script that runs independently of Galaxy, but that's not a big deal.
Exactly, that's why I'm keeping my project mostly personal.
avatar
Maddux: Where are the database files located?
C:\ProgramData\GOG.com\Galaxy\storage

I've been using this one: galaxy-2.0.db. Be careful... info spread on loads of different tables, keys, ids... you may need lots of JOINS, etc.
But if you know where to look, for example: background image for 'Galactic Civilizations III':
https:\\images.gog.com\dbd4a1c810e2da28e13ec7132de6894893c5f7e2022c75348298bdb041bb5f4c.jpg

EDIT: Gonna add you here as a friend on GOG, perhaps we can be of use to each other.
Post edited October 31, 2019 by GenlyAi
Great, thanks. Just saw your request and approved!
avatar
Maddux: Honestly just getting at the raw database will be just fine. That will mean it will need to be a script that runs independently of Galaxy, but that's not a big deal.
avatar
GenlyAi: Exactly, that's why I'm keeping my project mostly personal.
avatar
Maddux: Where are the database files located?
avatar
GenlyAi: C:\ProgramData\GOG.com\Galaxy\storage

I've been using this one: galaxy-2.0.db. Be careful... info spread on loads of different tables, keys, ids... you may need lots of JOINS, etc.
But if you know where to look, for example: background image for 'Galactic Civilizations III':
https:\\images.gog.com\dbd4a1c810e2da28e13ec7132de6894893c5f7e2022c75348298bdb041bb5f4c.jpg

EDIT: Gonna add you here as a friend on GOG, perhaps we can be of use to each other.
Do you (by chance/happenstance) know a little bit more about that specific topic ?
Spurred by the recent request her for the background image of Read Dead Redemption 2, i poked around in the database a little. But while its rather easy to find the background images for games sold by gog via the "Product Details View", finding that for games outside of gog catalogue seems more complicated:

While I found info on the game via its release key (generic_51154107446743590) in the "GamePieces" table, the url for the background image seems to need some "work":

https://images.gog.com/584e7f2e62d75b6eae2ba4ff3b7a8feac4761f62242b88a1295bfa60769e0d0a_glx_bg_top_padding_7.webp

edit:
sorry I am an idiot, just needed to copy the full url:
https://images.gog.com/584e7f2e62d75b6eae2ba4ff3b7a8feac4761f62242b88a1295bfa60769e0d0a_glx_bg_top_padding_7.webp?namespace=gamesdb
Post edited November 01, 2019 by DerBesserwisser
avatar
DerBesserwisser: ...
Right now, it's a whole "mess" of tables, differents kinds of ids, keys, etc. I haven't worked everything out yet. I was supposed to write a python code to organize everything in a 'better' way. I'll get to it this week eventually. And share that on github (GOG permitting).

It's not difficult to find images for any game: pretty any game in the database has info, for example, on images: it just needs some work to make them 'readable'. Which I plan to do. For example: table 'LimitedDetail', column 'images': get the 'icon' in a dictionary-like element: "https:\/\/images.gog.com\/4368e9884188f8bd5ba7e00ad6985d4841d7cc198a6b009273850bf0980af7e0.png"

or:

https:\\images.gog.com\740411176af10880e2196e438b60d3f7c02f2de0a203312a7908e59d1dbd676a.png

for the 'icon' for the game >observer_

BUT... I don't know if, how often, etc... these local databases (and their associated 'coded' links) change. Not particularly interested in their images either, just some examples.

Anyway, I'll add you as a friend (and anyone who knows a bit a programming - if someone doesn't even know SQL, don't bother) once I have something more organized. But this is strictly off GOG Galaxy!
Post edited November 02, 2019 by GenlyAi