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

×
EDIT: i updated my script to update the cache files remove any unwanted games. https://gist.github.com/maluramichael/31dc56cfc28bb65a2e8157319f6b5d39

Is it possible to skip certain games? I would like to skip chernobylite and cyberpunk because they are huge. Right now i run this script to download my games.

lgogdownloader \
--update-cache \
--language=de,en \
--threads 8 \
--info-threads 12 \
--cache-valid 604800

lgogdownloader \
--download \
--use-cache \
--subdir-game %gamename%/%platform% \
--directory . \
--platform w \
--language de,en \
--save-serials \
--automatic-xml-creation \
--exclude patches \
--save-changelogs \
--threads 2 \
--info-threads 12
Post edited August 16, 2022 by maluramichael
avatar
Sude: Only generation 2 builds are supported. GOG hasn't updated many older games to generation 2 builds yet. So expect to see "Only generation 2 builds are supported currently" error message a lot when testing this.
I just got this error for newly released Skyrim Anniversary edition (game id 1801825368):

> Only generation 2 builds are supported currently

It can't be they are using the old generation build. Did they make a new one may be (generation 3)?

Somehow it worked fine for special edition of the game (id 1711230643) which includes less addons.
Post edited September 30, 2022 by shmerl
Hello Sude, once again, thanks for the work with this tool.
I've been using my distribution repository lgogdownloader version and yours for testing and I couldn't find a way to uninstall your version after it's built from source, so I just manually deleted the files.

How can I uninstall it after building it from source? Thanks and sorry if it's a dumb question. :)
avatar
maluramichael: Is it possible to skip certain games? I would like to skip chernobylite and cyberpunk because they are huge.
You can use regex to filter certain games
See perl lookaround assertions
Especially the negative lookahead (?!pattern)

For example this excludes everything that contains chernobylite or cyberpunk anywhere in the name
--game '^(?!.*(chernobylite|cyberpunk).*).*$'

avatar
Sude: Only generation 2 builds are supported. GOG hasn't updated many older games to generation 2 builds yet. So expect to see "Only generation 2 builds are supported currently" error message a lot when testing this.
avatar
shmerl: I just got this error for newly released Skyrim Anniversary edition (game id 1801825368):

> Only generation 2 builds are supported currently

It can't be they are using the old generation build. Did they make a new one may be (generation 3)?

Somehow it worked fine for special edition of the game (id 1711230643) which includes less addons.
According to gogdb Anniversary Edition seems to be handled as DLC for Special Edition and doesn't actually have any builds
https://www.gogdb.org/product/1801825368#builds
SE shows AE as a product included in build manifest
https://www.gogdb.org/product/1711230643/build/55846306920288567

Therefore installing SE with --galaxy-install will install AE if user owns AE at the moment because --galaxy-install doesn't filter DLCs currently
I'll have to add support for excluding DLCs to --galaxy-install
It should be just a few lines of code I think. I'll try to get it done during the weekend after I've reviewed the pull request to add cloud save support.

avatar
.Keys: Hello Sude, once again, thanks for the work with this tool.
I've been using my distribution repository lgogdownloader version and yours for testing and I couldn't find a way to uninstall your version after it's built from source, so I just manually deleted the files.

How can I uninstall it after building it from source? Thanks and sorry if it's a dumb question. :)
CMake doesn't provide "make uninstall" target so you have to manually delete the files.
However CMake does generate install_manifest.txt file in the build directory
You can use install_manifest.txt to check which files to delete or automate it using xargs
xargs rm < install_manifest.txt
Post edited September 30, 2022 by Sude
avatar
.Keys: Hello Sude, once again, thanks for the work with this tool.
I've been using my distribution repository lgogdownloader version and yours for testing and I couldn't find a way to uninstall your version after it's built from source, so I just manually deleted the files.

How can I uninstall it after building it from source? Thanks and sorry if it's a dumb question. :)
avatar
Sude: CMake doesn't provide "make uninstall" target so you have to manually delete the files.
However CMake does generate install_manifest.txt file in the build directory
You can use install_manifest.txt to check which files to delete or automate it using xargs
xargs rm < install_manifest.txt
Thanks for the clarification, really. :)
6ae6ab2 Adds cloud save support.
Big thanks to loki-47-6F-64 for the pull request.

