lgogdownloader/man/lgogdownloader.supplemental.groff
Sude ed1a61e2b3 Improve include/exclude options
DLC files can now be included/excluded separately
Bumped game details cache version number

Game specific config file changes:
- "dlc" option is deprecated and will be ignored
- "include" option is added
2023-05-17 18:03:31 +03:00

169 lines
5.8 KiB
Plaintext

[synopsis]
.B lgogdownloader
[\fIOPTION\fP]...
[description]
An open-source GOG.com downloader for Linux users which uses the same API as GOG Galaxy.
.PP
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.
/--update-check/
.nf
/--no-installers/
.fi
/Status codes:/
.nf
[blacklist]
.fi
Allows user to specify individual files that should not be downloaded or mentioned as orphans.
.sp 1
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 \fI--directory\fP.
\fIExample black list\fP
.br
# used to store manually downloaded mods/patches/maps/, don't mention it as orphans
.br
Rp ^[^/]*/manual/.*
.br
# included with every *divinity game, once is enough
.br
Rp beyond_divinity/extras/bd_ladymageknight\.zip
.br
Rp divinity_2_developers_cut/extras/divinity_2_ladymageknight\.zip
.sp
# extra 6GB is A LOT of space if you don't actually plan to mod your game
.br
Rp the_witcher_2/extras/the_witcher_2_redkit\.zip
.br
Rp the_witcher_2/extras/extras_pack_3_hu_pl_ru_tr_zh_\.zip
.br
Rp the_witcher_2/extras/extras_pack_2_fr_it_jp_\.zip
[files]
.fi
.TP
\fI$XDG_CONFIG_HOME/lgogdownloader/\fP
Storage for configuration files and cookies
.br
If \fB$XDG_CONFIG_HOME\fP is not set, it will use \fI$HOME/.config/lgogdownloader/\fP.
.TP
\fI$XDG_CACHE_HOME/lgogdownloader/xml/\fP
Storage for XML files
.br
If \fB$XDG_CACHE_HOME\fP is not set, it will use \fI$HOME/.cache/lgogdownloader/xml/\fP.
.TP
\fI$XDG_CONFIG_HOME/lgogdownloader/blacklist.txt\fP
Allows user to specify individual files that should not be downloaded.
.br
It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader.
.TP
\fI$XDG_CONFIG_HOME/lgogdownloader/ignorelist.txt\fP
Allows user to specify individual files that should not be mentioned
as orphans. The file has the same format and interpretation as a
blacklist.
.br
It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader.
.TP
\fI$XDG_CONFIG_HOME/lgogdownloader/game_has_dlc.txt\fP
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.
.br
It doesn't have to exist, but if it does exist, it must be readable to lgogdownloader.
.br
If the file exists lgogdownloader uses it instead of list specified with
\fB--dlc-list\fP option
.TP
\fI$XDG_CONFIG_HOME/lgogdownloader/gamespecific/gamename.conf\fP
JSON formatted file. Sets game specific settings for \fBgamename\fP.
.br
Allowed settings are \fBlanguage\fP, \fBplatform\fP, \fBinclude\fP, \fBignore-dlc-count\fP, \fBsubdirectories\fP, \fBdirectory\fP, \fBsubdir-game\fP, \fBsubdir-installers\fP, \fBsubdir-extras\fP, \fBsubdir-patches\fP, \fBsubdir-language-packs\fP and \fBsubdir-dlc\fP.
.br
Must be in the following format:
.br
{
"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>
.br
}
.TP
\fI$XDG_CONFIG_HOME/lgogdownloader/transformations.json\fP
JSON formatted file. Used to transform gamenames.
.br
Must be in the following format:
.br
{
<string> :
{
"regex" : <string>,
"replacement" : <string>,
"exceptions" : [
<string>,
<string>,
],
},
<string> :
{
"regex" : <string>,
"replacement" : <string>,
},
.br
}
.br
Member names are used to match the gamename (regex).
Member names must be unique.
.br
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.*.*")
.br
If it matches then \fBregex\fP is used for the actual replacement using the value in \fBreplacement\fP.
.br
"\fBexceptions\fP" is an optional array of gamenames excluded from the rule. These are matched exactly, no regex.
.br
\fBExample:\fP
.br
match all games beginning with "\fBb\fP" and if they end with "\fB_the\fP" then remove "\fB_the\fP" at the end and prefix it with "\fBthe_\fP" with exception of "\fBblackwell_epiphany_the\fP"
.br
{
"^b" :
{
"regex" : "(.*)_the$",
"replacement" : "the_\\\\1",
"exceptions" : [
"blackwell_epiphany_the",
],
},
.br
}
[priorities]
Separating values with "," when using \fBlanguage\fP and \fBplatform\fP switches enables a priority-based mode: only the first matching one will be downloaded.
.PP
For example, setting \fBlanguage\fP to \fBfr+en\fP means both French and English will be downloaded (if available) for all games. Setting \fBlanguage\fP to \fBfr,en\fP means that the French version (and only that one) will be downloaded if available, and if not, the English version will be downloaded.
.PP
You're allowed to "stack" codes in the priority string if needed. If you set \fBlanguage\fP to \fBes+fr,en\fP 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 \fIhttps://github.com/Sude-/lgogdownloader\fP