Merentha ======== .. raw:: html .. raw:: html

mud.merentha.com:10000

Server Info ----------- - **Players online**: 16 [#scan]_ Protocol Support ---------------- MUD-specific protocols detected via MSSP flags or Telnet negotiation. - **MSSP**: :proto-yes:`Yes` (MSSP) - **GMCP**: :proto-negotiated:`Negotiated` - **MSDP**: :proto-no:`No` - **MCCP**: :proto-no:`No` - **MCCP2**: :proto-no:`No` - **MXP**: :proto-no:`No` - **MSP**: :proto-no:`No` - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ------------------ :ref:`dffd465a716e357a... ` *This fingerprint is unique to this server.* **Options requested from client**: ``LINEMODE``, ``NAWS``, ``NEW_ENVIRON``, ``SGA``, ``TTYPE`` **Data source**: `dffd465a716e357a/4d7e59c4c6cb7ced.json `_ The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata. .. code-block:: json { "server-probe": { "fingerprint": "dffd465a716e357a", "fingerprint-data": { "offered-options": [], "probed-protocol": "server", "refused-options": [ "AUTHENTICATION", "BINARY", "BM", "CHARSET", "COM_PORT", "DET", "ECHO", "ENCRYPT", "EOR", "FORWARD_X", "KERMIT", "NAMS", "NAOCRD", "NAOFFD", "NAOHTD", "NAOHTS", "NAOL", "NAOLFD", "NAOP", "NAOVTD", "NAOVTS", "PRAGMA_HEARTBEAT", "PRAGMA_LOGON", "RCP", "RCTE", "RSP", "SEND_URL", "SGA", "SSPI_LOGON", "STATUS", "SUPDUP", "SUPDUPOUTPUT", "SUPPRESS_LOCAL_ECHO", "TLS", "TN3270E", "TTYLOC", "VT3270REGIME", "X3PAD", "XAUTH" ], "requested-options": [ "LINEMODE", "NAWS", "NEW_ENVIRON", "SGA", "TTYPE" ] }, "session_data": { "banner_after_return": " (drawn to scale)\r\n\u001b[1m\u001b[35m |_| |_| \u001b[0;37;40m\u001b[33m _____ ________________________ ________\r\n\u001b[1m\u001b[35m | |_ \u001b[0;37;40m\u001b[33m \\ \\ \\ \\/ \\\r\n\u001b[1m\u001b[35m | __| \u001b[0;37;40m\u001b[33m / \\/ _\\/_ |\r\n\u001b[1m\u001b[35m | |_ \u001b[0;37;40m\u001b[33m | /\\ Fenris |\r\n\u001b[1m\u001b[35m | \\|_\u001b[0;37;40m\u001b[33m \\ _\\/_ |\r\n\u001b[1m\u001b[35m | '_ \\ \u001b[0;37;40m\u001b[33m\\ /\\ Cabeiri \\\r\n\u001b[1m\u001b[35m | | | | \u001b[0;37;40m\u001b[33m/ \\\r\n\u001b[1m\u001b[35m |_| |_| \u001b[0;37;40m\u001b[33m\\ _\\/_ /\r\n\u001b[1m\u001b[35m / _` |\u001b[0;37;40m\u001b[33m \\ Whitestorm /\\ \\\r\n\u001b[1m\u001b[35m | (_| |\u001b[0;37;40m\u001b[33m / /\r\n\u001b[1m\u001b[35m ", "banner_before_return": "\r\n\r\n\u001b[1m\u001b[35m _ __ ___\r\n\u001b[1m\u001b[35m | '_ ` _ \\ \u001b[0;37;40m\u001b[32mA land where magical and non-magical combat combine\r\n\u001b[1m\u001b[35m | | | | | | \u001b[0;37;40m\u001b[32mto give each adventurer an experience they will never\r\n\u001b[1m\u001b[35m |_| |_| |_| \u001b[0;37;40m\u001b[32mforget. Be a warrior and charge into battle, or\r\n\u001b[1m\u001b[35m / _ \\ \u001b[0;37;40m\u001b[32msummon the power of a necromancer and cast a storm\r\n\u001b[1m\u001b[35m | __/ \u001b[0;37;40m\u001b[32mof ice over\u001b[1m\u001b[35m_\u001b[0;37;40m\u001b[32mthe\u001b[1m\u001b[35m_\u001b[0;37;40m\u001b[32mmost deadly of monsters.\r\n\u001b[1m\u001b[35m _ __ ___ _\\___|__ ___ _ __ | |_| |__ __ _\r\n\u001b[1m\u001b[35m | '_ ` _ \\ / _ \\ '__/ _ \\ '_ \\| __| '_ \\ / _` |\r\n\u001b[1m\u001b[35m | | | | | | __/ | | __/ | | | |_| | | | (_| |\r\n\u001b[1m\u001b[35m |_| |_| |_|\\___|_|_ \\___|_| |_|\\__|_| |_|\\__,_|\r\n\u001b[1m\u001b[35m / _ \\ \r\n\u001b[1m\u001b[35m | __/ \r\n\u001b[1m\u001b[35m \\___|_ \r\n\u001b[1m\u001b[35m | '_ \\\r\n\u001b[1m\u001b[35m | | | | \u001b[0;37;40m\u001b[33mMap of the realms of Merentha", "encoding": "ascii", "mssp": { "NAME": "Merentha", "PLAYERS": "16", "UPTIME": "1769621719" }, "option_states": { "environ_requested": [], "server_offered": { "0x56": false, "0x5d": false, "GMCP": true, "MSSP": true }, "server_requested": { "0x5b": false, "LINEMODE": true, "NAWS": true, "NEW_ENVIRON": true, "SGA": true, "TTYPE": true } }, "timing": { "probe": 0.5044598579406738, "total": 1.0054731369018555 } } }, "sessions": [ { "connected": "2026-02-08T06:20:49.944366+00:00", "host": "mud.merentha.com", "ip": "50.22.147.227", "port": 10000 } ] } Connection Log -------------- Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server. .. code-block:: text DEBUG client.py:770 Fingerprint client: host=mud.merentha.com port=10000 INFO client_base.py:174 Connected to DEBUG stream_writer.py:697 recv IAC DO LINEMODE DEBUG stream_writer.py:1739 handle_do(LINEMODE) DEBUG stream_writer.py:3036 pending_option[WILL + LINEMODE] = True DEBUG stream_writer.py:938 send IAC WILL LINEMODE DEBUG stream_writer.py:3036 pending_option[SB + LINEMODE] = True DEBUG stream_writer.py:3036 local_option[LINEMODE] = True DEBUG stream_writer.py:3036 pending_option[WILL + LINEMODE] = False DEBUG stream_writer.py:689 begin sub-negotiation SB LINEMODE DEBUG stream_writer.py:676 sub-negotiation cmd LINEMODE SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + LINEMODE] = False DEBUG stream_writer.py:2504 recv IAC SB LINEMODE LINEMODE-MODE b'\x03' IAC SE DEBUG stream_writer.py:1246 set Linemode DEBUG stream_writer.py:1249 send IAC SB LINEMODE LINEMODE-MODE IAC SE DEBUG stream_writer.py:697 recv IAC DO SGA DEBUG stream_writer.py:1739 handle_do(SGA) DEBUG stream_writer.py:3036 pending_option[WILL + SGA] = True DEBUG stream_writer.py:938 send IAC WILL SGA DEBUG stream_writer.py:3036 local_option[SGA] = True DEBUG stream_writer.py:3036 pending_option[WILL + SGA] = False DEBUG stream_writer.py:697 recv IAC DO TTYPE DEBUG stream_writer.py:1739 handle_do(TTYPE) DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = True DEBUG stream_writer.py:938 send IAC WILL TTYPE DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = True DEBUG stream_writer.py:3036 local_option[TTYPE] = True DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = False DEBUG stream_writer.py:697 recv IAC DO NAWS DEBUG stream_writer.py:1739 handle_do(NAWS) DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = True DEBUG stream_writer.py:938 send IAC WILL NAWS DEBUG stream_writer.py:2306 send IAC SB NAWS (rows=25, cols=80) IAC SE DEBUG stream_writer.py:3036 local_option[NAWS] = True DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = False DEBUG stream_writer.py:697 recv IAC DO NEW_ENVIRON DEBUG stream_writer.py:1739 handle_do(NEW_ENVIRON) DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = True DEBUG stream_writer.py:938 send IAC WILL NEW_ENVIRON DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = True DEBUG stream_writer.py:3036 local_option[NEW_ENVIRON] = True DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = False DEBUG stream_writer.py:697 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:713 WILL MCCP2_COMPRESS unsolicited DEBUG stream_writer.py:1869 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:3036 remote_option[MCCP2_COMPRESS] = False DEBUG stream_writer.py:938 send IAC DONT MCCP2_COMPRESS WARNING stream_writer.py:1974 Unhandled: WILL MCCP2_COMPRESS. DEBUG stream_writer.py:697 recv IAC DO MXP DEBUG stream_writer.py:1739 handle_do(MXP) DEBUG stream_writer.py:3036 pending_option[WILL + MXP] = True DEBUG stream_writer.py:938 send IAC WILL MXP DEBUG stream_writer.py:3036 pending_option[SB + MXP] = True DEBUG stream_writer.py:3036 local_option[MXP] = True DEBUG stream_writer.py:3036 pending_option[WILL + MXP] = False DEBUG stream_writer.py:697 recv IAC WILL MSSP DEBUG stream_writer.py:713 WILL MSSP unsolicited DEBUG stream_writer.py:1869 handle_will(MSSP) DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = True DEBUG stream_writer.py:938 send IAC DO MSSP DEBUG stream_writer.py:3036 remote_option[MSSP] = True DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = False DEBUG stream_writer.py:697 recv IAC WILL ZMP DEBUG stream_writer.py:713 WILL ZMP unsolicited DEBUG stream_writer.py:1869 handle_will(ZMP) DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = True DEBUG stream_writer.py:938 send IAC DO ZMP DEBUG stream_writer.py:3036 remote_option[ZMP] = True DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = False DEBUG stream_writer.py:697 recv IAC WILL GMCP DEBUG stream_writer.py:713 WILL GMCP unsolicited DEBUG stream_writer.py:1869 handle_will(GMCP) DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = True DEBUG stream_writer.py:938 send IAC DO GMCP DEBUG stream_writer.py:3036 remote_option[GMCP] = True DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = False DEBUG stream_writer.py:689 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:676 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = False DEBUG stream_writer.py:2203 recv TTYPE SEND: b'' DEBUG stream_writer.py:2214 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG stream_writer.py:689 begin sub-negotiation SB NEW_ENVIRON DEBUG stream_writer.py:676 sub-negotiation cmd NEW_ENVIRON SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = False DEBUG stream_writer.py:2249 recv NEW_ENVIRON SEND (all) DEBUG stream_writer.py:2272 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM='' DEBUG stream_writer.py:689 begin sub-negotiation SB MSSP DEBUG stream_writer.py:676 sub-negotiation cmd MSSP SE completion byte DEBUG stream_writer.py:2031 [SB + MSSP] unsolicited DEBUG stream_writer.py:1642 MSSP: {'NAME': 'Merentha', 'PLAYERS': '13', 'UPTIME': '1769621719'} DEBUG client_base.py:463 negotiation failed after 4.00s. DEBUG client_base.py:470 failed-reply: 'SB MXP' DEBUG client_base.py:88 EOF from server, closing. INFO client_base.py:105 Connection closed to INFO fingerprinting.py:737 new server fingerprint 3b294c266f373a74 *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug mud.merentha.com 10000 .. [#scan] measured 2026-02-08 at 06:20 UTC