[gnome-mud] ZMP support
- From: Sean Middleditch <elanthis awesomeplay com>
- To: gnome-mud-list gnome org
- Subject: [gnome-mud] ZMP support
- Date: Fri, 13 Feb 2004 16:38:10 -0500
I'm the author of AweMUD and ZMP (Zenith MUD Protocol).
I was wondering if you (the GNOME MUD) developers would be interested
in adding ZMP support to the client. I may offer a patch myself in the
future, if I find the time. ~,^ ZMP is an insanely easy to implement
protocol, so long as you have a correct (non-hack) telnet
implementation. Documents regarding the core protocol and C
implementation notes are at http://www.awemud.net/zmp/. A sample Python
client with ZMP support is at http://www.awemud.net/pycl/. The Python
implementation comes out to less than 50 lines (including comments and
formatting and such) on top of the telnet code. :)
ZMP works by heavily utilizing the underlying telnet protocol. No need
for extra parsers or escape sequences like MXP and other protocols.
Once ZMP is enabled (using a usual DO/WILL telnet sequence with option
code 93), ZMP commands are just sent using the telnet subrequest (SB)
system. Commands are formatted as a block of NUL terminated strings.
The first string is a command name which is just looked up and
executed. Dead simple.
PyCL and AweMUD have some very basic example usage of ZMP, in the
x-awemud package (packages in ZMP are like Python modules). I wrote
PyCL to have a small simple client for experimenting with ZMP. So far,
the experiment has turned out well. ;-)
Of course, a chicken and egg problem exists in which MUD server authors
don't want to use it without client support, and client authors don't
want to bother without servers that use it. Hopefully, I can start
cracking that shell by convincing you fine folk to get ZMP supported
fully in GNOME MUD. ~,^
Sean Middleditch <elanthis awesomeplay com>
AwesomePlay Productions, Inc.
] [Thread Prev