MUD Service Status Protocol

What is MSSP?

MSSP is a protocol that allows a crawler or MUD client to connect to a MUD and send a specific request, asking for information on the MUD. This information is returned in a specific format that can be easily parsed by programming languages and converted to JSON. MUD Listing sites can run an MSSP crawler which connects to all the games in their database and grabs information such as the engine the MUD is running on, how many people are online, etc.

How does the MudVerse MSSP Crawler work?

Our crawler runs roughly once an hour and will check the connectivity of each game in our database. It will also send an MSSP request to each game and log the results, making those results available on a games listing page. More details on how MSSP works can be found below.

Does My MUD Support MSSP?

If your game is on MudVerse, you can check the bottom of your game page. If the MSSP section is populated then your game supports MSSP. The MSSP crawler runs about once an hour, so if you recently submitted your game it may not have been crawled just yet. In that case Grapevine has an online MSSP checker which will let you check a MUDs MSSP response in real time.

Why Support MSSP?

Supporting MSSP allows for automated detection of your MUDs capabilities, and number of users online, which a number of websites have used in the past. If you ever used MudStats.com before it went offline, a lot of the data present on that website was crawled using MSSP. MudVerse has been crawling MUDs and making MSSP requests since November 2022. Tthe response from each MSSP request is stored in a database, and we have plans to provide graphs, and interesting ways to slice that data over time.

My MUD Doesn't (yet) Support MSSP

The TinTin++ Mud Client Website has a detailed breakdown of the protocol and how to implement it in a MUD. It also has the details on how a 'client' would request MSSP information from a MUD.

If we're being honest, implementing MSSP isn't the easiest thing in the world. There is an alternative. GrapeVine and MudVerse both offer a fallback for providing an MSSP response that doesn't involve having to muck with Telnet Command / Responses. If MudVerse / GrapeVine connect to your game and do not receive a response from their initial MSSP request, they will send the following text to your games login screen: mssp-request\n. The expected response looks like this:

MSSP-REPLY-START
NAME	Sindome
PLAYERS	52
UPTIME	1665871158
CODEBASE	LambdaMOO-ToastStunt 2.7.0_38
CREATED	1997
HELPFILES	664
OBJECTS	93487
ROOMS	7633
SKILLS	31
HOSTNAME	moo.sindome.org
PORT	5555
CONTACT	johnny@sindome.org
ICON	http://www.sindome.org/img/sindome-logo_32.png
LANGUAGE	English
LOCATION	United States of America
MINIMUM AGE	16
WEBSITE	https://www.sindome.org
FAMILY	MOO
GENRE	Science Fiction
GAMEPLAY	Roleplaying
STATUS	Live
GAMESYSTEM	Custom
SUBGENRE	Cyberpunk
AREAS	22
CLASSES	0
LEVELS	0
RACES	0
ANSI	1
GMCP	0
MCCP	0
MCP     0
MSDP	0
MSP	    0
MXP	    0
PUEBLO	0
UTF-8	0
VT100	0
XTERM COLORS	1
MSSP-REPLY-END

The response starts with MSSP-REPLY-START, with each option in the form of OPTION NAME\tOPTION VALUE\n. \t indicates a 'tab' character. \n indicates a newline character. It then ends with MSSP-REPLY-END

Another example: \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

The connection should remain open and behave as normal after the data transfer. So there might be a few plain text MUDs that use multiple tabs. As for the client, it can disconnect whenever it wants. The main reason the server shouldn't close the connection is because MSSP is intended to be used by Mud clients as well. Mudlet currently uses MSSP to automatically obtain the SSL port, though it only uses the telnet version.

As for the CODEBASE field, the spec states: Name of the codebase, eg Merc 2.1. You can report multiple codebases using the array format, make sure to report the current codebase last.

You do not need to include all of the options in your response. Please refer to the MSSP documentation for the required and optional fields.

MSSP Resources

  • The TinTin++ Mud Client Website has a detailed breakdown of the protocol and how to implement it in a MUD. It also has the details on how a 'client' would request MSSP information from a MUD.
  • Grapevine has an online MSSP checker which will let you check any MUDs MSSP response in realtime. Great for validating your MSSP response if you are planning to add it to your MUD.