/murmelbahn

A small website to display information about Gravitrax courses and to see which courses you can build

Primary LanguageRustApache License 2.0Apache-2.0

Murmelbahn

NOTE: This app is in no way affiliated with Ravensburger, it is not an official app. Please do not contact Ravensburger if you have issues. Open an issue or discussion in this repository instead.

This app can be used to download Gravitrax courses and see information about them, if you know the codes used in the app. It is a web application, currently deployed at: https://murmelbahn.fly.dev

Some URLs that are supported:

Course format

I used the ImHex editor to reverse engineer the data format. I did include the schema so you can look at files yourself if you like. It can be found in the file imhex-schema.txt in this repository. Ravensburger changed the file format multiple times. This app can only process the latest three formats (anything after 2020, the introduction of "Pro"). Earlier versions could - in theory - be supported but I didn't find many tracks with those formats out there with the exception of courses between 2019 and 2020, I might add support for this later.

Building & Running

Environment Variables:

DATABASE_URL=postgres://<user>:<password>:15432/murmelbahn;RUST_LOG=murmelbahn_web=debug,murmelbahn_lib=debug,warn;SETS_DIRECTORY=data/sets
flyctl proxy 15432:5433 -a murmelbahn-db -s
npm run build
cargo run --package murmelbahn-web --bin murmelbahn-web

Deploy: flyctl deploy

Acknowledgements

  • Thank you very much Chris Fuchser for all your help in understanding Gravitrax and testing this program
  • WerWolv for the fantastic ImHex editor. That was a fun week to play around with!