Webapp to connect to a MUD / MUSH / MOO game server, supporting all major data interchange and interactive text protocols. The connection is done through a secure websocket (wss://
protocol), so you will need a proxy in the server that translates the wss
sessions to telnet
. You can use the mud-web-proxy
project to achieve that.
You can see this project working in the maldorne.org web page.
This project is a fork of MUDPortal-Web-App, made by @plamzi, creator of mudportal.com. The original project had the code of both the client and proxy-server apps, and was outdated and did not support secure connections (wss://
instead of ws://
), so I decided to fork it, separate in different projects and update them. But kudos to @plamzi, who is the original author.
In modern browsers, web-pages served through https://
are not allowed to open connections to non-secure locations, so an https://
-served web could not include a web client which opens a connection using ws://
. Modifications were needed to allow secure connections.
-
Window-based web UI with draggable and resizable windows, window toolbar.
-
MCCP compression support (zlib)
-
MXP protocol support built into the client
-
MSDP protocol support
-
GMCP / ATCP protocol support (JSON) with sample uses in multiple existing plugins
-
256-color support, including background colors
-
Unicode font support and UTF-8 negotiation
-
Vector-based world mapper with flexible edit mode to allow for mapping any MUD world via exploration
-
Triggers / macros / command memory with typeahead
git clone https://github.com/maldorne/mud-web-client
npm install
-
Copy all files to a web-accessible folder on your web server.
-
Point a browser at the root of the folder to load the included
index.html
file.
In src/config.js
you can change the following options, among others:
debug: param('debug') || 0,
host: param('host') || 'muds.maldorne.org',
port: param('port') || '5010',
name: param('name') || 'House of Maldorne',
...
proxy: 'wss://play.maldorne.org:6200/',
...
These are the default values used when the client does not receive specific parameters. You have to specify:
- host: Your hostname.
localhost
or127.0.0.1
don't seem to work: see conversation here. - port: The port where the mud is running. The mud, not the proxy.
- proxy: The
wss
url where the proxy is running.