Comprehensive database of game world locations for Elanthia Online, containing detailed room data for the MUD (Multi-User Dungeon) environment.
This repository contains 35,224+ individual room files organized by room ID, each providing detailed information about locations in the game world including descriptions, exits, travel times, and metadata.
gs/rooms/{id}/room.json # Individual room files organized by room ID
mapdb.json # Consolidated database (generated, see releases)
package.json # Build configuration
config/ # Release automation config
.github/workflows/ # CI/CD automation
Each room is stored as a JSON file with the following structure:
{
"checksum": "hash_for_integrity",
"room": {
"id": 123,
"title": ["Room Title"],
"description": ["Detailed room description"],
"paths": ["Obvious exits: north, south"],
"location": "Area or Zone Name",
"climate": "temperate",
"terrain": "path",
"wayto": { "124": "north", "122": "south" },
"timeto": { "124": 0.2, "122": 0.2 },
"uid": [13107402],
"tags": ["indoor", "shop"],
"image": "room123.png",
"image_coords": [10, 20, 30, 40]
}
}
Download the latest mapdb.json
from GitHub Releases or install via npm:
npm install @elanthia/mapdb
# Clone the repository
git clone https://github.com/elanthia-online/mapdb.git
cd mapdb
# Install dependencies
bun install
# Build consolidated database
bun run build
# Validate the database
bun run validate
- Fork and clone the repository
- Create a feature branch for your changes
- Modify room files in
gs/rooms/{id}/room.json
- Submit a pull request with descriptive commit messages
All pull requests are automatically validated:
- Individual file validation - Each changed room file is validated for structure and data integrity
- Full build validation - Complete database is built and validated to ensure no regressions
- Detailed feedback - Validation results are posted as PR comments with specific error details
Use Conventional Commits:
feat: add new room data for Crystal Caverns
fix: correct wayto directions for room 12345
docs: update contributing guidelines
The repository uses @elanthia/cartographer
for data processing:
bun run build
- Reconstructsmapdb.json
from individual room filesbun run validate
- Validates the generated database for consistency and correctness
- PR Validation - Validates room file changes automatically
- Semantic PR - Enforces conventional commit messages
- Release Please - Automated versioning and releases
- Asset Generation - Built
mapdb.json
attached to GitHub releases
Releases are automated using release-please:
- Conventional commits to main branch trigger release preparation
- Release PR is created automatically with version bumps and changelog
- When merged - GitHub release is created with built
mapdb.json
asset
- 35,224+ rooms validated and maintained
- Checksum verification ensures data integrity
- Automated testing prevents regressions
- Structured validation using Zod schemas
- Consistent formatting enforced through tooling
Property | Type | Description |
---|---|---|
id |
number |
Unique room identifier |
title |
string[] |
Room title(s), may have variants |
description |
string[] |
Room description(s), may have day/night variants |
paths |
string[] |
Available movement options |
location |
string |
Area or zone name |
climate |
string |
Environmental climate type |
terrain |
string |
Ground/terrain type |
wayto |
object |
Exit mappings (room_id: direction) |
timeto |
object |
Travel times (room_id: seconds) |
uid |
number[] |
Backend unique identifiers |
tags |
string[] |
Categorical tags |
image |
string |
Associated image filename |
image_coords |
number[] |
Image coordinate bounds |
MIT License - see LICENSE for details.
- GitHub Repository: https://github.com/elanthia-online/mapdb
- NPM Package: https://www.npmjs.com/package/@elanthia/mapdb
- Cartographer Tool: https://github.com/elanthia-online/cartographer
- Latest Release: https://github.com/elanthia-online/mapdb/releases/latest