[Error opening file `/wwwsys/mud.stack.nl/intermud/../header.txt': No such file or directory]
[Error parsing directive]
Introduction
This file gives a description of how Circle, Merc and Envy MUDs can
communicate with each other and the protocol used.
Intermud communication is done via udp packages, contrary to players
connected to the mud whose communication goes through tcp. This has two
consequences:
- Intermud communication will be unreliable. This is the nature of udp.
- Only two filedescriptors are used for all intermud communication,
not one / mud.
The protocol is usually implemented in 2 stages. Some functions are
defined in the driver, some are defined in an external intermud program.
This daemon communicates with the other daemons via udp and with the
muddriver via a local unix socket. Some requests from the mud can be
handled directly by the daemon, some are relayed to other daemons (and
vice versa).
Protocol design
- Every message sent is printable strings.
- Every message consists of a 'command' and 'parameters'. The set of
parameters is fixed for each command.
The typical message string looks like:
command|param1|param2|param3|
or in a slightly more formal description:
message ::= command '|' parameterlist
command ::= Digit Digit Digit Digit
parameterlist ::= /* empty */
| value '|' parameterlist
value ::= String
Where digit is any number 0 through 9, and 'String' is any printable
text not containing the '|' symbol combinations.
New commands can be added without problems for backwards compatiblilty;
whoever it is not possible to add extra parameters to a command.
Command types
The first digit indicates the type of the command:
- 1xxx
- These are general support commands: startup, ping, mudlist.
- 2xxx
- These indicate the normal request/reply messages: tell, page, who.
- 3xxx
- For messages sent to all MUDs at once: wiz.
- 4xxx
- Driver - local daemon communication commands: mudinfo, stats, debug.
Current protocol
Only a few commands has been implemented so far.
The commands I know are listed here.
[Error opening file `/wwwsys/mud.stack.nl/intermud/../footer.txt': No such file or directory]
[Error parsing directive]