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

×
Hey there,

Have you discovered the API to set achievements? I only found the GET in the website you made.

Thanks,
To set the achievements you need the Galaxy SDK, which is not publicly available. I have some resources to make use of the Galaxy.dll shipped with games, but they're not functional or ready to be published yet. Thanks for the reminder, I'll see what I can do.
Thanks :-)

Me asking this was a way to find out if GoG achievements were "safe" (unlike Steam's for example). So I suppose that GoG's achievements are not, and it would be quite easy to unlock any achievements in seconds, am I right?
avatar
qrthur: Thanks :-)

Me asking this was a way to find out if GoG achievements were "safe" (unlike Steam's for example). So I suppose that GoG's achievements are not, and it would be quite easy to unlock any achievements in seconds, am I right?
"Safety" is a question of degree. By its very nature, achievements are like DRM... you have to give the player the code which sets them in order for them to be useful and, at that point, it's just a question of how much cleverness it takes to tease the secret out of the compiled binary.

(Crypto is, by definition, for protecting communication between parties A and B from a malicious actor C. If C is the same person as A or B, then no amount of magic crypto pixie dust will make it "secure".)
avatar
qrthur: Me asking this was a way to find out if GoG achievements were "safe" (unlike Steam's for example). So I suppose that GoG's achievements are not, and it would be quite easy to unlock any achievements in seconds, am I right?
In terms of theoretical security GOG's achievements are as unsafe as Steam's. In practice they are a bit harder to modify, because GOG isn't as open about their interfaces. I still think the main reason nobody has written an achievement bot is because nobody cares. Without public profiles it just doesn't make much sense to cheat them. Why are you interested in achievements?
avatar
qrthur: Thanks :-)

Me asking this was a way to find out if GoG achievements were "safe" (unlike Steam's for example). So I suppose that GoG's achievements are not, and it would be quite easy to unlock any achievements in seconds, am I right?
As Yepoleb noted, it's possible to fake your achievements if you'll find a way to do it. :) As well as you could fake your playtime.
avatar
qrthur: Me asking this was a way to find out if GoG achievements were "safe" (unlike Steam's for example). So I suppose that GoG's achievements are not, and it would be quite easy to unlock any achievements in seconds, am I right?
avatar
Yepoleb: In terms of theoretical security GOG's achievements are as unsafe as Steam's. In practice they are a bit harder to modify, because GOG isn't as open about their interfaces. I still think the main reason nobody has written an achievement bot is because nobody cares. Without public profiles it just doesn't make much sense to cheat them. Why are you interested in achievements?
I love achievements, but
* if they are public (like in Steam (open api)/Playstation (secure *enough* system)) then I prefer them to be not easily hacked
* if they are private (as it is with GoG, which I did not realize) then it's completely fine either way, "competing" against my self can only be fair :-)

Might be an odd way to feel, but that's how my mind is set.

Thanks!
avatar
qrthur: I love achievements, but
* if they are public (like in Steam (open api)/Playstation (secure *enough* system)) then I prefer them to be not easily hacked
* if they are private (as it is with GoG, which I did not realize) then it's completely fine either way, "competing" against my self can only be fair :-)
The only way to make achievements harder to cheat is by forcing always-online play and an intrusive anti-cheat. There needs to be some piece of code in the game to trigger the achievements and as long as that code is running on a cheater's own computer, he can run it whenever he wants. Playstation gets around this by locking down the hardware, but that's not really possible with PCs. I understand your concerns, but what you're asking for without realizing is the worst form of DRM possible.
Hello.

I'm trying retrieve the prices of a game/product. I have try with api.gog.com/products/game_id, with /account/gameDetails/game_id.json and gog.com/userData.json, but i havent prices :(
I only retrieve prices with this:
embed.gog.com/games/ajax/filtered?mediaType=game&search=Heroes
But i cant select a game_id (only search by names/words)
Whats wrong? Do you know a url with a game_id that retrieve the price?

Thanks.
Post edited January 15, 2018 by kratord
avatar
kratord: Hello.

I'm trying retrieve the prices of a game/product. I have try with api.gog.com/products/game_id, with /account/gameDetails/game_id.json and gog.com/userData.json, but i havent prices :(
I only retrieve prices with this:
embed.gog.com/games/ajax/filtered?mediaType=game&search=Heroes
But i cant select a game_id (only search by names/words)
Whats wrong? Do you know a url with a game_id that retrieve the price?

Thanks.
You can try this:
https://api.gog.com/products/1207658645/prices?countryCode=FR
But this way you have to do it one country code at a time.
avatar
kratord: Hello.

I'm trying retrieve the prices of a game/product. I have try with api.gog.com/products/game_id, with /account/gameDetails/game_id.json and gog.com/userData.json, but i havent prices :(
I only retrieve prices with this:
embed.gog.com/games/ajax/filtered?mediaType=game&search=Heroes
But i cant select a game_id (only search by names/words)
Whats wrong? Do you know a url with a game_id that retrieve the price?

Thanks.
The cleanest way would probably be to access the store page and parse the gogData variable. You can find an example of how to do that here: https://github.com/Yepoleb/pygogapi/blob/ab15eafd568998f817b8c6cd9210f724cc81ff79/gogapi/api.py#L126
Thank you to SCPM and Yepoleb.
With the country code is fine for me.
Hello,

I am trying to buy a game on GOG and the {"error":"redirect_uri_mismatch","error_description":"The redirect URI provided does not match registered URI(s)."} message comes up every time.

I tried to read the other posts about this, but I am afraid I didn't really understand what was being said. I think I'm trying to do something different, too. I just want the game :)

Is there a dumbed -down way to tell me what I should do? I really have no idea what it is asking for.

Thank you!
avatar
Skyelette: Hello,

I am trying to buy a game on GOG and the {"error":"redirect_uri_mismatch","error_description":"The redirect URI provided does not match registered URI(s)."} message comes up every time.

I tried to read the other posts about this, but I am afraid I didn't really understand what was being said. I think I'm trying to do something different, too. I just want the game :)

Is there a dumbed -down way to tell me what I should do? I really have no idea what it is asking for.

Thank you!
I made a typo in the redirect_url parameter, it should be redirect_uri.
high rated
I just uploaded my dumps of the GOG protocols at https://github.com/Yepoleb/gog_protodump. These are not proper protocol files because they are missing quite a few details, but can be used as a starting point for further reverse engineering. For working files check https://gitlab.com/Yepoleb/comet/tree/master/protobufs but those do not match the original namespaces and are missing most of the message types.