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
DoctorDevice: would it be possible for the script to flag previous versions of a download and old patches for removal during a "clean" cycle? I have a number of games with multiple installers backed up, or the most recent installer with old patch installers as well.
The script already does this in so far as it can be done reliably (it syncs to the files that GOG currently has available), it's possible to introduce heuristics to guess at more minimal practical setups, but as always with heuristics that runs the risks of false negatives (ie not having a patch you usually need).

I probably do need to bite the bullet and look into that though, considering there's also some very large games that have both x64 and x32 versions, and I don't think anyone at all actually wants both (and almost no one wants the 32 bit versions)
avatar
Tarhiel: Does anybody have the same problem as I do?

I owned Saints Row IV: Game of the Century Edition for some time now, which recently became Saints Row IV: Re-elected.
But for some reason, Gogrepoc dos not reflect that change and game in my manifest still goes under moniker "saints_row_iv_game_of_the_century_edition" instead of "saints_row_iv_reelected".

Is there any way to force the manifest to update that given game correctly?
avatar
Kalanyr: You can either do a scan by ID (use the -ids parameter) using the numeric identifier (which you can get from the info.txt) which should update the long/short name, or a scan by ID using the folder name for the game , if there's no match on your GOG side shelf it will mark the entry as deprecated and remove it, which will then orphan the entire contents on the next run and you can then use -ids saints_row_iv_reelected to get the entry for the new version.

I think I may own that game so I'll do some testing in a moment.

ETA -
Hmmm, actually Saints Row IV doesn't appear visible to me, probably because I'm Australian and IIIRC the Australian version needed edits to get a non-RC rating here, so I can't look into this.
Thank you, that did the trick, I will try now update the whole manifest, maybe it will catch the Re-elected edition now.
PSA: for updates and game snot showing, close and exit Galaxy and then navigate to this webpage: https://www.gog.com/user/refresh to resync your account and all games in it. Once done load galaxy or run gogrepoc to get the properly synced game list.

This has fixed multiple issues with game names not changing right or games not showing on manifest generation (and galaxy) checks/scans.
Post edited December 15, 2022 by Starkrun
Bug Report

With the Witcher3 Update i thought it would be a good idea to give my dusted offline-lib a update.
(I can see and download the filed from the website)

The old gogrepo was already no longer working a year ago, so i took the new gogrepoc.

Login went OK.

Update found only 29 new/updated - i would have bet there must be 100.

Download finished after 129GB / 6hours - but Witcher3 was not touched ...

Update again - nothing new in my 357 games lib.

#thinking, maybe something with the manifest from the old gogrepo#

Deleted the manifest, Update found 357 games in/after 28minutes.

Download - nothing to download.

#dafuq

Lets try the new 'clean' command, the HDD is near full with lots of old installers.

Clean finished in under a minute.

All old and new and only installers are gone, only 'goodies' and '!info.txt' files are left.

#WTF

