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

×
avatar
sbaylus: Would this fix the following?

$ /usr/bin/lgogdownloader --update-cache --threads 8
Getting game names (46/46) 33 / 33
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_replace
Aborted
Yes, that should fix it.

GOG started to use Fastly CDN for the offline installers and the url formatting for them is different than what lgogdownloader was expecting.
The downloader was missing some checks with string handling which caused the length error.
This was the original fix for it
52b8bdc Fix galaxyAPI::getPathFromDownlinkUrl with Fastly CDN urls

I made some more improvements to it with 6556dc6

I'll bump the version number and do a new release probably later today or tomorrow.
Post edited August 23, 2024 by Sude
Thanks!
avatar
sbaylus: Would this fix the following?

$ /usr/bin/lgogdownloader --update-cache --threads 8
Getting game names (46/46) 33 / 33
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_replace
Aborted
avatar
Sude: Yes, that should fix it.

GOG started to use Fastly CDN for the offline installers and the url formatting for them is different than what lgogdownloader was expecting.
The downloader was missing some checks with string handling which caused the length error.
This was the original fix for it
52b8bdc Fix galaxyAPI::getPathFromDownlinkUrl with Fastly CDN urls

I made some more improvements to it with 6556dc6

I'll bump the version number and do a new release probably later today or tomorrow.
LGOGDownloader 3.15
- Changed Galaxy CDN priority handling to be more generic
- Changed default Galaxy CDN priority to "edgecast,akamai_edgecast_proxy,fastly"
- Added option to list available CDNs
* --galaxy-list-cdns
- Added option to force browser based login
* --browser-login
- Fixed login check when redirected to embedded version of website
- Fixed handling Fastly CDN urls
- Fixed crash caused by errors in html to xhtml conversion

https://github.com/Sude-/lgogdownloader/releases/download/v3.15/lgogdownloader-3.15.tar.gz

sha256: 9946558bb30b72cd5ed712e7fc425eef4b2a1fd22b5475d1a998720800cd25f0
md5: 6a6d5e71a02b2b020da43d94474b6ac4
avatar
Sude: LGOGDownloader 3.15
- Changed Galaxy CDN priority handling to be more generic
- Changed default Galaxy CDN priority to "edgecast,akamai_edgecast_proxy,fastly"
- Added option to list available CDNs
* --galaxy-list-cdns
- Added option to force browser based login
* --browser-login
- Fixed login check when redirected to embedded version of website
- Fixed handling Fastly CDN urls
- Fixed crash caused by errors in html to xhtml conversion

https://github.com/Sude-/lgogdownloader/releases/download/v3.15/lgogdownloader-3.15.tar.gz

sha256: 9946558bb30b72cd5ed712e7fc425eef4b2a1fd22b5475d1a998720800cd25f0
md5: 6a6d5e71a02b2b020da43d94474b6ac4
Thank you for your work.

I can go back to updating my games without damaging my mouse, and my wrist :-)
does anyone know of an updated lgogdownloader docker?


Tried this one with 3.15

/nvllsvm/docker-lgogdownloader/blob/master/Dockerfile

still fails with

Getting game names (4/4) 5 / 5
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_replace
Aborted
Post edited September 16, 2024 by e_Lap
Since lgogdownloader can download "Galaxy downloads" using the Akamai CDN, would it be possible to implement downloading also offline installers from Akamai, and not Fastly?

To my understanding, the Galaxy client does download the offline installers using Akamai, if you choose to download your offline installers with the Galaxy client, instead of your web browser.

Why use Akamai instead of Fastly? Because for many (all?) people Akamai downloads seem to be far faster than Fastly servers. You can see this if you try to download offline installers with your browser and the Galaxy client.

I have a 600Mbit/s (75 MByte/s) internet line, and with a browser I can download offline installers at about 18-20 MByte/s which is ok. The fastest I've seen is around 36 MByte/s but haven't seen that for awhile, and for many Fastly seems to give quite poor download speeds, like under 1 MByte/s.

However, when downloading offline installers with Galaxy, the last time I tested it I got up to 70 MByte/s download speeds, so over three times faster than what I get with Fastly.
Post edited September 20, 2024 by timppu
avatar
timppu: Since lgogdownloader can download "Galaxy downloads" using the Akamai CDN, would it be possible to implement downloading also offline installers from Akamai, and not Fastly?

To my understanding, the Galaxy client does download the offline installers using Akamai, if you choose to download your offline installers with the Galaxy client, instead of your web browser.

Why use Akamai instead of Fastly? Because for many (all?) people Akamai downloads seem to be far faster than Fastly servers. You can see this if you try to download offline installers with your browser and the Galaxy client.

I have a 600Mbit/s (75 MByte/s) internet line, and with a browser I can download offline installers at about 18-20 MByte/s which is ok. The fastest I've seen is around 36 MByte/s but haven't seen that for awhile, and for many Fastly seems to give quite poor download speeds, like under 1 MByte/s.

However, when downloading offline installers with Galaxy, the last time I tested it I got up to 70 MByte/s download speeds, so over three times faster than what I get with Fastly.
It wasn't possible few years ago when I had lots of issues when GOG was using Highwinds CDN while I was connected to my usual VPN.
I even asked from some GOG people if it was possible to choose CDN for offline installer downloads and they said it wasn't possible. That could have changed since then.

