This UDP port handling (Intermud) system is designed to be used on a mud using
an Amylaar driver. Installation should be very straightfoward.

- Incoming udp packets should be directed to the function
  receive_udp(sender, packet) in inetd.c. This is done by including the
  following function in master.c:
	recieve_imp(string sender, string packet) {
	    INETD->receive_udp(sender, packet);
	}
- Make sure the inetd has privilege to use the function send_imp() (this is
  controlled by the privilege_violation() function in master.c), and to use
  "read_file" on the INETD_HOSTS file (valid_read() in master.c).
- Edit the config section of udp.h. This file should probably be placed in a
  directory listed in your include path. You may need to modify the #defines
  at the top of the inetd.c file for your system.
- Make any changes neccessary to the files supplied (as described below).
- Add your mud to the INET_HOSTS file. (This is not strictly neccessary, but
  is very useful for testing things by sending requests to your own mud).
- You may want to include a #define for INETD in udp.h for simplicity.

Your mud will need to be added to the host lists at other muds to make the
system fully functional, but it will operate successfully until this time.

It is a good idea to test out the intermud system at your own site to iron out
any problems you may encounter. You will need to write your own intermud
commands for players to use, but the command files in the udp directory should
give you some good examples of usage. Some example commands can be found in
the examples directory.

This system should be easily portable to any mud that uses similar udp port
handling efuns. Simply renaming occurences of send_imp() in inetd.c to that of
the local udp handling efun and any other efuns or syntax your driver doesn't
recognise should be sufficient.


udp/who.c	Handles who requests from remote sites. The DATA field should
		be a string containing the who information.

udp/finger.c	DATA field should be a string containing the finger info.

udp/channel.c	This handles all incoming channel messages. It uses the header
		"CHANNEL" to identify the channel name, "CMD" to identify a
		special command, and DATA for the message body. The message is
		formatted and sent to all wizards on the mud. Incoming
		messages can be blocked by setting earmuffs != 1.
		This basic system relies on a function
		receive_channel_msg(string channel, string msg) being defined
		in all players who will receive the channel messages. It
		should pass on any received messages to player as long as
		'msg' != 0. It should return 1 if the player is listening to
		the specified channel and 0 otherwise.
		You will probably want to alter this module to incorporate it
		into your local channel system or to make it more
		user-friendly.

udp/man.c	Handles remote man requests. The DATA field should be a string
		containing the manual page or information.

udp/query.c	Change the EMAIL #define to yourself (or a relevant email).
