Skip to content

A blazingly fast microservice for matching ROM file hashes and caching game metadata. Originally designed for RetroRealm.

License

Notifications You must be signed in to change notification settings

RetroRealm/playmatch

Repository files navigation

Playmatch logo

Identify and Match your ROMs at blazingly fast speed

Playmatch is an open-source service to match, identify and verify your ROMs while also providing & caching metadata for them.

The public API is available at playmatch.retrorealm.dev

Features

Supported

  • Supports No-Intro, Redump (Public and Private) and certain Community Dat files
  • Automatically daily downloads and updates dat files
  • Hash dat files to skip daily import if nothing changed
  • Support for IGDB as metadata provider

Planned

  • Support for more dat files sources (TOSEC, MAME, GoodTools, etc)
  • Support for more metadata providers (MobyGames, ScreenScraper, SteamGridDB, Launchbox, etc)
  • Add all IGDB endpoints to proxy
  • Support bios and other non-game files, which you can also hash and verify this way

Getting Started

Prerequisites

  1. Rust 1.88+ from here
  2. PostgreSQL 13+ from here

Development

  1. Clone the repository
  2. Rename .env.example to .env and fill in the required environment variables
  3. Run cargo run --package playmatch --bin playmatch to start the server

Deployment

Docker images are available Here

Built With

  • Rust - The programming language used
  • tokio - The async runtime used
  • reqwest - HTTP client
  • serde - Serialization/Deserialization
  • actix-web - The web framework used
  • SeaORM - The Database ORM used

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • hasheous - Another Project for the same goal

About

A blazingly fast microservice for matching ROM file hashes and caching game metadata. Originally designed for RetroRealm.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages