Skip to content

hexagram30/mush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hxgm30.mush

Build Status LFE Versions Erlang Versions Tag

Project Logo

An LFE application

Table of Contents

About

TBD

Dependencies

Languages and tools:

  • a recent release of Erlang (e.g., Erlang 23)
  • rebar, make, and git

Infrastructure:

  • a PostgreSQL-compatible database

This can be set up locally by running Postgres in a Docker container:

$ cd priv/docker/postgres/
$ make run

Then, to set up the database with the latest schemas, run this:

$ rebar3 migrate

Build

$ rebar3 build

Start the Project REPL

This will also bring up all the applications configured for the release:

$ rebar3 lfe repl

Tests

$ rebar3 lfe test

Usage

At a high level, actual usage of the system as a MUSH server offering various games is this (checkboxes indicate development progress):

  1. Telnet to the registration server
    1. view help, issue commands, etc., but ultimately:
    2. provide your email address and a public SSH key
    3. receive a confirmation email
    4. provide the confirmation code in the telnet session
    5. log out
  2. SSH to the game server
    1. user id is the registered email address; access is by SSH key only
    2. view help, issue commands, etc., but ultimately:
    3. create a character
    4. select a game to join using a specificed character
  3. MUSH it up!
    1. Explore the world
    2. Build more of the world (dig out new areas)
    3. Get customised area descriptions based on changes in world state (event subscriptions)

PLayers with the builder role are able to add new areas to the game, create and place items, update existing areas, etc. All players may build one home in an available location (for areas that are approved for homes where there are available slots).

License

Apache License, Version 2.0

Copyright © 2020, Duncan McGreggor [email protected].