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
Kalanyr: That chunk data is available and is how download resuming works. I've toyed around with using it for repairing files but there's synchronisation issues that I never really solved (you have to grab the data at the time you download the file (because otherwise you're potentially comparing to a different file or the data is gone) but once you do that, the file can become stale (there's no guarantee that for a bad chunk detected that a good chunk exists to download anymore)).
Interesting, gotcha. I guess if you really thought it might be worth the effort, you might trace how the gog downloader handled it properly, but I'm inclined to guess that it just didn't, so that would be a waste of effort. ;-)

Maybe if you get a "bad" chunk, you grab a few more, and if those fail you update the checksum data for the whole file, and if the start of the already downloaded part doesn't match, just start again on fetching that file? Sorry, I may not have thought that out properly, and you probably have already... Alternatively, you may share my distaste for "hacks". :-)
avatar
mrkgnao: No advantage that I'm aware of. I personally prefer the -full method.
avatar
Lhun Duum: Is full update still working for you? As I described earlier, for me it's no longer working correctly after 15 min or something, it's like the gog server is refusing the connections. Since my game collection is somewhat big, I no longer can get a full update. (I've applied the XML patch, so it's not because of that)
I didn't try. I did a full a couple of weeks ago. I'll do another one in a month or so. I don't do it too often, as it's a lengthy process (a few hours).
avatar
timppu: I mostly agree with you (of the DRM-free benefits of purchasing in GOG store), but there are obviously several reasons why people don't do it (especially when their GOG library is growing):
My view, is that if you have the money to buy lots of games, then you should wisely spend some of it on a backup drive or three.

avatar
timppu: - Without 3rd party tools like gogrepo, it is pain in the arse to download "all your games", and especially trying to track the updates, ie. what games you should download again. I felt it was pain in the arse already when I had only few hundred games on GOG, I lost track of the updates already back then, when trying to do it manually and with the old GOG downloader client.
For sure, but if you backup as you buy, it is not that onerous ... unless you maybe buy 20+ games all at once.

avatar
timppu: - People don't have enough free hard drive space to keep local copies of all their GOG games. I have divided my GOG game installers to two 5TB HDDs, so 10TB reserved for them for now. Let's see how long those are enough...
Obviously, but if you really care and are diligent, you will spend some of the money you spend on games on a backup hard drive, at least one. It's not that hard or expensive to stay on top of it all. If it is, then maybe you are spending too much on games.

avatar
timppu: - People still believe GOG will be around so they are not in a hurry to back up their games.
Honestly, I cannot see the difference between doing that and using Steam ... you remain reliant on an internet connection. Kind of defeats the purpose of using GOG to my mind.

avatar
timppu: - Some simply don't necessarily care enough, at least for now. Not sure if they'd start caring if GOG was closing down. I've seen some use the argument "If GOG ever closes down, I guess I download the GOG games I lost, and I still care for, from hazy pirate sites"... I guess there is some logic to that argument, but then I am unsure what is the benefit of buying from GOG in that case... but whatever, to each his own.
Well if they don't care, that is their choice. But if they later change their mind, well what can i say ....

avatar
timppu: When it comes to your limitations, forced rest periods etc., I just use common sense myself. I do not try to keep my local GOG library 100% up to date all the time, but I run gogrepoc (getting all the updates and new games that have appeared in between) like once every two or three months, and I avoid doing it on busy periods, like during big sales.
Alas, some cannot be relied on to use common sense. So if I provide them a means to abuse the system and impact myself and others, and even GOG, then I feel it my duty to limit that.

avatar
timppu: That is enough for me. If I want to install and play some new game that I haven't downloaded with gogrepo yet, I might download it separately with my browser.
Well each to their own, and I wasn't really referring to those who are mostly up-to-date, just those that suddenly find themselves with a huge number of games to download.

avatar
timppu: I've read some others having set up automatic systems where they get the updates and new games automatically e.g. every day, and frankly I feel that is exaggeration.
I am guilty myself of leaving updates until I feel ready to manually deal with them. Alas that means I often have to re-download a complete game in some cases, because patch continuity has been broken.

For me, there is more to life than keeping up with updates, and I spend enough of my time GOG focused as it is. It does however really piss me off that GOG don't allow you access to their archive, to get older patches especially.

My PC is always busy doing something, and one major reason I switched to gogcli.exe is that I can just get my games etc on demand, and not have my PC spending hours updating the manifest. I build the manifest on-the-fly, and then update a game entry at need. My list also indicates which games have been updated recently, as per when I last synced the Games list, which is every time I make a purchase ... immediately afterward. That is of course relying on GOG markers, and I also keep a full record, as GOG remove the markers in some scenarios.

Alas with GOG, it is an imperfect situation, and we need to make up for their shortcomings, as best we can.