However I just installed Windows in a VM and snooped the Galaxy traffic using mitmproxy when downloading offline installers with Galaxy and at least for everything I tried it only connected to Fastly CDN.
I'm guessing the faster download speeds you are getting with Galaxy are because it uses multiple threads to download a single file.
Galaxy seems to be downloading in 10MB chunks using normal http range requests on the same url that lgogdownloader gets from the API for offline installers.
avatar
Sude: However I just installed Windows in a VM and snooped the Galaxy traffic using mitmproxy when downloading offline installers with Galaxy and at least for everything I tried it only connected to Fastly CDN.
I'm guessing the faster download speeds you are getting with Galaxy are because it uses multiple threads to download a single file.
That's interesting! I haven't checked myself but in another discussion someone claimed Galaxy was connecting to Akamai servers when downloading offline installers with it. Maybe it isn't so after all?

I need to try again whether I am still getting considerably better download speeds with Galaxy (for offline installers specifically). Back when I tried it, I got around 20 MBytes/sec with a browser (even if I downloaded several, e.g. three, files at the same time), while with Galaxy I got around 70 MBytes/sec (no idea how many threads it uses).

Downloading + installing a game with Galaxy was actually slower than downloading an offline installer with it, which I found surprising. In that case I got around 50 MBytes/sec with Galaxy.
Helpful hint for those of us on Fedora 40: In addition to the listed dependencies, you're gonna need to install the following -

zlib-ng
zlib-ng-compat
zlib-ng-compat-devel

Hope that helps, at least until someone thinks to update the version of lgogdownloader over there.
Would it possible to add some more download options, ie saving the square icon, background, box art and screenshots, each with its respective --save-xxx parameters?

See also https://github.com/Sude-/lgogdownloader/issues/284
i have not been able to update games lately, '-- galaxy-install' is giving me outdated(3 on the '--galaxy-show-builds' list) builds of the game, using the build id of the most recent version returns "Only generation 2 builds are supported currently" but all builds are listed as (Gen 2), is this a bug? intended behavior? me being stupid?

edit:LGOGDownloader 3.15
Attachments:
Post edited October 17, 2024 by Alexseyew
avatar
coffeecup: Would it possible to add some more download options, ie saving the square icon, background, box art and screenshots, each with its respective --save-xxx parameters?

See also https://github.com/Sude-/lgogdownloader/issues/284
It would probably be a good idea to make all of the --save-* parameters into --include and --exclude options
I'll look into this when I get some time to work on the downloader but it'll be a low priority for now

avatar
Alexseyew: i have not been able to update games lately, '-- galaxy-install' is giving me outdated(3 on the '--galaxy-show-builds' list) builds of the game, using the build id of the most recent version returns "Only generation 2 builds are supported currently" but all builds are listed as (Gen 2), is this a bug? intended behavior? me being stupid?

edit:LGOGDownloader 3.15
--galaxy-install requires the game id or name and optionally the index number of the build shown by --galaxy-show-builds (not the actual build id, I really should add support for selecting with build id at some point)

so in your case you want to use
--galaxy-install rogue_trader/0
or
--galaxy-install 1347700224/0
to select the build or you can simply let lgogdownloader automatically select the first build by omitting the index number (the first build should be the newest build most of the time)
--galaxy-install rogue_trader
EDIT: Can't believe I forgot to say this first, but...

Thank you Sude for creating this fantastic tool and sharing it with the community. Even with my partially functional understanding of the syntax, you've saved me hours of my life and a lot of wear and tear on my poor fingers.

--------------

Hey there wonderful GOG-ers. Can anyone help me figure out the errors in my lgogdownloader script? I Just discovered lgogdownloader (and GOG itself) fairly recently and while I know a little about shell scripting, it is only a little. I've read the man pages many times, but I'm just not figuring out my mistakes.

To keep it simple, I want to do a complete download of my GOG library with every extra, the change logs, icons, serials, etc. If GOG exploded tomorrow I want to have as close to a complete copy of all the data in the library as I can. l'm able to download the games and the "extras" with this command, but nothing else. I don't get changelogs, serials, icons, etc. Any kind strangers able to help me out?

#!/bin/zsh

/opt/homebrew/bin/lgogdownloader --repair --download --language=en --platform=w,l+m --save-changelogs --save-logo --save-icon --save-serials --save-game-details-json --save-product-json --check-free-space --automatic-xml-creation --report --status --list --notifications --no-fast-status-check --update-cache --save-config

exit 0
Post edited October 26, 2024 by lerdranonthyte
Looks like updates using Linux installers hack as pseudo-galaxy stopped working.

Just tried for Slay The Princess, and I'm getting this:

Galaxy API doesn't have Linux support
Trying to use installers as repository
No installers found

---

Hm - that was intermittent. Now it works.
Post edited October 27, 2024 by shmerl
With the release of Fedora 41, new needs for compiling have come.

In adition to zlib-ng and related, make sure you have qt5-qtbase-devel and qt5-webengine-devel before trying to compile lgogdownloader on a new Fedora 41 instance.