table of contents
- bookworm 3.9-2
- bookworm-backports 3.15-1~bpo12+1
- testing 3.15-1+b2
- unstable 3.15-1+b2
LGOGDOWNLOADER(1) | User Commands | LGOGDOWNLOADER(1) |
NAME¶
LGOGDownloader - manual page for LGOGDownloader 3.15
SYNOPSIS¶
lgogdownloader [OPTION]...
DESCRIPTION¶
An open-source GOG.com downloader for Linux users which uses the same API as GOG Galaxy.
LGOGDownloader can download purchased games, query GOG.com to see if game files have changed, as well as downloading extras such as artwork and manuals. It is capable of downloading language-specific installers for games where they exist.
LGOGDownloader Options:
- -h [ --help ]
- Print help message
- --version
- Print version information
- --login
- Login
- --gui-login
- Login (force GUI login)
Implies --enable-login-gui - --browser-login
- Login (force browser login)
- --check-login-status
- Check login status
- --list [=arg(=games)]
- List games/tags
Games = g|games
Details = d|details
JSON = j|json
Tags = t|tags
Transformations = tr|transform|transformations
User data = ud|userdata - --download
- Download
- --repair
- Repair downloaded files Use --repair --download to redownload files when filesizes don't match (possibly different version). Redownload will rename the old file (appends .old to filename)
- --game arg
- Set regular expression filter for download/list/repair (Perl syntax)
- --create-xml [=arg(=automatic)]
- Create GOG XML for file
"automatic" to enable automatic XML creation - --notifications
- Check notifications
- --updated
- List/download only games with update flag set
- --new
- List/download only games with new flag set
- --clear-update-flags
- Clear update notification flags
- --check-orphans arg
- Check for orphaned files (files found on local filesystem that are not found on GOG servers). Sets regular expression filter (Perl syntax) for files to check. If no argument is given then the regex defaults to '.*\.(zip|exe|bin|dmg|old|deb|tar\.gz|pkg|sh|mp4)$'
- --delete-orphans
- Delete orphaned files during --check-orphans and --galaxy-install
- --status
- Show status of files
Output format:
statuscode gamename filename filesize filehashStatus codes:
OK - File is OK
ND - File is not downloaded
MD5 - MD5 mismatch, different version
FS - File size mismatch, incomplete download
-
See also --no-fast-status-check option
- --save-config
-
Create config file with current settings
- --reset-config
-
Reset config settings to default
- --report [=arg(=lgogdownloader-report.log)]
-
Save report of downloaded/repaired files to specified file
Default filename: lgogdownloader-report.log - --update-cache
-
Update game details cache
- --no-platform-detection
-
Don't try to detect supported platforms from game shelf.
Skips the initial fast platform detection and detects the supported platforms from game details which is slower but more accurate.
Useful in case platform identifier is missing for some games in the game shelf.
Using --platform with --list doesn't work with this option. - --download-file arg
-
Download files using fileid Format:
"gamename/fileid"
"gamename/dlc_gamename/fileid"
"gogdownloader://gamename/fileid"
"gogdownloader://gamename/dlc_name/fileid" Multiple files:
"gamename1/fileid1,gamename2/fileid2,gamename2/dlcname/fileid1" This option ignores all subdir options.
The files are downloaded to directory specified with --directory option. - -o [ --output-file ] arg
-
Set filename of file downloaded with --download-file.
- --wishlist
-
Show wishlist
- --cacert arg
-
Path to CA certificate bundle in PEM format
- --respect-umask
-
Do not adjust permissions of sensitive files
- --user-agent arg (=LGOGDownloader/3.15 (Linux x86_64))
-
Set user agent
- --wine-prefix arg (=.)
-
Set wineprefix directory
- --cloud-whitelist arg
-
Include this list of cloud saves, by default all cloud saves are included Example: --cloud-whitelist saves/AutoSave-0 saves/AutoSave-1/screenshot.png
- --cloud-blacklist arg
-
Exclude this list of cloud saves
Example: --cloud-blacklist saves/AutoSave-0 saves/AutoSave-1/screenshot.png - --cloud-force
-
Download or Upload cloud saves even if they're up-to-date
Delete remote cloud saves even if no saves are whitelisted - --enable-login-gui
-
Enable login GUI when encountering reCAPTCHA on login form
- --tag arg
-
Filter using tags. Separate with "," to use multiple values
- --blacklist arg (=$XDG_CONFIG_HOME/lgogdownloader/blacklist.txt)
-
Filepath to blacklist
- --ignorelist arg (=$XDG_CONFIG_HOME/lgogdownloader/ignorelist.txt)
-
Filepath to ignorelist
- --directory arg (=.)
-
Set download directory
- --limit-rate arg (=0)
-
Limit download rate to value in kB
0 = unlimited - --xml-directory arg
-
Set directory for GOG XML files
- --chunk-size arg (=10)
-
Chunk size (in MB) when creating XML
- --platform arg (=w+l)
-
Select which installers are downloaded
Windows = w|win|windows
Mac = m|mac|osx
Linux = l|lin|linux
All = all Set priority by separating values with ","
Combine values by separating with "+"
Example: Linux if available otherwise Windows and Mac: l,w+m - --language arg (=en)
-
Select which language installers are downloaded
See LANGUAGES section for available values
All languages = all Set priority by separating values with ","
Combine values by separating with "+"
Example: German if available otherwise English and French:
--language de,en+fr - --no-remote-xml
-
Don't use remote XML for repair
- --no-unicode
-
Don't use Unicode in the progress bar
- --no-color
-
Don't use coloring in the progress bar or status messages
- --no-duplicate-handling
-
Don't use duplicate handler for installers
Duplicate installers from different languages are handled separately - --no-subdirectories
-
Don't create subdirectories for extras, patches and language packs
- --curl-verbose
-
Set libcurl to verbose mode
- --insecure
-
Don't verify authenticity of SSL certificates
- --timeout arg (=10)
-
Set timeout for connection
Maximum time in seconds that connection phase is allowed to take - --retries arg (=3)
-
Set maximum number of retries on failed download
- --wait arg (=0)
-
Time to wait between requests (milliseconds)
- --subdir-installers arg
-
Set subdirectory for installers
Templates:
- %platform%
- %gamename%
- %gamename_firstletter%
- %dlcname%
- %gamename_transformed%
- %gamename_transformed_firstletter% - --subdir-extras arg (=extras)
-
Set subdirectory for extras
See --subdir-installers for template values - --subdir-patches arg (=patches)
-
Set subdirectory for patches
See --subdir-installers for template values - --subdir-language-packs arg (=languagepacks)
-
Set subdirectory for language packs
See --subdir-installers for template values - --subdir-dlc arg (=dlc/%dlcname%)
-
Set subdirectory for dlc
See --subdir-installers for template values - --subdir-game arg (=%gamename%)
-
Set subdirectory for game
See --subdir-installers for template values - --use-cache
-
Use game details cache
- --cache-valid arg (=2880)
-
Set how long cached game details are valid (in minutes)
Default: 2880 minutes (48 hours) - --save-serials
-
Save serial numbers when downloading
- --save-game-details-json
-
Save game details JSON data as-is to "game-details.json"
- --save-product-json
-
Save product info JSON data from the API as-is to "product.json"
- --save-logo
-
Save logo when downloading
- --save-icon
-
Save icon when downloading
- --ignore-dlc-count [=arg(=.*)]
-
Set regular expression filter for games to ignore DLC count information
Ignoring DLC count information helps in situations where the account page doesn't provide accurate information about DLCs - --include arg (=all)
-
Select what to download/list/repair
Base game installers = bi|basegame_installers
Base game extras = be|basegame_extras
Base game patches = bp|basegame_patches
Base game language packs = bl|basegame_languagepacks|basegame_langpacks
DLC installers = di|dlc_installers
DLC extras = de|dlc_extras
DLC patches = dp|dlc_patches
DLC language packs = dl|dlc_languagepacks|dlc_langpacks
DLCs = d|dlc|dlcs
Basegame = b|bg|basegame
All installers = i|installers
All extras = e|extras
All patches = p|patches
All language packs = l|languagepacks|langpacks
All = all
Separate with "," to use multiple values - --exclude arg
-
Select what not to download/list/repair
See --include for option values - --automatic-xml-creation
-
Automatically create XML data after download has completed
- --save-changelogs
-
Save changelogs when downloading
- --threads arg (=4)
-
Number of download threads
- --info-threads arg (=4)
-
Number of threads for getting product info
- --use-dlc-list
-
Use DLC list specified with --dlc-list
- --dlc-list arg (=https://raw.githubusercontent.com/Sude-/lgogdownloader-lists/master/game_has_dlc.txt)
-
Set URL for list of games that have DLC
- --progress-interval arg (=100)
-
Set interval for progress bar update (milliseconds)
Value must be between 1 and 10000 - --lowspeed-timeout arg (=30)
-
Set time in number seconds that the transfer speed should be below the rate
Set with --lowspeed-rate for it to considered too slow and aborted - --lowspeed-rate arg (=200)
-
Set average transfer speed in bytes per second that the transfer should be below during time specified with --lowspeed-timeout for it to be considered too slow and aborted
- --include-hidden-products
-
Include games that have been set hidden in account page
- --size-only
-
Don't check the hashes of the files whose size matches that on the server
- --verbosity arg (=0)
-
Set message verbosity level
-1 = Less verbose
0 = Default
1 = Verbose
2 = Debug - --check-free-space
-
Check for available free space before starting download
- --no-fast-status-check
-
Don't use fast status check.
Makes --status much slower but able to catch corrupted files by calculating local file hash for all files. - --trust-api-for-extras
-
Trust API responses for extras to be correct.
Experimental:¶
- --galaxy-install arg
- Install game using product id [product_id/build_index] or gamename regex
[gamename/build_id]
Build index is used to select a build and defaults to 0 if not specified.
Example: 12345/2 selects build 2 for product 12345 - --galaxy-show-builds arg
- Show game builds using product id [product_id/build_index] or gamename
regex [gamename/build_id]
Build index is used to select a build
Lists available builds if build index is not specified
Example: 12345/2 selects build 2 for product 12345 - --galaxy-download-cloud-saves arg
- Download cloud saves using product-id [product_id/build_index] or gamename
regex [gamename/build_id]
Build index is used to select a build and defaults to 0 if not specified.
Example: 12345/2 selects build 2 for product 12345 - --galaxy-upload-cloud-saves arg
- Upload cloud saves using product-id [product_id/build_index] or gamename
regex [gamename/build_id]
Build index is used to select a build and defaults to 0 if not specified.
Example: 12345/2 selects build 2 for product 12345 - --galaxy-show-cloud-saves arg
- Show game cloud-saves using product id [product_id/build_index] or
gamename regex [gamename/build_id]
Build index is used to select a build and defaults to 0 if not specified. Example: 12345/2 selects build 2 for product 12345 - --galaxy-show-local-cloud-saves arg
- Show local cloud-saves using product id [product_id/build_index] or
gamename regex [gamename/build_id]
Build index is used to select a build and defaults to 0 if not specified.
Example: 12345/2 selects build 2 for product 12345 - --galaxy-delete-cloud-saves arg
- Delete cloud-saves using product id [product_id/build_index] or gamename
regex [gamename/build_id]
Build index is used to select a build and defaults to 0 if not specified.
Example: 12345/2 selects build 2 for product 12345 - --galaxy-platform arg (=w)
- Select platform
Windows = w|win|windows
Mac = m|mac|osx
Linux = l|lin|linux
- --galaxy-language arg (=en)
- Select language
See LANGUAGES section for available values - --galaxy-arch arg (=x64)
- Select architecture
32-bit = 32|x86|32bit|32-bit
64-bit = 64|x64|64bit|64-bit - --galaxy-no-dependencies
- Don't download dependencies during --galaxy-install
- --subdir-galaxy-install arg (=%install_dir%)
- Set subdirectory for galaxy install
Templates:
- %install_dir% = Installation directory from Galaxy API response
- %gamename% = Game name
- %title% = Title of the game
- %product_id% = Product id of the game
- %install_dir_stripped% = %install_dir% with some characters stripped
- %title_stripped% = %title% with some characters stripped"stripped" means that every character that doesn't match the following list is removed:
> alphanumeric
> space
> - _ . ( ) [ ] { } - --galaxy-cdn-priority arg (=edgecast,akamai_edgecast_proxy,fastly)
- Set priority for used CDNs
Use --galaxy-list-cdns to list available CDNs
Set priority by separating values with "," - --galaxy-list-cdns arg
- List available CDNs for a game using product id [product_id/build_index]
or gamename regex [gamename/build_id]
Build index is used to select a build and defaults to 0 if not specified.
Example: 12345/2 selects build 2 for product 12345
LANGUAGES¶
Languages available to select with --language and
--galaxy-language options
English = en|eng|english|en[_-]US
German = de|deu|ger|german|de[_-]DE
French = fr|fra|fre|french|fr[_-]FR
Polish = pl|pol|polish|pl[_-]PL
Russian = ru|rus|russian|ru[_-]RU
Chinese = cn|zh|zho|chi|chinese|zh[_-](CN|Hans)
Czech = cz|cs|ces|cze|czech|cs[_-]CZ
Spanish = es|spa|spanish|es[_-]ES
Hungarian = hu|hun|hungarian|hu[_-]HU
Italian = it|ita|italian|it[_-]IT
Japanese = jp|ja|jpn|japanese|ja[_-]JP
Turkish = tr|tur|turkish|tr[_-]TR
Portuguese = pt|por|portuguese|pt[_-]PT
Korean = ko|kor|korean|ko[_-]KR
Dutch = nl|nld|dut|dutch|nl[_-]NL
Swedish = sv|swe|swedish|sv[_-]SE
Norwegian = no|nor|norwegian|nb[_-]no|nn[_-]NO
Danish = da|dan|danish|da[_-]DK
Finnish = fi|fin|finnish|fi[_-]FI
Brazilian Portuguese = br|pt_br|pt-br|ptbr|brazilian_portuguese
Slovak = sk|slk|slo|slovak|sk[_-]SK
Bulgarian = bl|bg|bul|bulgarian|bg[_-]BG
Ukrainian = uk|ukr|ukrainian|uk[_-]UA
Spanish (Latin American) = es_mx|es-mx|esmx|es-419|spanish_latin_american
Arabic = ar|ara|arabic|ar[_-][A-Z]{2}
Romanian = ro|ron|rum|romanian|ro[_-][RM]O
Hebrew = he|heb|hebrew|he[_-]IL
Thai = th|tha|thai|th[_-]TH
BLACKLIST¶
Allows user to specify individual files that should not be downloaded or mentioned as orphans.
Each line in the file specifies one blacklist expression, except
for empty lines and lines starting with #.
First few characters specify blacklist item type and flags. So far, only
regular expression (perl variant) are supported, so each line must start
with "Rp" characters. After a space comes the expression itself.
Expressions are matched against file path relative to what was specified as
--directory.
Example black list
# used to store manually downloaded mods/patches/maps/, don't mention it as
orphans
Rp ^[^/]*/manual/.*
# included with every *divinity game, once is enough
Rp beyond_divinity/extras/bd_ladymageknight.zip
Rp divinity_2_developers_cut/extras/divinity_2_ladymageknight.zip
# extra 6GB is A LOT of space if you don't actually plan to mod
your game
Rp the_witcher_2/extras/the_witcher_2_redkit.zip
Rp the_witcher_2/extras/extras_pack_3_hu_pl_ru_tr_zh_.zip
Rp the_witcher_2/extras/extras_pack_2_fr_it_jp_.zip
PRIORITIES¶
Separating values with "," when using language and platform switches enables a priority-based mode: only the first matching one will be downloaded.
For example, setting language to fr+en means both French and English will be downloaded (if available) for all games. Setting language to fr,en means that the French version (and only that one) will be downloaded if available, and if not, the English version will be downloaded.
You're allowed to "stack" codes in the priority string if needed. If you set language to es+fr,en it means it'll download both Spanish (es) and French (fr) versions if they are available, and the English (en) one only if none of French and Spanish are available.
AVAILABILITY¶
The latest version of this distribution is available from https://github.com/Sude-/lgogdownloader
FILES¶
- $XDG_CONFIG_HOME/lgogdownloader/
- Storage for configuration files and cookies
If $XDG_CONFIG_HOME is not set, it will use $HOME/.config/lgogdownloader/. - $XDG_CACHE_HOME/lgogdownloader/xml/
- Storage for XML files
If $XDG_CACHE_HOME is not set, it will use $HOME/.cache/lgogdownloader/xml/. - $XDG_CONFIG_HOME/lgogdownloader/blacklist.txt
- Allows user to specify individual files that should not be downloaded.
It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader. - $XDG_CONFIG_HOME/lgogdownloader/ignorelist.txt
- Allows user to specify individual files that should not be mentioned as
orphans. The file has the same format and interpretation as a blacklist.
It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader. - $XDG_CONFIG_HOME/lgogdownloader/game_has_dlc.txt
- Allows user to specify which games have dlc and should have their DLC
count information ignored. The file has the same format and interpretation
as a blacklist.
It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader.
If the file exists lgogdownloader uses it instead of list specified with --dlc-list option - $XDG_CONFIG_HOME/lgogdownloader/gamespecific/gamename.conf
- JSON formatted file. Sets game specific settings for gamename.
Allowed settings are language, platform, include, ignore-dlc-count, subdirectories, directory, subdir-game, subdir-installers, subdir-extras, subdir-patches, subdir-language-packs and subdir-dlc.
Must be in the following format:
{
"language" : <string>,
"platform" : <string>,
"include" : <string>,
"ignore-dlc-count" : <bool>,
"subdirectories" : <bool>,
"directory" : <string>,
"subdir-game" : <string>,
"subdir-installers" : <string>,
"subdir-extras" : <string>,
"subdir-patches" : <string>,
"subdir-language-packs" : <string>,
"subdir-dlc" : <string>
} - $XDG_CONFIG_HOME/lgogdownloader/transformations.json
- JSON formatted file. Used to transform gamenames.
Must be in the following format:
{
<string> :
{
"regex" : <string>,
"replacement" : <string>,
"exceptions" : [
<string>,
<string>,
],
},
<string> :
{
"regex" : <string>,
"replacement" : <string>,
},
}
Member names are used to match the gamename (regex). Member names must be unique.
For example if the file contains 2 rules with "^x" then only the last one is applied. However if user really wants multiple different rules for everything starting with "x" then adding wild wildcard matches makes them unique ("^x", "^x.*", "^x.*.*")
If it matches then regex is used for the actual replacement using the value in replacement.
"exceptions" is an optional array of gamenames excluded from the rule. These are matched exactly, no regex.
Example:
match all games beginning with "b" and if they end with "_the" then remove "_the" at the end and prefix it with "the_" with exception of "blackwell_epiphany_the"
{
"^b" :
{
"regex" : "(.*)_the$",
"replacement" : "the_\\1",
"exceptions" : [
"blackwell_epiphany_the",
],
},
}
2024-08-23 | LGOGDownloader 3.15 |