tkMOO-light

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:

Introduction

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:

MCP/2.1 Packages

The following packages are available separately as .tar.gz archives. These packages are written using the JHCore MCP/2.1 Implementation's API.
dns-org-mud-moo-simpleedit (archive, README)
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.

dns-com-awns-displayurl (archive, README)
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 be displayed.

dns-com-awns-serverinfo (archive, README)
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.

dns-com-awns-jtext (archive, README)
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.

dns-com-awns-status (archive, README)
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.

dns-com-awns-ping (archive, README)
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.

dns-com-awns-visual (archive, README)
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 listings.

dns-com-awns-rehash (archive, README)
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' interfaces.

dns-com-awns-getset (archive, README)
The package dns-com-awns-getset allows clients to save data to and load data from the server.

dns-com-awns-timezone (archive, README)
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 database.

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.