game-data-packager - build a package (.deb|.rpm|...) of game data
Many open-source games require game data which is licensed incompatibly with the
Debian Free Software Guidelines and other Linux distributions' licensing
guidelines, or cannot be legally redistributed at all.
is a tool designed to help you locally assemble
packages for Debian or other packaging systems, containing such game data from
CD-ROMs, the Internet or elsewhere.
- --package PACKAGE, -p
- For games that produce more than one package, only produce
the specified package. This option can be repeated. For example,
game-data-packager quake2 -i -pquake2-groundzero -pquake2-reckoning
would update the two Quake II expansions (Ground Zero and The Reckoning),
building new native-code game modules if necessary, without updating the
packages for the base game or the music.
- Produce packages for the given packaging system. All
packaging systems except for deb (which represents dpkg) are
considered experimental. The default is to try to auto-detect what is
appropriate for the system where game-data-packager is run.
- For packaging systems where different Linux distributions
need different content (currently this means rpm), produce packages
suitable for the selected distribution. The default is to try to
auto-detect what is appropriate for the system where
game-data-packager is run.
- Attempt to install the generated package using the
--install-method and the --gain-root-command.
- Install the generated package using the requested command.
Only methods that can install the selected --target-format are
- Use the requested command prefix to run commands as root
when needed. su uses the su -c syntax to run a one-line
shell command; the rest (including user-specified commands) are assumed to
work as an "adverb" command prefix, similar to sudo dpkg -i
... or pkexec rpm -U ....
- -d OUT-DIRECTORY | --destination
- Write the generated package to the specified directory,
instead of or in addition to installing it.
- Do not attempt to install the generated package. This
option must be used in conjunction with -d.
- Allow the creation of packages containing native executable
code that was not built from publically-available source code. By default,
such executables are not packaged to avoid creating a security risk. For
example, this allows the proprietary Linux binaries for Quake 4 and Unreal
to be packaged.
- Compress the generated package. This is the default if -i
is not used.
- Do not compress the generated package. This is the default
if -i is used (since it is not usually useful to compress the package if
it will just be installed and then discarded).
- Automatically downloading any missing files from the
Internet if possible.
- Do not download missing files from the Internet. If the
missing files are not very important (for example optional documentation),
game-data-packager will produce a package that lacks those files;
if the missing files are required, game-data-packager will not
produce a package at all.
- --save-downloads DIRECTORY
- If files are downloaded, save them to
- Be more verbose, and in particular show output from any
external tools that are invoked during operation.
- Do not show verbose output. This is the default.
- Show output that is interesting to
- The game being packaged. Running game-data-packager
without arguments will display a list of valid games.
Some games have additional options. Running game-data-packager
will display a list of valid options for that game.
Some non-game-specific modes can be selected by specifying a special keyword
instead of the name of a game.
] [ --new
will package all your Steam games at once.
Most games can only be downloaded with the Windows version of Steam, optionally
running through Wine, or by using the steamcmd
tool. This mode takes
the same options as game-data-packager
, and adds its own options:
- Only package new games
- Package all games available
will match all the GOG.com games you own against the games supported by this
Each games must then be packaged individually.
- LANGUAGE, LANG
- These environment variables are used when a game is
available in various languages to choose the correct version.
Those are normally set by your desktop environment.
game-data-packager will automatically locate applicable files in these
- and also the ~/.PlayOnLinux/wineprefix/Steam/drive_c/...
- where X:\ is any mounted vfat or NTFS partition
- game-data-packager configuration file
- provides location information for game registered in
- is used to detect user's SteamID, which is then used to
download a list of owned games
- holds a cached list of owned GOG.com games
⟨URL: https://wiki.debian.org/Games/GameDataPackager/ ⟩
Copyright © 2010-2013 Jonathan Dowland <email@example.com>
Thanks to Branden Robinson for his ‘Write the Fine Manual’
presentation, once found at
⟨URL: http://people.debian.org/~branden/talks/wtfm/ ⟩