https://github.com/oestrich/ex_venture
Text based MMORPG engine written in Elixir
https://github.com/oestrich/ex_venture
elixir mud phoenix text-based
Last synced: 5 months ago
JSON representation
Text based MMORPG engine written in Elixir
- Host: GitHub
- URL: https://github.com/oestrich/ex_venture
- Owner: oestrich
- License: mit
- Created: 2017-07-12T18:42:04.000Z (almost 8 years ago)
- Default Branch: kalevala
- Last Pushed: 2023-02-14T03:11:55.000Z (about 2 years ago)
- Last Synced: 2024-08-03T18:22:19.304Z (9 months ago)
- Topics: elixir, mud, phoenix, text-based
- Language: Elixir
- Homepage: https://exventure.org
- Size: 23.1 MB
- Stars: 664
- Watchers: 25
- Forks: 76
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-mud - ExVenture - Elixir based MUD engine. (Codebases)
README
# ExVenture

[][discord]
[](https://www.patreon.com/ericoestrich)> **NOTE** This branch is the complete rewrite of ExVenture using [Kalevala](https://github.com/oestrich/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](https://github.com/oestrich/ex_venture/tree/main) branch.
A text based MMO server written in Elixir.
- [Support ExVenture on Patreon](https://www.patreon.com/ericoestrich)
- [Chat with us on Discord][discord]## Requirements
- PostgreSQL 12+
- Elixir 1.10+
- Erlang 22+
- node.js 12+## Setup
```bash
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
```bash
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.
```bash
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.
[discord]: https://discord.gg/GPEa6dB