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

×
Would it be possible to add private beta support for things like the Stardew Valley beta?

A small thing, the man/help is missing the way to specify the build for galaxy-install for some reason my first though had been with : instead of /.

One final question presumably Galaxy handles runtimes in some form is there a way to know what runtimes would have been installed?

Thanks for the work you've put into this. Maybe we should ask GOG to add Linux Galaxy builds so that we can actually install native games from the galaxy-install option, given they aren't working on a linux version of Galaxy it seems like it will be forever before we get instant/beta access to builds. Its the only reason I'd even consider using Galaxy and thanks to you we already have it.
avatar
Pangaea666: For example, I have the Wallace and Gromit games...
avatar
Gydion: gamename: episode_1_fright_of_the_bumblebees
title: Wallace and Gromit's Episode 1 Fright of the Bumblebees

gamename: episode_2_the_last_resort
title: Wallace and Gromit's Episode 2 The Last Resort

gamename: episode_3_muzzled
title: Wallace and Gromit's Episode 3 Muzzled

gamename: episode_4_the_bogey_man
title: Wallace and Gromit's Episode 4 The Bogey Man
avatar
Sude: I think this is an issue caused by the downloader removing exclude option from config file instead of saving it as empty string. When boost program options parses the config file it doesn't see the option set because it's missing and fallbacks to default value (exclude = covers).
You can either edit the config file and manually and add "exclude = " to it or just set its value to something that isn't a valid option in INCLUDE_OPTIONS. For example "lgogdownloader --exclude nothing --save-config" in which case value for exclude is set to 0 when the option get parsed.

I will probably remove cover download option when I work on the download logic next time.

The cover list is unmaintained. I haven't updated the cover list for almost 4 years now.
I added --cover-list option few months after I stopped updating the list in case someone else wanted to maintain the list but I don't know about anyone maintaining an updated cover list.
I certainly don't have any interest in maintaining the list.

"exclude = covers" has been default for almost 3 years and this is the first time this bug has been discovered so I doubt many people even use the option anymore.

Thus removing the option seems like a logical course of action.
Managed to get the covers in the end, just wanted to get it all really, and I see there isn't one for all games which makes sense if the list hasn't been maintained for 4 years. It's a nice function, but what I would probably like even more is to be able to download the pictures from the game page on the main GOG site, plus videos if possible. Naturally the main function with a program like this is to get the actual game files though.
avatar
Gydion: gamename: episode_1_fright_of_the_bumblebees
title: Wallace and Gromit's Episode 1 Fright of the Bumblebees

gamename: episode_2_the_last_resort
title: Wallace and Gromit's Episode 2 The Last Resort

gamename: episode_3_muzzled
title: Wallace and Gromit's Episode 3 Muzzled

gamename: episode_4_the_bogey_man
title: Wallace and Gromit's Episode 4 The Bogey Man
Thanks for this. Turns out the games actually got downloaded, I just didn't see them due to the weird folder names. It's the same for Blackwell apparently.
Post edited May 05, 2018 by Pangaea666
What is the best way to check for updated files and know which ones it is? Right now I have one updated game, and if I run the --update-check it tells me the number, but not which game it is.

Also, what is the fastest way to download all that is new? I've tried --download and --repair, but then it goes through every file and checks md5 and such, and it takes a rather long time.

Would be nice to be able to run --update-check (or with an argument) and be told the amount of updated games, and the files. Without it running through every file and listing them in the console, so I don't see what is actually new. Is this currently possible, or would it be possible to implement?
avatar
xyem: This is unlikely to be worth addressing as it won't affect many (and would require quite a bit of rewrite), but from the behaviour I am seeing, I'm going to guess that you are opening the downloads for writing, even if they are complete (or your use of curl is)?

This behaves really badly for copy-on-write filesystems (such as overlay) as it just causes everything to be copied from the lower directory to the upper directory.
8ca7722 Skip complete files instead of trying to resume

avatar
Cusith: Would it be possible to add private beta support for things like the Stardew Valley beta?
I haven't reverse engineered how Galaxy handles private build channels yet. I guess I need to do some research on this.

avatar
Cusith: A small thing, the man/help is missing the way to specify the build for galaxy-install for some reason my first though had been with : instead of /.
04370b8 Better help text for galaxy-install and galaxy-show-builds

avatar
Cusith: One final question presumably Galaxy handles runtimes in some form is there a way to know what runtimes would have been installed?
I remember that I found a reference to required runtimes while reverse engineering the API but I've misplaced my notes on it. I'll probably take a look at this when researching the private build channels.

