chimera
chimera copied to clipboard
Allow updating GOG games
Maybe you should take a look at lgogdownloader. It has an experimental GOG galaxy API implementation that can download files individually and will help updating and installing large games without crashing on download timeout. Would look something like this:
joaquin@smeagol: $ lgogdownloader --galaxy-show-builds cyberpunk_2077
Getting game names (1/1) 4 / 4
0: Version 1.2 - 2021-03-26T21:23:26+0000 (Gen 2)
1: Version 1.12 - 2021-02-03T19:22:26+0000 (Gen 2)
2: Version 1.11 - 2021-01-26T17:36:59+0000 (Gen 2)
3: Version 1.1 - 2021-01-16T03:12:45+0000 (Gen 2)
4: Version 1.06 - 2020-12-21T21:45:05+0000 (Gen 2)
joaquin@smeagol: $ lgogdownloader --galaxy-install cyberpunk_2077
Getting game names (1/1) 4 / 4
Cyberpunk 2077
Files: 116
Total size installed: 60279.2 MB
2021-Mar-29 20:42:22 [Thread #3] Download complete: ./Cyberpunk 2077/archive/pc/content/basegame_2_mainmenu.archive
#0 ./Cyberpunk 2077/archive/pc/content/audio_1_general.archive (chunk 12/18)
0% ▕ ▏ 0.00/9.78MB @ 0.00kB/s ETA: 0s
#1 ./Cyberpunk 2077/archive/pc/content/audio_2_soundbanks.archive (chunk 11/495)
100% ▕██████████████████████████▏ 9.95/9.95MB @ 2.28MB/s ETA: 0s
#2 ./Cyberpunk 2077/archive/pc/content/basegame_1_engine.archive (chunk 12/19)
12% ▕███▏ ▏ 1.20/9.87MB @ 886.33kB/s ETA: 10s
#3 ./Cyberpunk 2077/archive/pc/content/basegame_3_nightcity.archive (chunk 11/771)
22% ▕█████▊ ▏ 2.22/10.00MB @ 1.11MB/s ETA: 7s
Total: 4.26MB/s | Remaining: 111 (45.40GB) ETA: 3h 02m 23s
As you see, it downloads the files in chunks of 10Mb and will not download already downloaded files. You could also give the user the ability to select different versions by showing the builds. The build 0 will always be the most recent one.