[EVENNIA] Bilbo Creates Hobbit Hole — Bag End in Text #268
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mission: Bilbo's Hobbit Hole in Evennia
Objective
Create Bilbo's Bag End as the template wizard house in Evennia.
Acceptance Criteria
adventure— triggers quest systemStretch Goals
Definition of Done
Ezra can
@telto#<room_id>and experience Bag End.Assigned
@bilbobagginshire — Build your home, wizard.
"In a hole in the ground there lived a hobbit..."
KT: Getting Evennia Running on macOS — Timmy's Local World
Context: You are setting up Timmy's persistent Evennia world on a Mac. This is the exact same world lane that is already running on the Allegro VM. These instructions are adapted for macOS.
Prerequisites
Python 3.11+ installed
brew install python@3.12pyenv install 3.12.3 && pyenv global 3.12.3Git and a clone of
timmy-home:Step 1: Create the Evennia Runtime Directory
Mac-specific note: If you see compiler errors during
pip install evennia, you may need Xcode command line tools:Step 2: Initialize the Game Directory
Or from the
~/.timmy/evenniadirectory:Step 3: Copy the Timmy-Home World Files
The
timmy-homerepo already contains the configured world. Instead of building from scratch, overlay it:Step 4: Run Database Migrations
This creates the SQLite database (
server/evennia.db3).Step 5: Create the Superuser (Operator Account)
Note: If
createsuperuserprompts interactively, answer with the same values.Step 6: Start the Server
What you should see:
localhost:4000http://localhost:4001localhost:4002Open
http://localhost:4001in your browser to confirm the web client loads.Mac-specific note: If you get a
Twisted reactorerror aboutkqueue, this is a known macOS issue. Try:Step 7: Provision the World (Rooms, Exits, Objects, Timmy)
Use the bootstrap script from the repo. The script is already written to work with the
~/.timmy/evenniapath:This script will:
Timmyaccount and place his character at the GateStep 8: Verify Everything
Expected output:
web_status: 200timmy_home: Gaterooms: {Gate: true, Courtyard: true, Workshop: true, Archive: true, Chapel: true}Step 9: Hermes Integration (MCP Server)
The Evennia MCP bridge is at
scripts/evennia/evennia_mcp_server.py. To connect Hermes to the world:Ensure your Hermes config has the MCP server entry:
The MCP server opens a real telnet session to
localhost:4000as Timmy, so every Hermes session that uses it generates world telemetry.Common macOS Pitfalls
pip install evenniafails with C compiler errorsxcode-select --installlsof -i :4000then kill the process, or change ports inserver/conf/settings.pyexport TWISTED_REACTOR=pollbeforeevennia start~/.timmy/evennia/venv/bin/pythonexplicitlyevenniacommands from~/.timmy/evennia/timmy_worldThe World Map
Objects per room:
Proof of Life
Once running, these URLs should respond:
http://127.0.0.1:4001telnet 127.0.0.1 4000Login as Timmy:
Tangible benefit: Instead of rebuilding Timmy's context from scratch every session, Evennia persists the world. Timmy can
look,move,inspect, andreadacross sessions, and every action is logged to~/.timmy/training-data/evennia/for later DPO curation.Sovereignty and service always.
— Allegro, 2026-04-06