avatar
Cusith: Thanks for the work you've put into this. Maybe we should ask GOG to add Linux Galaxy builds so that we can actually install native games from the galaxy-install option, given they aren't working on a linux version of Galaxy it seems like it will be forever before we get instant/beta access to builds. Its the only reason I'd even consider using Galaxy and thanks to you we already have it.
Yepoleb had an interesting idea on how to implement unofficial galaxy content system. Taking inspiration from Galaxy content system v1 and by taking advantage of MojoSetup and Zip file formats.
It's possible that we can have working galaxy-install option before GOG has official Galaxy repository for Linux.

avatar
Pangaea666: What is the best way to check for updated files and know which ones it is? Right now I have one updated game, and if I run the --update-check it tells me the number, but not which game it is.

Also, what is the fastest way to download all that is new? I've tried --download and --repair, but then it goes through every file and checks md5 and such, and it takes a rather long time.

Would be nice to be able to run --update-check (or with an argument) and be told the amount of updated games, and the files. Without it running through every file and listing them in the console, so I don't see what is actually new. Is this currently possible, or would it be possible to implement?
--update-check needs some work. It's old and not working properly anymore.
Updated games should be shown in the output of --list with green color and number of updates.
However I think I broke checking for updated files when I changed the downloader to use Galaxy API.
I'm probably going to rewrite --update-check function after I've looked more into how Galaxy API handles update notifications.
Post edited May 14, 2018 by Sude
Hello, I tried to download several games using lgogdownloader, but mostly I'm getting empty files:

