Why supporting MSSP ?
But what is this MUD Server Status Protocol (MSSP) ? A simple introduction from the official site:
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 way you can have your status and statistics automatically update on sites like MUDStats.com
Let’s add that feature to my MOO
MSSP is implemented as a Telnet option. It’s another way of saying that you would need a client and server that implemented it too. But we don’t want to hack the server code do we ?
Fortunately the protocol also has a plaintext version! And it’s really simple and straightforward. Right after a new connection to your server, if you receive a MSSP-REQUEST command, just respond with the appropriate text lines with the status information.
Assuming you have a LambdaMOO based database just create the command on $login
@verb $login:MSSP-REQUEST this none this "rxd"
and program it:
@program $login:MSSP-REQUEST if (caller != #0) return E_PERM; endif NAME = $network.MOO_name; PLAYERS = length(connected_players()); UPTIME = $last_restart_time; tab = $string_utils.tab; notify(player, ""); notify(player, "MSSP-REPLY-START"); "Required"; notify(player, tostr("NAME", tab, NAME)); notify(player, tostr("PLAYERS", tab, PLAYERS)); notify(player, tostr("UPTIME", tab, UPTIME)); notify(player, "MSSP-REPLY-END"); .
These are just the required fields. There are many variables you should implement.
Conclusion
Yes, that’s just like it. So simple it can’t be true. You now have a MSSP aware MOO world.
If you want to see more variables on a real life server just telnet moosaico.com 7777
and issue the MSSP-REQUEST
command.