Developer resources
Three tools power the platform ecosystem: the SDK for building games, the MudRelay for bridging telnet to the web client, and the MudLink agent that connects an existing MUD with no server config. Download and run instructions below.
- External MUD listing — maintain your own listing record (name, website, Discord, art, rules). Admin approves your listing and any later edits.
- Maintainer — submit and update your own game's code via the SDK + submission pipeline.
- Owner — full self-service control of your own games, unified in our stack.
EMP SDK
Scaffold, simulate, and bundle a minigame entirely in your own sandbox — no
access to our servers required. Declare achievements and daily quests in
emp.toml; the platform sets the rewards on approval.
emp-sdk new mygame --category board emp-sdk play . # local simulator emp-sdk validate . # checks your manifest (achievements, quests, ...) emp-sdk bundle mygame --version 1.0.0
MudRelay
A WebSocket relay that lets the web client reach telnet MUDs. Run it on your
own infrastructure. Direct mode proxies TCP straight through
(/connect?host=H&port=P); Linked mode pairs with
a MudLink agent (/play/<name>). Exposes /muds,
/status, /health.
npm install node mudrelay.js --port=443 --tls --cert=/path/cert.pem --key=/path/key.pem
MudLink
A drop-in agent your MUD runs. It dials out to a relay (port 443, no inbound ports or certs needed), handling full telnet negotiation, MCCP2, and GMCP. It can also send a status heartbeat to the platform so your listing shows as online — even for a telnet-only game.
npm install node mudlink.js --relay=wss://relay.mudhub.club --name=mymud --mud-port=4000 \ --status-url=https://mudhub.club/emc2/mudlink/heartbeat \ --listing-token=YOUR_LISTING_TOKEN
External MUD listings show a
live online/offline badge driven by the MudLink heartbeat (or the
relay's /muds feed). The platform marks a listing offline if no
heartbeat arrives within the TTL.