Another way I do that last, is to keep a record of every file I download, in a separate database, so that links and MD5 detail is not lost with a manifest update. And because I keep my game library on external drives and not on my PC, it is also what gets checked when determining what I already have downloaded. That means files I already have, get stripped from the download list automatically.
Post edited February 21, 2022 by Timboli
avatar
Timboli:
Not everyone has the same workflow. I for example have gogrepo on a Synology NAS, automatically updating my library weekly and full once a month. The first time I downloaded my library it took 5+ days.
Just wanted to show how much the -skippatches feature could help me as someone with a 777 game big collection. I did a deep dive into my archive and found a number. Personally since I'm using GOGREPOC I don't need patches for my games and would rather skip grabbing them. There are a few hold outs that have not combined them into the full installer but I run this enough I'll eventually grab them so its not a concern.

So with a catalog of 777 games my Patch file size is exactly: 449GB which is pretty insane. Cybeprunk and Everspace are my biggest space hogs at the moment.

Here is to giving some incentive to add the ability to skip patch files, also cheers for keeping this going all these years Kalanyr you are amazing!

And the XML edits worked like a charm!
Post edited February 21, 2022 by Starkrun
avatar
blotunga: Not everyone has the same workflow. I for example have gogrepo on a Synology NAS, automatically updating my library weekly and full once a month. The first time I downloaded my library it took 5+ days.
True, and each of us that care, often have a different approach.

I used gogrepo.py initially myself, and it took something like 5 hours on this slow PC and connection, to get the full manifest, with the mandatory all at once method. My game library may well be double the size now ... certainly at least a third larger.

I prefer the build as you go method, that gogcli.exe provides.

Sounds like you have things setup nicely for yourself.

Often it is about conditions on the ground. Having a suitably large NAS for instance and leaving it on all the time I guess, and being happy to have all your games on it, in the default storage structure used by gogrepo. I prefer otherwise.

I have seen quite a few games that update a few times in a month, so those checking only once a month could well find that patch continuity has been broken.
avatar
Starkrun: Just wanted to show how much the -skippatches feature could help me as someone with a 777 game big collection.
I have a large collection as well. I use the -skipfiles option and a filter list.

I have a file which I named filter.txt. Which contains line break separated filters (for ease of maintenance) which use wild cards for file matching as such:

patch_*.*
*_?32bit?_*.*
*_32_*
*_osx.*
*_mac.*
*_flac.*
*_wav.*
*_AAC.*
*_wma.*
*.mp4
*_handbuch.*
*_manuel_*
*_manuale*
*_referenzkarte*
*_de.*
*_De.*
*_DE.*
*_fr.*
*_Fr.*
*_FR.*
*_ru.*
*_Ru.*
*_RU.*
*_it.*
*_It.*
*_IT.*
*_es.*
*_Es.*
*_ES.*

This is not my entire filter list but it exemplifies that you can filter out patches, 32bit binaries if you're only looking to grab 64bit versions... It will catch German handbuchs.. Spanish manuels as well as many other foreign language bonus materials...

At the beginning of the script I populate a string variable and sub in spaces for line breaks and inject it right after the - skipfiles option in my download statement:

filter1=`cat filter.txt | tr '\n\r' ' '`

python3 gogrepoc.py download -os windows -lang en -skipfiles $filter1

You can add filters for pretty much anything you run across that you don't want to waste disk space on.. For me.. I don't care about video bonus materials...or WAV / FLAC soundtracks.. to my ears.. mp3 is just fine.. Filenames in Linux are case sensitive but I am unsure if gogrepoc cares but I tripled up on the language abbreviations just in case...

Edit: I suppose you could simply use -skipfiles patch_*.*. I got too fancy I suppose...
Post edited February 21, 2022 by Phin77
avatar
Starkrun: Here is to giving some incentive to add the ability to skip patch files, also cheers for keeping this going all these years Kalanyr you are amazing!
The problem is that there apparently are some games where the latest version is in the patch, and the base installer is not the latest version. And IIRC also some game(s) where the "patch" was more like DLC, new content, IIRC.

So in some cases you'd still want to download the patches too. I guess I keep downloading "everything" now, and years from now if and when GOG is no more, or I've stopped visiting the site anymore, I'll weed out the unnecessary files myself at that point.

Heck, I might even repackage at least the biggest games at that point, to take out non-English language versions etc. Anything but actually installing and playing the games of course because where's the fun in that?
avatar
blotunga: Not everyone has the same workflow. I for example have gogrepo on a Synology NAS, automatically updating my library weekly and full once a month. The first time I downloaded my library it took 5+ days.
Isn't that.. way too frequent? O_o
I recall Kalanyr said to use gogrepo sparingly to not stress Gog's servers (expecially during sales).
I run it like 3 times a year..
avatar
timppu: The problem is that there apparently are some games where the latest version is in the patch, and the base installer is not the latest version.
I came to terms with not having the ABSOLUTE complete capture of all of my games at any given moment a while ago.

