Skip to content
Switch branches/tags
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is an asset reference browser for the game of Riven. The purpose of this application is to easily browse the images and movies from the outstanding game of Riven.

Note: This repository does not, and never will, contain actual Riven assets. To run this browser one must first buy the DVD or CD, and extract the game assets.


Web app prerequisites

For hosting the reference browser, you will need both Python 2 and Python 3 dependencies. This is because the program to make the database ( is written in Python3, but the web application is written in Python2.

# python 2 dependencies:
pip install flask
pip install flask-sqlalchemy
pip install flask-login
pip install flask-wtf

# python 3 dependencies:
pip3 install Pillow
pip3 install graphviz

Database prerequisites

For creating the database:

  1. Install sqlite3.
  2. Install ffmpeg.
  3. Install ImageMagick.
  4. Install graphviz.

Creating the database.

  1. Put the extracted game data in the browser/protected/DVD folder.
  2. Run make. If you don't have make installed then ./ or python3

This takes a while (> 10 minutes on most systems), mostly because the movie transcoding process is CPU intensive. When finished the database ("riven.sqlite") will exist as well as many new images in the protected folder. To delete these newly created images just:

make cleanall

Running the Web Application.

Step 1: App configuration

The reference browser first reads it's configuration data from This configuration is then overridden by instance/ Since instance/ is not under version control, it should be the one that you update.

The following keys must be specified:

  1. SQLALCHEMY_DATABASE_URI (path should follow the form sqlite:////absolute/path/to/riven.sqlite. Note the four [4] slashes in the scheme specifier.)
  2. SECRET_KEY (may be any string, but a cryptographically random value is recommended for deployment)

For more information see Flask Configuration.

One password is used for authentication, and it is read from instance/password.txt.

Note: This application does not currently support multiple users, and the one hard-coded user "admin" has a hard-coded test password specified above.

Step 2: Running Flask for development

For development purposes, the app can be run as so:

make run

If you don't have make installed then:


Deploying to the server.

make deploy
ssh <server>
sudo apachectl restart


No description, website, or topics provided.



No releases published


No packages published