tkMOO-light

Other stuff

From time to time information gets moved off the client's home page, and if it's got nowhere else to go then it ends up here.

XMCP/1.1 server software for MOO

Before MCP/2.1 was available tkMOO-light needed a working client-server protocol to support some experimental applications. The XMCP/1.1 protocol is very like MCP/2.1 and information and downloads are available here for use on MOO servers.

Experimental Work

The current version of tkMOO-light is derived from countless small experiments with UI design and other projects that have been going on for the past few years. The client itself contains much less than half of all the code developed in that time.

The Format of the worlds.tkm file

The Worlds Definition File describes the sites that the client knows about listing the name, machine host name and port number of each site. An optional user name and password can be given for each definition which the client will use to connect you to your player object. The file contains lines of text laid out as follows:
    World:    <human readable string for the Connections Menu>
    ClientMode: <character | line>
        default value is character
    Host:     <host name>
    Port:     <port number>
    Login:    <user name>
    Password: <some password>
    ConnectScript: <lines of text to send following connection>
    ConnectScript: ...
    DisconnectScript: <lines of text to send before disconnecting>
    DisconnectScript: ...
    KeyBindings: <keystroke emulation>
    
    World:    <a different string for a different world>
    Host:     <a different host name>
    Port:     <a different port number>
    ...
Directive names are not case sensitive. The following definitions are equivalent:
    # All the same...
    ColourBackground: #000000
    COLOURBACKGROUND: #000000
    colourbackground: #000000
    cOlOuRbAcKgRoUnD: #000000
When a ConnectScript: header is present it is assumed to contain *all* the information required to connect to a site as well as additional commands which are sent after the connection is made. This means that if you're sending several lines of ConnectScript: data then the first line needs to be 'connect %u %p'.

For example, the following definitions explicitly send the string connect %u %p to the MOO and then send additional lines of data:

    World: foo
    Host: bar.com
    Port: 1234
    Login: mumble
    Password: <somepassword>
    ConnectScript: connect %u %p
    ConnectScript: @xmcp_challenge
    ConnectScript: ...