Skip to content

LuminariMUD/Intermud3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

38 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

๐ŸŒ Intermud3 Gateway Service

https://github.com/LuminariMUD/Intermud3

Python License Code Style Pre-commit

Build Status Coverage Tests Performance

Docker JSON-RPC WebSocket

Intermud3 Logo Phase 3

๐ŸŽฏ 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


โšก Performance Stats | ๐Ÿ”’ Enterprise Security | ๐ŸŒ Global Network | ๐Ÿ Pure Python

๐ŸŽ‰ What's New - Phase 3 Complete!

๐Ÿš€ Production Ready with Full API Implementation!

๐ŸŒŸ NOW LIVE IN PRODUCTION

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!

๐Ÿ“š Documentation

Essential Documentation

Developer Resources

โœจ Features

๐Ÿ† PRODUCTION-READY | ๐Ÿš€ HIGH-PERFORMANCE | ๐Ÿ›ก๏ธ BATTLE-TESTED

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

๐Ÿ’Ž Why Choose Intermud3 Gateway?

๐ŸŽฏ Plug & Play โ€ข โšก Lightning Fast โ€ข ๐Ÿ”ง Zero Config โ€ข ๐ŸŒ Global Ready

๐Ÿš€ Quick Start

โšก Get Up and Running in 5 Minutes! โšก

๐Ÿ’ก Pro Tip: Use our one-liner installer for the fastest setup experience!

๐Ÿ“‹ Prerequisites

๐Ÿ Python 3.9+ Latest Python runtime
๐Ÿ“ฆ Virtual Environment Isolated dependencies (recommended)
๐Ÿ”ง Git For cloning the repository

๐Ÿ› ๏ธ Installation

Step 1๏ธโƒฃ: Clone the Repository

git clone https://github.com/LuminariMUD/Intermud3.git
cd Intermud3

Step 2๏ธโƒฃ: Create Virtual Environment

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

Step 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-dev

Step 4๏ธโƒฃ: Configure Your MUD

cp .env.example .env
# โœ๏ธ Edit .env with your MUD settings
# ๐Ÿ”‘ Key settings: MUD_NAME, MUD_PORT, GATEWAY_PORT

Step 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.yaml

๐ŸŽ‰ Congratulations! Your Gateway is Live! ๐ŸŽ‰

Your 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

๐Ÿ‘จโ€๐Ÿ’ป Development

๐Ÿ› ๏ธ Developer Paradise - Everything You Need!

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 setup

This sets up everything: dependencies, pre-commit hooks, test environment, and more!

๐Ÿณ Docker Deployment

๐Ÿšข Container-Ready Deployment

Docker Docker Compose

๐Ÿ”ฅ 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!

Configuration

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.

๐Ÿ“ฆ Client Libraries

๐Ÿš€ Official Client Libraries - Pick Your Language!

Python JavaScript TypeScript C

๐Ÿ Python Client

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!")

๐ŸŸจ JavaScript/Node.js Client

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');

๐Ÿ”ง C Integration (CircleMUD/tbaMUD)

// 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!

๐Ÿ“ก API Documentation

๐ŸŽฏ JSON-RPC API - Dead Simple Integration

JSON-RPC WebSocket TCP

WebSocket: 8080 | TCP: 8081 | Protocol: JSON-RPC 2.0 | Metrics: 9090

๐Ÿ’ฌ Example: Send Tell Message

๐Ÿ“จ 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

๐Ÿ“ Project Structure

๐Ÿ—๏ธ Clean Architecture - Enterprise-Grade Organization

๐ŸŒ 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

๐Ÿค Contributing

๐ŸŒŸ Join Our Amazing Community!

Contributors Pull Requests Issues

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!

๐Ÿ“„ License

License: MIT

Open Source โ€ข Free Forever โ€ข MIT Licensed

๐Ÿ†˜ Support & Community

๐Ÿค– Need Help? We've Got You Covered!

GitHub Issues Discussions

๐Ÿ™ Acknowledgments

๐Ÿ‘ Shoutouts to the Legends!

  • ๐ŸŒŸ 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!

โญ Star this repo if it's awesome! โญ

Made with โค๏ธ for the MUD community

Intermud3

About

InterMUD-3 MUD to MUD Chat

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •