MCP/2.1 Software for MOO
MCP/2.1 is an out of band protocol used for sending messages between
servers and clients. Several useful applications are available
that are built on MCP/2.1. Programmers can use MCP/2.1 to create
new applications for MOO.
An overview of the MUD Client Protocol (MCP) and the protocol
specification are available here:
JHCore MCP/2.1 Implementation
The JHCore MCP/2.1 implementation is extracted from JHCore and is
subject to the JHCore Copyright notice and LICENCE.
The latest version of the JHCore database, which also contains this
code is available here:
JHCore implements MCP/2.1 support with a suite of objects which
are hooked to the System Object. This architecture means that it's
very easy to extract the suite from a JHCore database and port it
to other MOO databases. So far I've been able to do this for (old)
JHCore, LambdaCore and enCore databases and it's likely that the
same can be said of any MOO database.
I've dumped the suite of objects to text files written a small
README file and tarred the whole lot up so that other people can
have a go. Here it is:
The following packages are available separately as .tar.gz archives.
These packages are written using the JHCore MCP/2.1 Implementation's
The package dns-org-mud-moo-simpleedit provides support for
local-editors in cooperating clients. The package supports
the data in the form of a string a
string-list or moo-code.
Clients that don't provide special support for moo-code editing
can treat moo-code identically to string-list.
The package dns-com-awns-displayurl allows the server to send URLs
to the client. The client should then use a client-side webbrowser
to display the contents of the URL. The client can optionally
display a warning message to the user requesting if the URL should
The package dns-com-awns-serverinfo lets the server give the
client a couple of useful URLs, the server's Home Page and Help
Page if such exist. The client is free to make these available
though a Help menu or by some other method.
The package dns-com-awns-jtext allows the client to access jtext
links. Jtext is a hypertext format for the JHCore and this package
provides an MCP/2.1 version of the MCP/1.0 'jtext-pick' message.
The package dns-com-awns-status allows the server to send short,
human readable, informational messages to cooperating clients. The
client can display the message in a number of ways. For example
on the main chat screen, or in a special part of the client's status
bar or log window. The client is free to ignore the message
completely if it wishes.
The package dns-com-awns-ping allows both client and server to
test the latency of a user's connection, a rough indication
of net-lag. Accordingly the server can choose to 'back off'
a bandwidth-heavy activity to a slow user, to make the best of
what little connectivity the connection has to spare.
The package dns-com-awns-visual provides clients with up-to-date
information about places, topology and people online. Clients can
display this information in the form of navigable maps or user
The package dns-com-awns-rehash provides clients with up-to-date
information about the set of server commands which can be typed
by the user. Clients can use this information for tricks like
command-completion, or the implementation of 'say'/'do'
The package dns-com-awns-getset allows clients to save data to
and load data from the server.
The package dns-com-awns-timezone allows the client to send the
user's time-zone to the server. Server-side applications can make
use of this information.
JHCore Copyright notice and LICENCE
Portions of this database are derived from the LambdaCore distribution,
available for anonymous ftp at parcftp.xerox.com. The following
copyright notice applies to new and derived works within this
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 by Ken Fox.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and
its documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and
that both that copyright notice and this permission notice appear
in supporting documentation.
KEN FOX DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
IN NO EVENT SHALL KEN FOX BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
USE OR PERFORMANCE OF THIS SOFTWARE.