Main Discord Patreon

NOTE This branch is the complete rewrite of ExVenture using Kalevala under the hood. Everything from the previous codebase is tossed out to start over again. If you're interested in something that's working now, please check out the main branch.

ExVenture Logo

A text based MMO server written in Elixir.


  • PostgreSQL 12+
  • Elixir 1.10+
  • Erlang 22+
  • node.js 12+


mix deps.get
npm install -g yarn
(cd assets && yarn install)
mix ecto.reset
mix phx.server


Kalevala Logo

Kalevala is a new underlying framework that ExVenture is using under the hood. Kalevala sets up a common framework for dealing with commands, characters, views, and is all around a lot better to deal with than the previous version of ExVenture.

Running Tests

MIX_ENV=test mix ecto.create
MIX_ENV=test mix ecto.migrate
mix test

Docker locally

Docker is set up as a replication of production. This generates an erlang release and is not intended for development purposes.

docker-compose pull
docker-compose build
docker-compose up -d postgres
docker-compose run --rm app eval "ExVenture.ReleaseTasks.Migrate.run()"
docker-compose up app

You now can view http://localhost:4000 and access the application.