| Mud Server Status Protocol |
|
MSSP • Protocol • Variables • Links MSSP Crawler MSSP News |
| MUD listings are often out dated and lack accurate information. Verifying that the one submitting a new MUD is a member of the MUD's administration can be quite tedious as well. |
| The MUD Server Status Protocol seeks to address these issues by providing a transparant protocol for MUD crawlers to gather detailed information about a MUD, including dynamic information like boot time and the current amount of online players. It also makes submitting a new mud entry very simple because it only requires a player or admin to fill in the hostname and port. |
| This document provides a technical description of the MSSP protocol. |
| The MSSP Protocol |
| MSSP is implemented as a Telnet option RFC854, RFC855. The server and client negotiate the use of MSSP as they would any other telnet option. Once agreement has been reached on the use of the option, option sub-negotiation is used to send information about the server to the client. |
| Server Commands |
| IAC WILL MSSP indicates the server supports MSSP. |
| Client Commands |
| IAC DO MSSP   indicates the client supports MSSP. IAC DONT MSSP indicates the client doesn't support MSSP. |
| Handshake |
| When a client connects to a server the server should send IAC WILL MSSP. The client should respond with either IAC DO MSSP or IAC DONT MSSP. If the server receives IAC DO MSSP it should respond with: IAC SB MSSP MSSP_VAR "variable" MSSP_VAL "value" MSSP_VAR "variable" MSSP_VAL "value" IAC SE. |
| The quote characters mean that the encased word is a string, the quotes themselves should not be send. |
| MSSP definitions |
| MSSP 70 MSSP_VAR 1 MSSP_VAL 2 |
| Example MSSP handshake |
| server - IAC WILL MSSP client - IAC DO MSSP server - IAC SB MSSP MSSP_VAR "PLAYERS" MSSP_VAL "52" MSSP_VAR "UPTIME" MSSP_VAL "1234567890" IAC SE |
| Variables and Values |
| For ease of parsing, variables and values cannot contain the MSSP_VAL, MSSP_VAR, IAC, SE, or NUL byte. The value can be an empty string unless a numeric value is expected in which case the default value should be 0. If your Mud can't calculate one of the numeric values for the World variables you can use "-1" to indicate that the data is not available. If a list of responses is provided try to pick from the list, unless "Etc" is specified, which means it's open ended. |
| The same variable can be send more than once with different values, in which case the last reported value should be used as the default value. It is up to the crawler to decide how to exactly process multiple values. It's also possible to attach several values to a single variable by using MSSP_VAL more than once, with the default value reported last. This would look as following: |
| IAC SB MSSP MSSP_VAR "PORT" MSSP_VAL "80" MSSP_VAL "23" MSSP_VAL "3000" MSSP_VAR "CREATED" MSSP_VAL "1996" IAC SE |
| The quote characters mean that the encased word is a string, the quotes themselves should not be send. |
| MSSP Plaintext |
| Since it's not feasible for every mud to implement telopt negotiations a plaintext alternative is available. Whenever a new connection enters the command: MSSP-REQUEST a Mud supporting MSSP Plaintext should send the following: |
| \r\nMSSP-REPLY-START\r\nvariable\tvalue\r\nvariable\tvalue\r\nMSSP-REPLY-END\r\n |
| If a variable has multiple values you can use multiple tabs: |
| \r\nMSSP-REPLY-START\r\nvariable\tvalue\tvalue\r\nMSSP-REPLY-END\r\n |
| Official MSSP Variables |
| Required |
NAME Name of the MUD. PLAYERS Current number of logged in players. UPTIME Unix time value of the startup time of the MUD. |
| Generic |
CRAWL DELAY Preferred minimum number of hours between crawls. Send -1
to use the crawler's default.
HOSTNAME Current or new hostname.
PORT Current or new port number. Can be used multiple times,
most important port last.
CODEBASE Name of the codebase, eg Merc 2.1
CONTACT Email address for contacting the MUD.
CREATED Year the MUD was created.
ICON URL to a square image in bmp, png, jpg, or gif format.
The icon should be equal or larger than 32x32 pixels,
with a filesize no larger than 32KB.
IP Current or new IP address.
LANGUAGE Name of the language used, eg German or English
LOCATION Full English name of the country where the server is
located, using ISO 3166.
MINIMUM AGE Current minimum age requirement, use 0 if not
applicable.
WEBSITE URL to MUD website. |
| Categorization |
FAMILY AberMUD, CoffeeMUD, DikuMUD, LPMud,
MajorMUD, MOO, Mordor, Rapture,
TinyMUD, Custom.
GENRE Adult, Fantasy, Historical, Horror,
Modern, None, Science Fiction
GAMEPLAY Adventure, Educational, Hack and Slash,
None, Player versus Player, Roleplaying,
Simulation, Social, Strategy
STATUS Alpha, Closed Beta, Open Beta, Live |
GAMESYSTEM d20, D&D, Etc. Use Custom if using a
custom gamesystems. Use None if not available.
INTERMUD AberChat, I3, IMC2, MudNet, Etc.
Can be used multiple times if you support several
protocols, most important protocol last. Leave empty
if no Intermud protocol is supported.
SUBGENRE LASG, Medieval Fantasy, World War II,
Frankenstein, Cyberpunk, Dragonlance, Etc.
Use None if not available. |
| World |
AREAS Current number of areas. HELPFILES Current number of help files. MOBILES Current number of unique mobiles. OBJECTS Current number of unique objects. ROOMS Current number of unique rooms, use 0 if roomless. CLASSES Number of player classes, use 0 if classless. LEVELS Number of player levels, use 0 if level-less. RACES Number of player races, use 0 if raceless. SKILLS Number of player skills, use 0 if skill-less. |
| Protocols |
ANSI Supports ANSI colors ? 1 or 0 MCCP Supports MCCP ? 1 or 0 MCP Supports MCP ? 1 or 0 MSP Supports MSP ? 1 or 0 MXP Supports MXP ? 1 or 0 PUEBLO Supports Pueblo ? 1 or 0 VT100 Supports VT100 interface ? 1 or 0 XTERM 256 COLORS Supports xterm 256 colors ? 1 or 0 |
| Commercial |
PAY TO PLAY Pay to play ? 1 or 0 PAY FOR PERKS Pay for perks ? 1 or 0 |
| Hiring |
HIRING BUILDERS Game is hiring builders ? 1 or 0 HIRING CODERS Game is hiring coders ? 1 or 0 |
| Links |
| If you want a link added, or added MSSP to your Mud, you can email me at mudclient@gmail.com. I'll add muds that correctly report a substantial section of the official variables to the MSSP crawler. |
| Clients (for debugging MSSP support) |
| GnomeMud Mud Client - Requires compilation with --enable-debug-logger=TRUE |
| TinTin++ Mud Client - Requires using '#config {debug telnet} on' to display MSSP output from a MUD server. |
| Codebases |
| AckFUSS - As of version 4.4.0. |
| FluffOS - As of version 2.16. |
| NakedMud - As of version 3.8. |
| PennMUSH - As of version 1.8.3p9. (private branch) |
| SmaugFUSS - As of version 1.9. (Plaintext MSSP implementation) |
| SWFotE FUSS - As of version 1.4. (Plaintext MSSP implementation) |
| SWR FUSS - As of version 1.3. (Plaintext MSSP implementation) |
| WickedMUD - As of version 1.0. |
| Crawlers |
| Azereth Mudcrawler |
| MSSP Mud Crawler |
| Directories |
| MudStats.com |
| MudBytes.net |
| Extensions |
| MudBytes Extended Variable list |
| Telnet Servers |
|
apothica.mine.nu:5150 azereth.game-host.org:6464 carlnet.ee:4000 carnival.slayn.net:4123 chaoticushosting.com:1234 cruentus.genesismuds.com:7070 discworld.atuin.net:4242 kingdomsofahln.com:7777 lbom.game-host.org:8888 materiamagica.com:23 mush.pennmush.org:4201 nanvaent.org:23 patrickmn.com:5000 pokemonadventures.game-host.org:4202 rlmud.org:5001 mud.rohonline.net:3333 sandstorm.arthmoor.com:9696 slackhalla.org:4321 slothmud.org:6101 128.148.32.193:4000 202.134.238.80:7777 218.215.27.221:6666 |
| Plaintext Servers |
|
6dragons.org:4000 forbiddenfire.com 4567 godwars2.org:3000 gungfu2.net:8000 hellmoo.org:7777 imud.net:4242 legendsofthejedi.com:5656 maidendesmodus.com:4000 malevolentwhispers.org:1070 mg.mud.de:23 mudsite.com:2500 swgi.org:8060 t-n-k-games.com:1600 trigunmud.com:4567 www.landsofdraknor.net |
| Snippets |
| MUD Telopt Handler - Handles MCCP, MSSP, NAWS, and TTYPE. |
| PennMUSH MSSP - MSSP Patch for the PennMUSH codebase. |
| SMAUG MSSP Plaintext - Plaintext MSSP implementation for the SMAUG codebase. |