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.
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.
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.
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.
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 email@example.com 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.