lgogdownloader --download --game battletech
Getting game names (1/1) 63 / 63
Getting game info 1 / 1
2018-May-26 12:35:24 [Thread #0] Begin download: setup_battletech_1.0.4-280d_(64bit)_(20930).exe
2018-May-26 12:35:24 [Thread #1] Begin download: setup_battletech_1.0.4-280d_(64bit)_(20930)-1.bin
2018-May-26 12:35:24 [Thread #3] Begin download: setup_battletech_1.0.4-280d_(64bit)_(20930)-2.bin
2018-May-26 12:35:24 [Thread #2] Begin download: setup_battletech_1.0.4-280d_(64bit)_(20930)-3.bin
2018-May-26 12:35:25 [Thread #0] Download complete: setup_battletech_1.0.4-280d_(64bit)_(20930).exe (@ 0.00kB/s)
2018-May-26 12:35:25 [Thread #0] Begin download: setup_battletech_1.0.4-280d_(64bit)_(20930)-4.bin
2018-May-26 12:35:25 [Thread #2] Download complete: setup_battletech_1.0.4-280d_(64bit)_(20930)-3.bin (@ 0.00kB/s)
2018-May-26 12:35:25 [Thread #2] Begin download: patch_battletech_1.0.3-280R_(20761)_to_1.0.4-280D_(20930).exe
2018-May-26 12:35:25 [Thread #3] Download complete: setup_battletech_1.0.4-280d_(64bit)_(20930)-2.bin (@ 0.00kB/s)
2018-May-26 12:35:25 [Thread #1] Download complete: setup_battletech_1.0.4-280d_(64bit)_(20930)-1.bin (@ 0.00kB/s)
2018-May-26 12:35:25 [Thread #3] Finished all tasks
2018-May-26 12:35:25 [Thread #1] Finished all tasks
2018-May-26 12:35:25 [Thread #0] Download complete: setup_battletech_1.0.4-280d_(64bit)_(20930)-4.bin (@ 0.00kB/s)
2018-May-26 12:35:25 [Thread #0] Finished all tasks
2018-May-26 12:35:25 [Thread #2] Download complete: patch_battletech_1.0.3-280R_(20761)_to_1.0.4-280D_(20930).exe (@ 0.00kB/s)
2018-May-26 12:35:25 [Thread #2] Finished all tasks
#0: Finished
#1: Finished
#2: Finished
#3: Finished

lgogdownloader --download --game hacknet
Getting game names (1/1) 63 / 63
Getting game info 1 / 1
2018-May-26 13:15:38 [Thread #0] Begin download: setup_hacknet_5.069_(15083).exe
2018-May-26 13:15:38 [Thread #3] Begin download: hacknet_en_5_069_15083.sh
2018-May-26 13:15:38 [Thread #2] Begin download: hacknet_ost_mp3.zip
2018-May-26 13:15:38 [Thread #1] Begin download: hacknet_ost_flac.zip
2018-May-26 13:15:38 [Thread #2] Download complete: hacknet_ost_mp3.zip (@ 0.00kB/s)
2018-May-26 13:15:38 [Thread #2] Begin download: hacknet_labyrinths_ost_flac.zip
2018-May-26 13:15:38 [Thread #1] Download complete: hacknet_ost_flac.zip (@ 0.00kB/s)
2018-May-26 13:15:38 [Thread #1] Begin download: hacknet_labyrinths_ost_mp3.zip
2018-May-26 13:15:39 [Thread #3] Download complete: hacknet_en_5_069_15083.sh (@ 0.00kB/s)
2018-May-26 13:15:39 [Thread #3] Begin download: setup_hacknet_-_labyrinths_5.069_(15083).exe
2018-May-26 13:15:39 [Thread #0] Download complete: setup_hacknet_5.069_(15083).exe (@ 0.00kB/s)
2018-May-26 13:15:39 [Thread #0] Begin download: hacknet_labyrinths_dlc_en_5_069_15083.sh
2018-May-26 13:15:39 [Thread #1] Download complete: hacknet_labyrinths_ost_mp3.zip (@ 0.00kB/s)
2018-May-26 13:15:39 [Thread #1] Finished all tasks
2018-May-26 13:15:39 [Thread #2] Download complete: hacknet_labyrinths_ost_flac.zip (@ 0.00kB/s)
2018-May-26 13:15:39 [Thread #2] Finished all tasks
2018-May-26 13:15:39 [Thread #3] Download complete: setup_hacknet_-_labyrinths_5.069_(15083).exe (@ 0.00kB/s)
2018-May-26 13:15:39 [Thread #3] Finished all tasks
2018-May-26 13:15:39 [Thread #0] Download complete: hacknet_labyrinths_dlc_en_5_069_15083.sh (@ 0.00kB/s)
2018-May-26 13:15:39 [Thread #0] Finished all tasks
#0: Finished
#1: Finished
#2: Finished
#3: Finished


lgogdownloader --version
LGOGDownloader 3.3.7373d35

Freshly downloaded using GIT, and then compiled using tools available within Debian 9 Stretch repositories.

Other features (including log-on, listing bought games and wish-list) seems to work properly.
Post edited May 26, 2018 by Sh1v0n
avatar
Sh1v0n: ...
I have the same version and just used it successfully, have you tried again it might just have been a issue with the servers.

And thanks again Sude, would be nice if GOG open sourced things so that folks wouldn't need to reverse engineer everything.
avatar
Cusith: I have the same version and just used it successfully, have you tried again it might just have been a issue with the servers.

And thanks again Sude, would be nice if GOG open sourced things so that folks wouldn't need to reverse engineer everything.
Done, but still the result is the same - after getting first line of "Begin Download", the whole process ends in less than half of the second, as indicated below.

lgogdownloader --download --game tyrian_2000
Getting game names (1/1) 63 / 63
Getting game info 1 / 1
2018-May-26 19:51:23 [Thread #0] Begin download: setup_tyrian_2000_2.1.0.13.exe
2018-May-26 19:51:23 [Thread #1] Begin download: tyrian2000_ost.zip
2018-May-26 19:51:23 [Thread #1] Download complete: tyrian2000_ost.zip (@ 0.00kB/s)
2018-May-26 19:51:23 [Thread #1] Finished all tasks
2018-May-26 19:51:24 [Thread #0] Download complete: setup_tyrian_2000_2.1.0.13.exe (@ 0.00kB/s)
2018-May-26 19:51:24 [Thread #0] Finished all tasks
#0: Finished
#1: Finished
avatar
Cusith: I have the same version and just used it successfully, have you tried again it might just have been a issue with the servers.

And thanks again Sude, would be nice if GOG open sourced things so that folks wouldn't need to reverse engineer everything.
avatar
Sh1v0n: Done, but still the result is the same - after getting first line of "Begin Download", the whole process ends in less than half of the second, as indicated below.

lgogdownloader --download --game tyrian_2000
Getting game names (1/1) 63 / 63
Getting game info 1 / 1
2018-May-26 19:51:23 [Thread #0] Begin download: setup_tyrian_2000_2.1.0.13.exe
2018-May-26 19:51:23 [Thread #1] Begin download: tyrian2000_ost.zip
2018-May-26 19:51:23 [Thread #1] Download complete: tyrian2000_ost.zip (@ 0.00kB/s)
2018-May-26 19:51:23 [Thread #1] Finished all tasks
2018-May-26 19:51:24 [Thread #0] Download complete: setup_tyrian_2000_2.1.0.13.exe (@ 0.00kB/s)
2018-May-26 19:51:24 [Thread #0] Finished all tasks
#0: Finished
#1: Finished
Sorry if this sounds daft, but I get these messages for all games that are already downloaded, so are you sure the files are actually not already downloaded?

Looks like the script runs through all possible files, and for those already downloaded you get a line like that.
463a9c3 Galaxy: Add hack for installing Linux games
This makes the downloader use Linux installers as replacement for Galaxy repository when it detects that there isn't Galaxy support for Linux.
Linux installers use MojoSetup which means that the installers are Zip files that have bash script and installer binary prepended.
We can get zip file entries from zip central directory and then split the game installer to chunks based on those file entries.
Therefore we can download individual files from the installer.

dd57146 Galaxy: Use regex for language detection in --galaxy-install
Some builds use different language codes. This fixes installing those games.


avatar
Sh1v0n: ...
Does this also happen when the downloader is forced to take the single threaded code path by using --repair
lgogdownloader --repair --download --game battletech
avatar
Sude: Does this also happen when the downloader is forced to take the single threaded code path by using --repair
lgogdownloader --repair --download --game battletech
Yes, it works with "--repair" flag. So probably I have no choice for now.
The question is - why it doesn't work without it?

avatar
Pangaea666: Sorry if this sounds daft, but I get these messages for all games that are already downloaded, so are you sure the files are actually not already downloaded?

Looks like the script runs through all possible files, and for those already downloaded you get a line like that.
The problem is, that those files didn't existed on my drive when I've launched the command. Very weird behaviour.
Post edited May 30, 2018 by Sh1v0n
➜ GOG Downloads lgogdownloader --download
Email: ( trust me I put it in right)
Password: ( trust me I put it in right)
Login form contains reCAPTCHA (https://www.google.com/recaptcha/) (I know)
Login with browser and export cookies to "/home/randall/.config/lgogdownloader/cookies.txt" (I did but you keep eating the file)
HTTP: Login failed (you don't say!)

how am I supposed to fix this?
Post edited June 21, 2018 by RandallLinux
avatar
RandallLinux: ➜ GOG Downloads lgogdownloader --download
Email: ( trust me I put it in right)
Password: ( trust me I put it in right)
Login form contains reCAPTCHA (https://www.google.com/recaptcha/) (I know)
Login with browser and export cookies to "/home/randall/.config/lgogdownloader/cookies.txt" (I did but you keep eating the file)
HTTP: Login failed (you don't say!)

how am I supposed to fix this?
I'm having the same issue.
solved it, I restricted all permissions for the cookies.txt file to read only
I'm a long-time gogrepo,py user (which is the other active user-made tool for the same purpose), and just out of curiosity I finally now decided to try out lgogdownloader as well, as I've lately become more active in Linux too. The main reason I didn't try lgogdownloader before was because I was not sure how to set it up on Windows (has someone already tried it successfully?).

For now I tried it in a virtualboxed Linux Mint, but I'll probably try it also on my real Mint installation. Seems to work fine as far as I can see, no hiccups so far. I can't really make a complete comparison of features as I tried lgogdownloader only barely (login, get list of all games, start downloading all games).

One positive finding though was that the whole setup part (where the tool prepares for downloading by getting game details) seems to go much faster on lgogdownloader than it goes in gogrepo. For my 1554 games (English/Windows versions only), the setup part currently takes like 3 hours or more on gogrepo (it used to be much worse earlier like 11 hours or so, but the setup process was later optimized and become quicker), but on lgogdownloader it took like 10 minutes or so before it could start downloading the games.

Is lgogdownloader using some completely different method for that setup process, preparing for downloads? Or is it because of the different API?

Too bad lgogdownloader and gogrepo directory structures are not 1:1, ie. the former puts extras to a separate subdirectory while gogrepo doesn't, so I can't freely use both interchangeably. I kinda like the idea of extras going to a subdirectory, I need to check if it would be possible to make it an option in gogrepo to put extras to a similar subdirectory so then both could be used for the same collection.

I'd also like to check if it is possible to easily set lgogdownloader to run on Windows...
Post edited August 23, 2018 by timppu