niemasd / GameID

Identify a game using GameDB
http://niema.net/GameID/
GNU General Public License v3.0
11 stars 1 forks source link

GameID

Identify a game using GameDB. Supported consoles:

Usage

For manually checking individual games, we recommend using the GameID web app. For bulk/programmatic lookups, we recommend using the command line Python script, GameID.py:

usage: GameID.py [-h] -i INPUT -c CONSOLE [-d DATABASE] [-o OUTPUT] [--delimiter DELIMITER] [--prefer_gamedb]

options:
  -h, --help                         show this help message and exit
  -i INPUT, --input INPUT            Input Game File (default: None)
  -c CONSOLE, --console CONSOLE      Console (options: GC, N64, PS2, PSX) (default: None)
  -d DATABASE, --database DATABASE   GameID Database (db.pkl.gz) (default: None)
  -o OUTPUT, --output OUTPUT         Output File (default: stdout)
  --delimiter DELIMITER              Delimiter (default: '\t')
  --prefer_gamedb                    Prefer Metadata in GameDB (rather than metadata loaded from game) (default: False)

If the database (db.pkl.gz) is not provided via -d, it will be downloaded from this repo. This is very slow, so we strongly recommend providing it if you are running GameID in bulk (or if your environment does not have internet connection).

This tool is being actively developed, and updates will be pushed somewhat frequently. As such, be sure to periodically git pull an up-to-date version of this repository to ensure you have access to all of the latest features and optimizations.

Example: Identify a Game

./GameID.py -d db.pkl.gz -c <CONSOLE> -i <GAME_FILE>

Example: Identify All PSX Games in Directory (recursive)

find psx_games/ -type f -iname "*.cue" -o -iname "*.iso" | parallel --jobs 8 ./GameID.py -d db.pkl.gz -c PSX -i "{}" ">" "{}.meta.txt"

Build Database

rm -f db.pkl.gz && ./scripts/build_db.py db.pkl.gz

Acknowledgements