626aa68 Galaxy: Fix MojoSetup hack for files that have missing XML data
Try to get file size using Content-Length header if XML data is missing

211a0a8 Galaxy: Add initial support for ignoring DLCs
Adds support to ignore all DLCs when installing game with --galaxy-install
Either --exclude dlcs or make sure you don't --include dlcs
Eventually I'd like users to be able to choose which DLCs to ignore instead of this being all or nothing but that will require some bigger changes
Post edited October 01, 2022 by Sude
With GOG embracing DRM now, backing up my entire catalogue, properly, suddenly became a lot more important. Thank you for this script, it's fantastic. I'm now looking into more storage options as 500GB free probably won't cut it.

Why must everything good die? :(
hello :)
using command to update cache: lgogdownloader --update-cache --size-only
version is lgogdownloader-git-3.9.r15.g211a0a8

and getting errors like
[spoiler]
Response code for https://api.gog.com/products/1954833607/downlink/product_bonus/80653 is [404]
Response code for https://api.gog.com/products/1954833607/downlink/product_bonus/80656 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/ko1installer0 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/ko1installer1 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/br1installer0 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/br1installer1 is [404]
[/spoiler]


aam i correct that links are missing?
Is it possible to do a dry run or test run, to check how much harddisk space it would require to download my entire library?
avatar
franky-boy: hello :)
using command to update cache: lgogdownloader --update-cache --size-only
version is lgogdownloader-git-3.9.r15.g211a0a8

and getting errors like
[spoiler]
Response code for https://api.gog.com/products/1954833607/downlink/product_bonus/80653 is [404]
Response code for https://api.gog.com/products/1954833607/downlink/product_bonus/80656 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/ko1installer0 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/ko1installer1 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/br1installer0 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/br1installer1 is [404]
[/spoiler]

aam i correct that links are missing?
Having the same issue while it was working before, I'm thinking GOG changed something in their api and that it's currently broken
Could it be some kind of throttling attempt?
You're not supposed to return a 4xx status code in this case, but that wouldn't be the first time developers return whatever they think will prevent immediate retries...
avatar
franky-boy: hello :)
using command to update cache: lgogdownloader --update-cache --size-only
version is lgogdownloader-git-3.9.r15.g211a0a8

and getting errors like
[spoiler]
Response code for https://api.gog.com/products/1954833607/downlink/product_bonus/80653 is [404]
Response code for https://api.gog.com/products/1954833607/downlink/product_bonus/80656 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/ko1installer0 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/ko1installer1 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/br1installer0 is [404]
Response code for https://api.gog.com/products/1982382861/downlink/installer/br1installer1 is [404]
[/spoiler]

aam i correct that links are missing?
avatar
SMAW: Having the same issue while it was working before, I'm thinking GOG changed something in their api and that it's currently broken
avatar
petchema: Could it be some kind of throttling attempt?
You're not supposed to return a 4xx status code in this case, but that wouldn't be the first time developers return whatever they think will prevent immediate retries...
The response code error message was added with cloud save support in c97a828

The 404 messages are caused by unowned DLCs. lgogdownloader tries to get info about a file but because user doesn't own it GOG returns 404 error. GOG should probably respond with 403 but then again GOG API responses have always been "special". Before commit c97a828 those errors were just silently ignored

e5d347d Adds option to set message verbosity level and no longer prints these messages by default.
The verbosity levels I set for current messages will probably need some adjustments later.
avatar
Sude: The 404 messages are caused by unowned DLCs. lgogdownloader tries to get info about a file but because user doesn't own it GOG returns 404 error. GOG should probably respond with 403 but then again GOG API responses have always been "special".
Reassuring!
Thank you again for this essential software, perspective of not being able to update my game backups automatically really didn't sound like fun.
avatar
maluramichael: Is it possible to skip certain games? I would like to skip chernobylite and cyberpunk because they are huge.
avatar
Sude: You can use regex to filter certain games
See perl lookaround assertions
Especially the negative lookahead (?!pattern)

For example this excludes everything that contains chernobylite or cyberpunk anywhere in the name
--game '^(?!.*(chernobylite|cyberpunk).*).*$'
Sude thanks for your brilliant program!

Just one question: do i need to put this "--game '^(?!.*(the_witcher_3).*).*$'" before or after the --use-cache to exclude the witcher 3?
Can someone compile this for Windows?