This project aims to match the content of DAT's like those provided by TOSEC and No-Intro to metadata provided by various vendors (IGDB only at present), to simplify identifying ROMs and other images when adding to ROM managers such as Hasheous's sister project Gaseous (https://github.com/gaseous-project/gaseous-server)
Hasheous is hosted at https://hasheous.org/
- Supports TOSEC, MAME, MESS, Redump, and No-Intro
- Matches to the following metadata sources:
- IGDB
- VIMMS Lair Manual Project (provides scans of game manuals)
- Proxies the following metadata sources:
- IGDB
- Provides an API for developers to submit fixes to data matching
- Is completely free to use
Join our Discord server: https://discord.gg/Nhu7wpT3k4
- MariaDB 11.1.2 or greater
- This is the database version Hasheous has been tested and developed against. Your mileage may vary with earlier versions.
- Internet Game Database API Key. See: https://api-docs.igdb.com/#account-creation
The following projects are used by Hasheous
- https://dotnet.microsoft.com/en-us/apps/aspnet
- https://github.com/JamesNK/Newtonsoft.Json
- https://www.nuget.org/packages/MySql.Data/8.0.32.1
- https://github.com/kamranayub/igdb-dotnet
When Hasheous-Server is started for the first time, it creates a configuration file at ~/.hasheous-server/config.json if it doesn't exist. Some values can be filled in using environment variables (such as in the case of using docker).
Attribute | Environment Variable |
---|---|
HostName | dbhost |
UserName | dbuser |
Password | dbpass |
Attribute | Environment Variable |
---|---|
ClientId | igdbclientid |
Secret. | igdbclientsecret |
{
"DatabaseConfiguration": {
"HostName": "localhost",
"UserName": "hasheous",
"Password": "hasheous",
"DatabaseName": "hasheous",
"Port": 3306
},
"IGDBConfiguration": {
"ClientId": "<clientid>",
"Secret": "<secret>"
},
"LoggingConfiguration": {
"DebugLogging": false,
"LogRetention": 7
}
}
Dockerfile and docker-compose-build.yml files have been provided to make deployment of the server as easy as possible.
- Clone the repo with
git clone https://github.com/gaseous-project/hasheous.git
- Change into the hasheous directory
- Open the docker-compose--build.yml file and edit the igdbclientid and igdbclientsecret to the values retrieved from your IGDB account
- Run the command
docker-compose --file docker-compose-build.yml up -d
- Connect to the host on port 7157
Currently supported DAT's:
- TOSEC: https://www.tosecdev.org/downloads/category/56-2023-01-23
- MAME Arcade and MAME Mess: https://www.progettosnaps.net/dats/MAME
- Redump: http://redump.org
- No-Intro: https://no-intro.org
If there are other DAT's you'd like to see support for, please raise an issue with a link to the DAT's.
- Download the DAT files from the source website. For example; from https://www.tosecdev.org/downloads/category/56-2023-01-23
- Extract the archive
- Copy the DAT files to
~/.hasheous-server/Data/Signatures/TOSEC/
- Download the DAT files from the source website. For example; from https://www.progettosnaps.net/dats/MAME
- Extract the archive
- Copy the file name
MAME 0.257 (arcade).dat
files to~/.hasheous-server/Data/Signatures/MAME Arcade/
- Download the DAT files from the source website. For example; from https://www.progettosnaps.net/dats/MAME
- Extract the archive
- Copy the file name
MAME 0.257 (mess).dat
files to~/.hasheous-server/Data/Signatures/MAME MESS/
- Download the DAT files from the source website. For example; from http://redump.org/downloads/
- Copy the DAT files to
~/.hasheous-server/Data/Signatures/Redump/
- Download the DAT files from the source website. For example; from https://datomatic.no-intro.org/index.php?page=download&op=daily&s=64
- Set
Type
toStandard DAT
and click Request - Extract the archive and copy the
*.dat
files from the./No-Intro
directory to~/.hasheous-server/Data/Signatures/NoIntro/DAT
- Download the DB files from the source website.
- Set
Type
toDB
and click Request - Extract the archive and copy the
*.xml
files from the./No-Intro
directory to~/.hasheous-server/Data/Signatures/NoIntro/DB