Installation
Installation
Section titled “Installation”TalesMUD requires Go 1.24+ for the backend and Node.js 20+ for building the frontend. The simplest deployment path is Docker.
Prerequisites
Section titled “Prerequisites”| Tool | Version | Purpose |
|---|---|---|
| Go | 1.24+ | Backend server |
| Node.js | 20+ | Frontend build |
| Make | Any | Build automation |
| Docker | 24+ | (Optional) Containerized deployment |
| Git | Any | Clone the repository |
Installation
Section titled “Installation”-
Clone the repository
Terminal window git clone https://github.com/TalesMUD/talesmud.gitcd talesmud -
Install Go dependencies
Terminal window go mod download -
Install Node dependencies (for frontend build)
Terminal window cd public/app && npm install && cd ../..cd public/mud-client && npm install && cd ../.. -
Configure environment
Terminal window cp .env.example .env# Edit .env if needed (defaults work for local development) -
Build everything
Terminal window make build -
Run the server
Terminal window make run-server# → Server starts at http://localhost:8010
-
Clone the repository
Terminal window git clone https://github.com/TalesMUD/talesmud.gitcd talesmud -
Start with Docker Compose
Terminal window docker compose up -d -
Open the game
http://localhost:8010
Verifying the Installation
Section titled “Verifying the Installation”After starting the server, open http://localhost:8010 in your browser. You should see the
TalesMUD game client. The default admin credentials are:
- Username:
admin - Password:
changeme(set in.envviaADMIN_PASSWORD)
Development Mode
Section titled “Development Mode”For active development with hot reload:
# Terminal 1: Backend with auto-reloadmake run-server
# Terminal 2: Admin UI dev servermake run-frontend
# Terminal 3: Game client dev servermake run-mud-clientOr start all three concurrently:
make runDirectory Structure
Section titled “Directory Structure”talesmud/├── cmd/ # Entry points│ └── tales/ # Main server binary├── pkg/ # Go packages│ ├── entities/ # Data models (characters, rooms, items, ...)│ ├── mudserver/ # Game engine and WebSocket server│ ├── server/ # HTTP API (Gin routes and handlers)│ ├── service/ # Business logic (Facade pattern)│ ├── repository/ # SQLite data access layer│ └── scripts/ # Lua scripting engine├── public/│ ├── app/ # Admin/creator frontend (Svelte)│ └── mud-client/ # Game client (Svelte + xterm.js)├── zones/ # World content source (Markdown files)├── data/ # Exported world data (YAML)├── docs/ # Design documentation├── nginx/ # Nginx config example├── .env.example # Environment variable template├── docker-compose.yml # Docker deployment└── Makefile # Build targetsNext Steps
Section titled “Next Steps”- Quick Start — Build your first room and NPC
- Configuration — Environment variables reference