Just base installers and DLC (ones that are not labeled as patches anyway)..manuals.. Soundtracks... (no videos) and my collection takes nearly 3TB on my NAS. and let's face it.. I'll never hand pick patch installers to delete for 900+ titles..
avatar
timppu: The problem is that there apparently are some games where the latest version is in the patch, and the base installer is not the latest version.
avatar
Phin77: I came to terms with not having the ABSOLUTE complete capture of all of my games at any given moment a while ago.
It's not an issue of being complete "at any given moment". There are games where the patch has content not found in the main installer --- and this has been so for years now, so is extremely unlikely to ever change. For example, "The Witcher 3", where the main installer is version 1.31 (a) from February 2017, while the patch is version 1.32 from October 2018.
avatar
mrkgnao: It's not an issue of being complete "at any given moment". There are games where the patch has content not found in the main installer --- and this has been so for years now, so is extremely unlikely to ever change. For example, "The Witcher 3", where the main installer is version 1.31 (a) from February 2017, while the patch is version 1.32 from October 2018.
Wow, and I had plans to trim the patches from my games to save some space by looking for patterns in the url to identify patches (I noticed that unlike installer names, urls tend to follow a stricter convention).

I won't be doing that now. Thanks for that bit of info.

avatar
phaolo: Isn't that.. way too frequent? O_o
I recall Kalanyr said to use gogrepo sparingly to not stress Gog's servers (expecially during sales).
I run it like 3 times a year..
The thing is that if you wait until you got 200+ games to update, you will help saturate their CDN for several hours while you download everything.

Here's something that you can do as a compromise: Update often, but don't always re-generate your entire manifest (an operation that is more taxing on the gog servers given the volume of requests it entails). Most of the time, just pick what gog indicates has updated in your library and update this.

Once in a while, re-generate your entire manifest and see what changes gog did not report, but don't routinely do this.
Post edited February 21, 2022 by Magnitus
avatar
blotunga: Not everyone has the same workflow. I for example have gogrepo on a Synology NAS, automatically updating my library weekly and full once a month. The first time I downloaded my library it took 5+ days.
avatar
phaolo: Isn't that.. way too frequent? O_o
I recall Kalanyr said to use gogrepo sparingly to not stress Gog's servers (expecially during sales).
I run it like 3 times a year..
Update is not really the stressing operation; download is.

I do a regular update (i.e. flagged games) whenever I notice a GOG flag, which could easily be several times a day. I do a full update about once or twice a month.

I never do a full download (unless my HDD dies).
Post edited February 21, 2022 by mrkgnao
avatar
mrkgnao: Update is not really the stressing operation; download is.

I do a regular update (i.e. flagged games) whenever I notice a GOG flag, which could easily be several times a day. I do a full update about once or twice a month.

I never do a full download.
Its a different kind of stress. Downloading will stress the throughput of their cdn.

Games metadata requests will stress their regular servers and depending on how much they rely on caching, potentially their databases (or otherwise their cache layers... caching layers like redis are orders of magnitude more performant than a regular sql database, but they still have limits).

And the volume of requests needed to generate your entire manifest when you got thousands of games is significant.

I mean, you got the requests to get the summary (few, that would be about 20-30 requests for my collection, one per page), then you have at least one request per game (close to 2500 requests for my collection) and like at least 3 requests per game file for their download dance (that would be about 10000-30000 requests for my collection).

For my collection, that would be tens of thousands of requests. No question that GOG's api is not optimally designed at all for this (and that's on them), but the problem remains.
Post edited February 22, 2022 by Magnitus
avatar
mrkgnao: Update is not really the stressing operation; download is.

I do a regular update (i.e. flagged games) whenever I notice a GOG flag, which could easily be several times a day. I do a full update about once or twice a month.

I never do a full download.
avatar
Magnitus: Its a different kind of stress. Downloading will stress the throughput of their cdn.

Games metadata requests will stress their regular servers and depending on how much they rely on caching, potentially their databases (or otherwise their cache layers... caching layers like redis are orders of magnitude more performant than a regular sql database, but they still have limits).

And the volume of requests needed to generate your entire manifest when you got thousands of games is significant.

I mean, you got the requests to get the summary (few, that would be about 20-30 requests for my collection, one per page), then you have at least one request per game (close to 2500 requests for my collection) and like at least 3 requests per game file for their download dance (that would be about 10000-30000 requests for my collection).

For my collection, that would be tens of thousands of requests. No question that GOG's api is not optimally designed at all for this (and that's on them), but the problem remains.
Given that MaGog collected hundreds of pieces of information on every single one of the thousands of games in GOG's catalogue every six hours for more than six years with rarely a noticeable effect, I consider the stress created by a full update utterly negligible.
Post edited February 22, 2022 by mrkgnao