https://github.com/LuminariMUD/Intermud3
๐ฏ A blazing-fast, production-ready Python gateway that bridges MUDs to the global Intermud-3 network
Handles all I3 protocol complexity while exposing a dead-simple JSON-RPC API for seamless MUD integration
| Achievement | Status | Details |
|---|---|---|
| JSON-RPC 2.0 API | โ Complete | WebSocket & TCP servers with event streaming |
| Test Coverage | ๐ 78% | Up from 45%, with 1200+ comprehensive tests |
| Client Libraries | ๐ฏ Released | Python, JavaScript/Node.js with TypeScript |
| CircleMUD Integration | ๐ง Available | Thread-safe C implementation |
| Performance | โก Exceeded | 1000+ msg/sec, <100ms latency achieved |
| Documentation | ๐ Complete | Full API docs, integration guides, examples |
| Production Deployment | ๐ LIVE | Running on plesk.luminarimud.com with systemd |
๐ฏ Next: Phase 4 will bring advanced features like web UI, GraphQL API, and clustering support!
- API Reference - Complete JSON-RPC API documentation
- Integration Guide - Step-by-step MUD integration guide
- High-Level Implementation Plan - Architectural overview and roadmap
- Performance Tuning - Optimization and scaling guide
- Troubleshooting - Common issues and solutions
- Intermud3 Protocol Documentation - I3 protocol specifications:
- Protocol Overview - Introduction to Intermud3
- Architecture - System architecture
- Packet Format - LPC packet structure
- Services Documentation - Service specifications
- Router Design - Router implementation
- Changelog - Version history and updates
- CLAUDE.md - Claude Code AI assistant instructions
- Contributing Guide - How to contribute to the project
- Code of Conduct - Community guidelines
| Feature Category | Status | Description |
|---|---|---|
| ๐ Protocol Support | โ Complete | Full Intermud-3 protocol implementation (Phase 2 โ) |
| ๐ Reliability | โ Enterprise | Auto-reconnection, failover, circuit breakers |
| ๐ก API Integration | โ Complete | JSON-RPC 2.0 API with WebSocket & TCP (Phase 3 โ) |
| ๐ Monitoring | โ Production | Prometheus metrics, health checks, Grafana dashboards |
| ๐ณ Deployment | โ Docker Ready | Multi-stage builds, compose configs, production ready |
| โก Performance | โ 1000+ msg/s | <100ms latency, handles 10K+ concurrent connections |
| ๐ Security | โ Enterprise | API key auth, TLS support, rate limiting |
| ๐ ๏ธ Services | โ Complete | tell, channel, who, finger, locate, mail, auth, mudlist |
| ๐ฑ Client Libraries | โ Multi-lang | Python, JavaScript/Node.js, TypeScript, C (CircleMUD) |
| ๐งช Testing | โ 78% Coverage | 1200+ tests, 98.9% pass rate, comprehensive test suite |
๐ฏ Plug & Play โข โก Lightning Fast โข ๐ง Zero Config โข ๐ Global Ready
๐ก Pro Tip: Use our one-liner installer for the fastest setup experience!
| ๐ | Python 3.9+ | Latest Python runtime |
| ๐ฆ | Virtual Environment | Isolated dependencies (recommended) |
| ๐ง | Git | For cloning the repository |
Step 1๏ธโฃ: Clone the Repository
git clone https://github.com/LuminariMUD/Intermud3.git
cd Intermud3Step 2๏ธโฃ: Create Virtual Environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activateStep 3๏ธโฃ: Install Dependencies
pip install -r requirements.txt # ๐ฆ Core dependencies
pip install -r requirements-dev.txt # ๐ง Development dependencies
# OR use our super-fast Makefile
make install-devStep 4๏ธโฃ: Configure Your MUD
cp .env.example .env
# โ๏ธ Edit .env with your MUD settings
# ๐ Key settings: MUD_NAME, MUD_PORT, GATEWAY_PORTStep 5๏ธโฃ: Launch the Gateway ๐
python -m src -c config/config.yaml
# OR
python src/__main__.py -c config/config.yaml
# OR with debug logging ๐
LOG_LEVEL=DEBUG python -m src -c config/config.yamlYour Gateway endpoints are ready at:
- ๐ WebSocket API:
ws://localhost:8080/ws - ๐ก TCP API:
localhost:8081 - ๐ Health Check:
http://localhost:8080/health - ๐ Metrics:
http://localhost:9090/metrics
| Command | Purpose | Icon |
|---|---|---|
make setup |
๐ฏ Complete development setup | โ๏ธ |
make test |
๐งช Run all tests | โ |
make test-coverage |
๐ Coverage report | ๐ |
make lint |
๐ Linting checks | ๐ |
make format |
โจ Auto-format code | ๐ |
make check |
๐ก๏ธ All quality checks | ๐ |
pre-commit install |
๐ช Install git hooks | ๐ฃ |
๐ One-Command Setup
make setup # ๐ฏ Complete development environment setupThis sets up everything: dependencies, pre-commit hooks, test environment, and more!
๐ฅ Lightning-Fast Docker Setup:
# ๐๏ธ Build the image
make docker-build
# ๐ Run the container
make docker-run
# ๐ Or use Docker Compose (recommended)
docker-compose up -d๐ก Pro Tip: The Docker image is optimized for production with multi-stage builds!
The gateway is configured via config/config.yaml with environment variable support:
mud:
name: ${MUD_NAME:YourMUD}
port: ${MUD_PORT:4000}
router:
primary:
host: ${I3_ROUTER_HOST:204.209.44.3}
port: ${I3_ROUTER_PORT:8080}See .env.example for all available environment variables.
from i3_client import I3Client
async with I3Client("ws://gateway:8080/ws", "your-api-key") as client:
# Send a tell
await client.tell("friend@OtherMUD", "Hello from Python!")
# Join a channel
await client.channel_join("intergossip")
await client.channel_send("intergossip", "Greetings everyone!")const { I3Client } = require('@intermud3/client');
const client = new I3Client('ws://gateway:8080/ws', 'your-api-key');
await client.connect();
// Full TypeScript support included!
await client.tell('friend@OtherMUD', 'Hello from Node.js!');
await client.channelJoin('intergossip');// Automated installation available!
// See clients/circlemud/README.md for complete guide
i3_send_tell("player", "OtherMUD", "friend", "Hello from CircleMUD!");๐ More Examples: Check out
clients/examples/for complete integration examples including bots, bridges, and web clients!
WebSocket: 8080 | TCP: 8081 | Protocol: JSON-RPC 2.0 | Metrics: 9090
๐จ Click to see the API call
{
"jsonrpc": "2.0",
"method": "send_tell",
"params": {
"from_user": "player",
"to_mud": "OtherMUD",
"to_user": "friend",
"message": "Hello from the Intermud3 Gateway! ๐"
},
"id": 1
}Response:
{
"jsonrpc": "2.0",
"result": {
"status": "success",
"message_id": "msg_12345",
"timestamp": "2024-01-15T10:30:00Z"
},
"id": 1
}๐ Full API Reference: API_REFERENCE.md | Integration Guide: INTEGRATION_GUIDE.md
๐ Intermud3/
โโโ ๐ src/ # Core application
โ โโโ ๐ฏ __main__.py # ๐ Entry point
โ โโโ ๐ gateway.py # ๐๏ธ Main gateway service
โ โโโ ๐ network/ # ๐ก MudMode protocol implementation
โ โโโ ๐ ๏ธ services/ # โ๏ธ I3 service handlers (tell, channel, who...)
โ โโโ ๐ models/ # ๐๏ธ Data structures & schemas
โ โโโ โ๏ธ config/ # ๐ง Configuration management
โ โโโ ๐พ state/ # ๐๏ธ State & cache management
โ โโโ ๐ง api/ # ๐ก JSON-RPC API endpoints
โ โโโ ๐ ๏ธ utils/ # ๐จ Utilities & logging
โโโ ๐งช tests/ # Test suite (78% coverage, 1200+ tests!)
โ โโโ ๐ฌ unit/ # Unit tests
โ โโโ ๐ integration/ # Integration tests
โ โโโ ๐โโ๏ธ performance/ # Performance benchmarks
โ โโโ ๐ ๏ธ services/ # Service tests
โ โโโ ๐ก api/ # API tests
โ โโโ ๐ญ fixtures/ # Test fixtures & mocks
โโโ ๐ docs/ # Documentation hub
โ โโโ ๐ intermud3_docs/ # I3 protocol specs
โ โโโ ๐บ๏ธ ARCHITECTURE.md # System architecture
โ โโโ ๐ API.md # API reference
โ โโโ ๐ TODO.md # Development roadmap
โโโ ๐ณ Docker/ # Containerization
โ โโโ ๐ณ Dockerfile # Production image
โ โโโ ๐ docker-compose.yml # Multi-service setup
โโโ ๐ฆ clients/ # Client libraries & examples
โ โโโ ๐ python/ # Python client library
โ โโโ ๐จ javascript/ # Node.js/JS client with TypeScript
โ โโโ ๐ง circlemud/ # CircleMUD/tbaMUD C integration
โ โโโ ๐ examples/ # Integration examples
โโโ โ๏ธ config/ # Configuration files
โโโ ๐ง Makefile # Build automation
๐ฏ Modular โข ๐ Scalable โข ๐งช Testable โข ๐ง Maintainable
| Step | Action | Details |
|---|---|---|
| 1๏ธโฃ | ๐ด Fork | Fork the repository to your GitHub |
| 2๏ธโฃ | ๐ฟ Branch | Create a feature branch (git checkout -b amazing-feature) |
| 3๏ธโฃ | โจ Code | Make your incredible changes |
| 4๏ธโฃ | ๐งช Test | Run tests and linting (make check) |
| 5๏ธโฃ | ๐ PR | Submit a pull request |
๐ก First time contributing? Check out our Contributing Guide!
- ๐ Bug Reports: GitHub Issues
- ๐ก Feature Requests: GitHub Issues
- ๐ฌ Community Chat: GitHub Discussions
- ๐ Documentation: docs/ directory
- ๐ Intermud-3 Protocol Creators - The visionaries who built the foundation
- ๐ฎ MUD Community - For decades of innovation and support
- ๐ Python Community - For the amazing tools and libraries
- ๐ Contributors - Every PR, issue, and suggestion matters!