Arachnos Intermud Network  
Get the TinTin++ Mud Client for Android, iOS, Linux, Mac OS X, and Windows.
Arachnos is an Intermud standard for sending messages between MUD servers utilizing MSDP. Instead of the classic approach where each MUD server connects to a central server, a spider is used instead which connects to each MUD using their existing connection and telnet handler. The MSDP data protocol is used to transmit structured data between the spider and MUD server.
Advantages of this approach are that if the spider's server goes down the spider is easily ran from somewhere else, and multiple spiders can co-exist providing different or enhanced services.

Implementing Arachnos Intermud Support

In order to announce Arachnos support the MUD server needs to implement MSSP and set the INTERMUD variable to Arachnos. See the MSSP specification for more information.

Identifying Spiders

When a spider connects and MSDP is negotiated it should send the ARACHNOS_ID variable holding a value between 1 and 2000000000. The ARACHNOS_ID value should remain the same for each MUD, but differ between MUDs, serving as both a form of identification and as a password. The MUD can use ARACHNOS_ID to differentiate between trusted and untrusted spiders, or ignore it, relying on existing ban controls to deal with disruptive spiders.

Arachnos developer channel

The developer channel is one of the two default channels defined in this standard. After the spider connects it should ask for the ARACHNOS_DEVEL variable to be reported. The MUD in turn should create a communication command that generates an ARACHNOS_DEVEL update when used, the spider in turn will echo the message to all MUDs it is connected to, including the originating MUD.
The ARACHNOS_DEVEL variable update send from the MUD to the spider should contain a table containing the MSG_USER and MSG_BODY variable, this would look as following.
IAC SB MSDP VAR "ARACHNOS_DEVEL" VAL TABLE_OPEN VAR "MSG_USER" VAL "Bubba" VAR "MSG_BODY" VAL "Hello Arachnos!" TABLE_CLOSE IAC SE
This message will be forwarded by the spider to each MUD server using (once again) the ARACHNOS_DEVEL variable containing a table containing the MUD_NAME, MUD_HOST, MUD_PORT, MSG_TIME, MSG_USER, and MSG_BODY variables. MSG_TIME will contain a unix time stamp as generated by time(NULL) in C. The MUD server should parse the table and display the message to developers.

Arachnos chat channel

The chat channel behaves identically to the developer channel described above, but is instead intended for players. The spider will ask for the ARACHNOS_CHAT variable to be reported, and respond to ARACHNOS_CHAT updates.

Arachnos Mudlist

The mudlist variable is send by the spider to allow MUDs to create a list of connected servers. MSSP is used to retreive the name, uptime, and number of players of each MUD. At regular intervals the spider will retreive updated information for a single MUD and broadcast it to all connected MUDs. MUDs in turn can add new mudlist entries to a list, and update existing entries.
The name of the mudlist variable is ARACHNOS_MUDLIST which contains a table which contains the MUD_NAME, MUD_HOST, MUD_PORT, MUD_UPTIME, MUD_UPDATE, and MUD_PLAYERS variables. MUD_UPDATE contains a Unix timestamp of the time the update was send, the MUD_UPTIME value is retreived through MSSP. An ARACHNOS_MUDLIST variable update would look as following:
IAC SB MSDP VAR "ARACHNOS_MUDLIST" VAL TABLE_OPEN VAR "MUD_NAME" VAL "Bubbledum" VAR "MUD_HOST" VAL "bubbles.com" VAR "MUD_PORT" VAL "23" VAR "MUD_UPTIME" VAL "1311624730" VAR "MUD_UPDATE" VAL "1311735841" VAR "MUD_PLAYERS" VAL "36" TABLE_CLOSE IAC SE

Getting Added

An MSSP crawler will automatically find your MUD if you're listed on TMC. If you want to be added more quickly to the Arachnos spider email me at mudclient@gmail.com.

Links


Codebases

Lowlands 1.5 - Ships with MTH 1.5 and working MSDP and Arachnos support.

Discussion

MSDP Discussion Reddit board
MSDP Discussion Discord channel


Plugins

MSDP Arachnos spider written in TinTin++.


Servers

lolamud.net:6969

Snippets

Scandum's MUD Telopt Handler - Handles CHARSET, EOR, MCCP2, MCCP3, MSDP, MSDP over GMCP, MSSP, MTTS, NAWS, NEW-ENVIRON, TTYPE, and xterm 256 colors.