80% of my lib is gone, all 'games' are gone ... and still no Witcher3 update :(

And at this point i'm too afraid to run download again - 1,5TB will take weeks, if it really re-downloads the installers.

Is the script really so broken? Or did i do something wrong?
avatar
Expert173: Lets try the new 'clean' command, the HDD is near full with lots of old installers.

Clean finished in under a minute.

All old and new and only installers are gone, only 'goodies' and '!info.txt' files are left.

#WTF

80% of my lib is gone, all 'games' are gone ... and still no Witcher3 update :(

And at this point i'm too afraid to run download again - 1,5TB will take weeks, if it really re-downloads the installers.

Is the script really so broken? Or did i do something wrong?
Clean just moved your old games to the Orphaned dir.
Btw I suggest to always try the parameter -dryrun first
Post edited December 16, 2022 by phaolo
avatar
Expert173: Bug Report

With the Witcher3 Update i thought it would be a good idea to give my dusted offline-lib a update.
(I can see and download the filed from the website)

The old gogrepo was already no longer working a year ago, so i took the new gogrepoc.

Login went OK.

Update found only 29 new/updated - i would have bet there must be 100.

Download finished after 129GB / 6hours - but Witcher3 was not touched ...

Update again - nothing new in my 357 games lib.

#thinking, maybe something with the manifest from the old gogrepo#

Deleted the manifest, Update found 357 games in/after 28minutes.

Download - nothing to download.

#dafuq

Lets try the new 'clean' command, the HDD is near full with lots of old installers.

Clean finished in under a minute.

All old and new and only installers are gone, only 'goodies' and '!info.txt' files are left.

#WTF

80% of my lib is gone, all 'games' are gone ... and still no Witcher3 update :(

And at this point i'm too afraid to run download again - 1,5TB will take weeks, if it really re-downloads the installers.

Is the script really so broken? Or did i do something wrong?
gogrepoc auto-detects your language and OS (for updates it derives it from your computers locale settings, for downloads it goes with whatevers in the manifest) this seems like a mismatch.

First copy back the Orphaned folders then run the following:

gogrepoc.py update -os $OS1 .... -lang $LANG1.... -full -skiphidden
gogrepoc.py clean "$TARGET_DIR"
gogrepoc.py download "$TARGET_DIR" -skipgalaxy -os $OS1 -lang $LANG1 ...
gogrepoc.py verify "$TARGET_DIR" -clean

where replace the $ variables with your setttings os can be mac / linux / windows and lang is generally 2 letter codes eg en for English and the TARGET_DIR is a path to your download directory, and ... means you can have more than 1 language / os if you want , you can just delete the ... part if you only want one.
Post edited December 16, 2022 by Kalanyr
Update:

I have never used the -os and -lang params with the old gogrepo.
Added them to my .bat files.

Re-United the orphanes with the remains.

Deleted the manifest (again).

gogrepoc.py update -os windows -lang de en jp -full

I got a few:
09:03:41 | request failed: HTTPSConnectionPool(host='gog-cdn-lumen.secure2.footprint.net', port=443): Read timed out. (3 retries left) -- will retry in 5s...
with wait times of around 70-90s between trys.

And a (lower)few:
09:17:07 | request failed: 404 Client Error: Not Found for url: https://gog-cdn-lumen.secure2.footprint.net/token=###/patch_hard_west_2_1.0.0.0.4022_%2857638%29_to_1.0.0.0.4028_%2857755%29.exe. will not retry.
###=lots of chars removed by me.

But shockingly both Witcher3 (Normal+GOTY) are trowing a mix of this 2 errors :(

The new clean only wiped old installers of 23 games (151GB) this time - looks good.

Will be back again after i have made the new download run - no time atm for that.
avatar
Expert173: Update:

I have never used the -os and -lang params with the old gogrepo.
Added them to my .bat files.

Re-United the orphanes with the remains.

Deleted the manifest (again).

gogrepoc.py update -os windows -lang de en jp -full

I got a few:
09:03:41 | request failed: HTTPSConnectionPool(host='gog-cdn-lumen.secure2.footprint.net', port=443): Read timed out. (3 retries left) -- will retry in 5s...
with wait times of around 70-90s between trys.

And a (lower)few:
09:17:07 | request failed: 404 Client Error: Not Found for url: https://gog-cdn-lumen.secure2.footprint.net/token=###/patch_hard_west_2_1.0.0.0.4022_%2857638%29_to_1.0.0.0.4028_%2857755%29.exe. will not retry.
###=lots of chars removed by me.

But shockingly both Witcher3 (Normal+GOTY) are trowing a mix of this 2 errors :(

The new clean only wiped old installers of 23 games (151GB) this time - looks good.

Will be back again after i have made the new download run - no time atm for that.
The old one defaulted to English and Windows if nothing was specified IIRC
avatar
Expert173: 80% of my lib is gone, all 'games' are gone ... and still no Witcher3 update :(
It seems the sale is breaking there update function and its a crap shoot if they games are flagged as updated or not. As an example I got the new quake and Saints row IV renamed and cleaned/updated but not Witcher 3

I was able to force the Witcher 3 change and update the manifest by doing this command with the below results:

PS I:\GoG> python gogrepoc.py update -ids the_witcher_3_wild_hunt_game_of_the_year_edition_game
22:39:43 | loading local manifest...
22:39:45 | loading token...
22:39:45 | loading local resume manifest...
22:39:45 | fetching game product data (page 1)...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22:39:50 | scanning found "the_witcher_3_wild_hunt_game_of_the_year_edition_game" in product data!
22:39:50 | saving resume manifest...
22:39:50 | saved resume manifest
22:39:50 | (1 / 1) fetching game details for the_witcher_3_wild_hunt_game_of_the_year_edition_game...
22:40:29 | -> long title has change "The Witcher 3: Wild Hunt - Game of the Year Edition" -> "The Witcher 3: Wild Hunt - Complete Edition"
22:40:29 | -> changelog was updated
22:40:29 | saving manifest...
22:40:31 | saved manifest
22:40:31 | saving resume manifest...
22:40:31 | saved resume manifest
22:40:31 | --
22:40:31 | total time: 0:00:47.125343
22:40:31 | exiting...
Post edited December 17, 2022 by Starkrun
Update 2:
Made the download run - 350GB, including Witcher3 :)

So far it seems to work, aka, was only me using wrong/no parameters.

Thanks for the help :)

#Edit#
Since the HDD is full now (my lib too big):
Is there a (easy) way to split it all - update, download, clean, verify?
So like everything from 'a'-'m' to HDD1 and 'n'-'z' to HDD2?
Post edited December 19, 2022 by Expert173
avatar
Expert173: #Edit#
Since the HDD is full now (my lib too big):
Is there a (easy) way to split it all - update, download, clean, verify?
So like everything from 'a'-'m' to HDD1 and 'n'-'z' to HDD2?
Don't forget there are also games which start with a number, not only alphabets. Maybe there should be an option like "#" which means anything that doesn't start with an alphabet.

I've been requesting a similar feature in the past, but I am unsure how exactly it should be implemented. For instance, one might run out of space also on two separate HDDs, so should there be an option to divide the collection to even more paths? After all, I've already hit the space limitation twice, first having to divide my GOG installers to two separate 2TB drives, then they became too small so I replaced them with two 5TB HDDs but now even them started to become too crowded, etc. (so now I bought one 18TB USB HDD).

You can manually divide it though, ie. run update to your full manifest file, then divide it to two separate manifest files in notepad or whatever, and run gogrepoc twice, with each partial manifest file to different paths. Just be careful about the formatting, you need to add additional ['s and ]'s at the end or start of each partial manifest file, and also figure out the correct line where to split the manifest file (ie. where exactly is the line where the information for the previous game ends, and the information for another game starts).

EDIT: And naturally you have to manually move those installers which will be in the second partial manifest file, to the other hard drive, before you do anything else. Otherwise there will be lots of orphaned files etc...

It is a bit of a hassle because if you want to keep the verification information for the future, you need to combine those two partial files to one full which you then "update" again and divide again for the download/clean/verify etc.

I didn't combine them, I just ran update again and the divided the new main manifest file to two separate ones, and ran clean + verify again.

I am not doing that anymore as I just bought a 18 TB external USB hard drive for my GOG installers, and some other stuff. That should be sufficient for the rest of... 2023?
Post edited December 19, 2022 by timppu
If you want to split, you can do that with a batch file or with a shell script, change the target directory according to the first letter in the games id or whatever you like.
avatar
neumi5694: If you want to split, you can do that with a batch file or with a shell script, change the target directory according to the first letter in the games id or whatever you like.
You can setup batch scripts for any of the valid download fitlers pretty easily, eg I split my collection up into Extras and then Games sorted by Linux / Windows /Mac , seems like you'd be better off splitting by Language as a first step , and maybe splitting between Extras / Games. I don't remember how name based filtering works but I suspect it's not ideal for this usecase IIRC it's done per file rather than per game.
avatar
Kalanyr: You can setup batch scripts for any of the valid download fitlers pretty easily, eg I split my collection up into Extras and then Games sorted by Linux / Windows /Mac , seems like you'd be better off splitting by Language as a first step , and maybe splitting between Extras / Games. I don't remember how name based filtering works but I suspect it's not ideal for this usecase IIRC it's done per file rather than per game.
I don't think it's worth the effort to include splitting in the repo script. Too many people have too many different ideas. We already have 2 on the table (Extras/Games and different target by game id)
Pretty much all of them can be realized using existing mechanisms like bash.
avatar
neumi5694: If you want to split, you can do that with a batch file or with a shell script, change the target directory according to the first letter in the games id or whatever you like.
Do you mean the batch file or a shell script would repeatedly run the "gogrepoc download" command, one by one for each game-id, and then change the download path accordingly?

There certainly can be several ways to achieve that. When I needed to split the installer collection to two different hard drives, after "gogrepoc update" I used a bash script to split the existing manifest file to two separate manifest files (I was using the "csplit"-tool in Linux; not sure if there is a similar tool for Windows) and then ran two separate instances of "gogrepoc download/clean/verify" with the partial manifest files, to two different paths. Oh and you have to add those missing [ and ] to the partial manifest files too...

https://man7.org/linux/man-pages/man1/csplit.1.html

Or alternatively just split the manifest file manually in your favorite text editor (notepad, vi, nano...).
Post edited December 22, 2022 by timppu