Repository for the Ori DE Randomizer server.
This repository contains the UI and backend code for the Ori DE randomizer website. New players: check out the quickstart page. Help for the various seed generation settings can be found on by mousing over the relevant UI elements.
- Seed Generator - Generates randomizer.dat seeds
- Logic Helper - Simple interface to determine in-logic pickups based on current skills and resources. Manual
- Online Tracking Map - Web-based live tracker showing current available pickups on the world map by updating to this server
- Plandomizer Builder - Tool to allow players to design and share custom logic seeds
- Bingo - Provides multiplayer bingo tracking
We welcome your contributions! This server is a hybrid Flask and React app, and runs on Google App Engine.
Make sure you have Python 3.12. We recommend pyenv to manage your python installations.
Make sure you have Node 22 or higher.
You'll also need Java 8 or higher; we recommend Temurin 21.
Google cloud provides official install instructions here, but your package manager may have a pre-packaged version available via google-cloud-sdk
. Please note that the snap
install of the sdk is missing the App Engine extensions required for this use case.
Once installed, use the Google Cloud SDK CLI to install the Python App Engine and Cloud Datastore Emulator components.
gcloud components install app-engine-python cloud-datastore-emulator
If installed via apt
run
sudo apt-get update && sudo apt-get install google-cloud-cli-app-engine-python google-cloud-cli-datastore-emulator
Run the dev server with
./run_dev_server.sh
By default this uses port 8080
and binds to 127.0.0.1
; If you'd like to use a different port or bind you can set the APP_PORT
and APP_HOST
environment variables.
APP_PORT="5432" APP_HOST="0.0.0.0" ./run_dev_server.sh
GCLOUD_CLI_ROOT
: sets the path to the Gcloud CLICLOUDSDK_PYTHON
: Sets the path to the python executable to useNO_WATCH_REACT_APP
: Don't watch for changes in the React App after initial buildNO_BUILD_REACT_APP
: Don't build the React app; impliesNO_WATCH_REACT_APP
For additional help, you can contact me (Eiko) in the Ori Randomizer Discord.