logo
Home
News
Documentation
Who is online

Intermud 3
Downloads

Username:

Password:


Intermud 3 irn v1 specification

This protocol was developed by Tim@TimMUD and Cratylus@Dead Souls based on the notes about irn in the original Intermud 3 specification. It is a fully connected network (every router connects to every other router) and is currently in use by the *yatmim, *wpr, *i4 and *dalet routers.

Packet specifications:

irn-startup-req
irn-mudlist-req
irn-mudlist-delta
irn-chanlist-delta
irn-data
irn-ping
irn-shutdown

  • There also exists an irn-mudlist-altered packet that is identical to the irn-mudlist-delta packet.
  • There also exists an irn-chanlist-altered packet that is identical to the irn-chanlist-delta packet.

Startup

When an irn router starts, it tries to connect to all other known irn routers. When an outbound (mudmode) connection is established, the router sends an irn-startup-req, followed by its complete mud and channel lists (as irn mud/chanlist delta packets).
The receiving router validates the startup request and if valid, sends its complete mud and channel lists as irn mud/chanlist delta packets.

Channels

Every router is responsible for delivering channel messages to muds directly connected to it. Channel messages received from directly connected muds should be forwarded to every known irn router. Channel messages received from another irn router should only be delivered to directly connected muds.
Routers can change the channel names in a channel message sent to/ received from another irn router.

When a router receives an administrative command for a channel, it should verify if it is allowed, execute it and forward it to other routers (by means of an irn-chanlist-delta packet). This includes adding/removing channels, listeners, banned and allowed muds.

Code

The code used by *i4 and *yatmim is available from the Dead Souls website/
The code used by *wpr is available as part of the dgd networking package at svn://wotf.org/dgd-devel-net/I3/router

Notes:

  • This specification was written based on the current implementation, whenever the spec and the implementation differ, the implementation is right.
  • irn mud and chanlist ids are sent and stored by the current implementation, but are not actually used in any way.
  • The intermud 3 version used by a mud is communicated between routers, but only has any use to the router the mud is directly connected to.
aidil@Way of the Force
This page was generated by WOTF Displaylib/html 1.0