ExVenture
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.
A text based MMO server written in Elixir.
Requirements
- PostgreSQL 12+
- Elixir 1.10+
- Erlang 22+
- node.js 12+
Setup
mix deps.get
npm install -g yarn
(cd assets && yarn install)
mix ecto.reset
mix phx.server
Kalevala
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.