My MUD game based on the Evennia Python project https://howardabrams.com/cozy
Find a file
Howard Abrams b63cb4c74d Do other people want to see the this?
Never see how the sausage is made.

Especially if you are a vegetarian.
2026-05-08 23:21:45 -07:00
commands Fixing more bugs 2026-04-27 15:50:52 -07:00
personalities More tweaks, including limiting Chatbot tokens 2026-05-02 12:22:38 -07:00
server New start screen. 2025-08-23 18:27:31 -07:00
transcripts Create a recorder 2026-02-27 20:09:04 -08:00
typeclasses Limit the number of items carried 2026-05-08 22:07:29 -07:00
utils Create a recorder 2026-02-27 20:09:04 -08:00
web Make text more readable with extra space 2026-03-18 04:30:41 +00:00
world Limit the number of items carried 2026-05-08 22:07:29 -07:00
.dir-locals.el Get the custom Emacs working 2025-03-30 14:33:10 -07:00
.envrc In the beginning was a tree... 2025-01-22 07:58:32 -08:00
.gitignore New puppetable NPCs are now Chatbot Agents 2026-03-16 21:03:40 -07:00
.python-version Update server on howardabrams.com/moss 2025-02-14 04:26:39 +00:00
moss-n-puddles-map.svg Do other people want to see the this? 2026-05-08 23:21:45 -07:00
moss-n-puddles.org Do other people want to see the this? 2026-05-08 23:21:45 -07:00
README.md Do other people want to see the this? 2026-05-08 23:21:45 -07:00
requirements.txt Do other people want to see the this? 2026-05-08 23:21:45 -07:00

Welcome to the World of Moss and Puddles

This contains the code, based on the Evennia game engine for running a Multiuser Shared Story Experiment (MUSSE).

The details in this document are technical and assume proficiency with a Terminal emulator, e.g. Terminal app on MacOS and PowerShell on Windows.

Running Locally

These instructions assume that you have Git installed, and you can clonethis repository.

git clone https://howardabrams.com/git/howard/moss-n-puddles

This may be a slight chicken/egg scenario, since I store this file in the repository.

To get a local copy running on your system, follow these steps.

Install Python

Follow the online instructions if you don't have the Python language engine installed.

Create Virtual Environment (Optional)

While optional, you may not want to pollute your global Python environment, so create a "virtual environments" to insure that module libraries don't compete.

python -m venv .venv

For further details on this, follow these instructions: https://www.geeksforgeeks.org/python/create-virtual-environment-using-venv-python/

Activate the Virtual Environment (Optional)

Each time you enter this directory folder, activate the virtual environment with the command:

source .venv/bin/activate

To make this easier, you can install direnv.

Install Support Modules

Install Evennia and other needed modules with the command:

pip install -r requirements.txt

Configure Database

Before you can start this program, you need to initialize the database using the command:

evennia migrate

Any time you want to re-initialize the database from scratch, type:

rm server/evennia.db

To make my life easier, I issue:

cp server/evennia-reset.db3 server/evennia.db3

Start the Server

Start the server with the command:

evennia start

When you first do this, you will need to create a account for the superuser account, we call The Avatar. The question about email is optional.

You can stop the server using the command: evennia stop

Load the World

Log into the system. The easiest way is to use a browser and this URL:

http://localhost:4001

You can also use a MUD client connecting to the localhost on port 4000.

You will need to connect with the user and password you created in the Terminal (described above).

At this point, you won't see anything because the database is empty. To populate the world, type the following command in the game (not in your Terminal window):

batchcommand version1.ev

A lot of text will fly by and it recreates the world described in Org-formatted document. Those are my notes for the game, which I should probably clean up for public consumption. You will probably want to use Emacs get the most out of that text document.

Check out my map I made (shame this isn't dynamically generated).

Technical Details

Peruse the directory structure overview.

Read the logs in the file: server/logs/server.log

You might want to look at Evennia's beginner tutorials, or the complete documentation.