play.legendsofterris.com ======================== .. raw:: html .. raw:: html

play.legendsofterris.com:31000

Protocol Support ---------------- MUD-specific protocols detected via MSSP flags or Telnet negotiation. - **MSSP**: :proto-no:`No` - **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:`f9a684964518051b... ` *This fingerprint is shared by 1 other server.* **Options offered by server**: ``CHARSET`` **Options requested from client**: ``NAWS``, ``TTYPE`` **Data source**: `f9a684964518051b/2c62e28c85898db0.json `_ The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata. .. code-block:: json { "server-probe": { "fingerprint": "f9a684964518051b", "fingerprint-data": { "offered-options": [ "CHARSET" ], "probed-protocol": "server", "refused-options": [ "BINARY", "COM_PORT", "ECHO", "EOR", "SGA", "STATUS" ], "requested-options": [ "NAWS", "TTYPE" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "", "banner_before_return": "\r\n\u001b[0m\u001b[0mHorizon Version: 2025.9.1 Date: Oct 4 2025 @ 11:15:31\r\n\r\nWelcome to Terris! A land of Adventure!\r\nGame engine coded by Doug Goldner, game design by Paul Barnett\r\nConcept, and all material herein is\r\nCopyright(c) 1995-2025 Online Games Company Ltd.\r\nAll rights reserved\r\n\r\n\r\nEnter your account name to login as an existing account\r\n \r\n\r\n\r\nAccount name? : ", "encoding": "ascii", "option_states": { "server_offered": { "0x5b": false, "GMCP": true }, "server_requested": { "NAWS": true, "TTYPE": true } }, "scan_type": "quick", "timing": { "probe": 0.5037453174591064, "total": 6.010498523712158 } } }, "sessions": [ { "connected": "2026-02-08T16:55:05.357681+00:00", "host": "play.legendsofterris.com", "ip": "45.8.103.242", "port": 31000 } ] } 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=play.legendsofterris.com port=31000 INFO client_base.py:174 Connected to DEBUG stream_writer.py:697 recv IAC WILL MXP DEBUG stream_writer.py:713 WILL MXP unsolicited DEBUG stream_writer.py:1869 handle_will(MXP) DEBUG stream_writer.py:3036 pending_option[DO + MXP] = True DEBUG stream_writer.py:938 send IAC DO MXP DEBUG stream_writer.py:3036 remote_option[MXP] = True DEBUG stream_writer.py:3036 pending_option[SB + MXP] = True DEBUG stream_writer.py:3036 pending_option[DO + MXP] = 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 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: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:689 begin sub-negotiation SB MXP DEBUG stream_writer.py:676 sub-negotiation cmd MXP SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + MXP] = False DEBUG stream_writer.py:1651 MXP: b'' DEBUG stream_writer.py:697 recv IAC DO NAWS DEBUG stream_writer.py:1739 handle_do(NAWS) DEBUG stream_writer.py:2306 send IAC SB NAWS (rows=25, cols=80) IAC SE 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 TTYPE DEBUG stream_writer.py:676 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:2031 [SB + TTYPE] unsolicited 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 client_base.py:460 negotiation complete after 2.00s. DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = True DEBUG stream_writer.py:938 send IAC DO BINARY DEBUG stream_writer.py:3036 pending_option[DO + SGA] = True DEBUG stream_writer.py:938 send IAC DO SGA DEBUG stream_writer.py:3036 pending_option[DO + ECHO] = True DEBUG stream_writer.py:938 send IAC DO ECHO DEBUG stream_writer.py:3036 pending_option[DO + STATUS] = True DEBUG stream_writer.py:938 send IAC DO STATUS DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = True DEBUG stream_writer.py:938 send IAC DO CHARSET DEBUG stream_writer.py:3036 pending_option[DO + EOR] = True DEBUG stream_writer.py:938 send IAC DO EOR DEBUG stream_writer.py:3036 pending_option[DO + COM_PORT_OPTION] = True DEBUG stream_writer.py:938 send IAC DO COM_PORT_OPTION DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = True DEBUG stream_writer.py:938 send IAC DO MSDP DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = True DEBUG stream_writer.py:938 send IAC DO MSSP DEBUG stream_writer.py:3036 pending_option[DO + MSP] = True DEBUG stream_writer.py:938 send IAC DO MSP DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = True DEBUG stream_writer.py:938 send IAC DO ZMP DEBUG stream_writer.py:3036 pending_option[DO + AARDWOLF] = True DEBUG stream_writer.py:938 send IAC DO AARDWOLF DEBUG stream_writer.py:3036 pending_option[DO + ATCP] = True DEBUG stream_writer.py:938 send IAC DO ATCP DEBUG stream_writer.py:697 recv IAC DONT BINARY DEBUG stream_writer.py:1832 handle_dont(BINARY) DEBUG stream_writer.py:3036 pending_option[WILL + BINARY] = False DEBUG stream_writer.py:3036 local_option[BINARY] = False DEBUG stream_writer.py:697 recv IAC DONT SGA DEBUG stream_writer.py:1832 handle_dont(SGA) DEBUG stream_writer.py:3036 pending_option[WILL + SGA] = False DEBUG stream_writer.py:3036 local_option[SGA] = False DEBUG stream_writer.py:697 recv IAC DONT ECHO DEBUG stream_writer.py:1832 handle_dont(ECHO) DEBUG stream_writer.py:3036 pending_option[WILL + ECHO] = False DEBUG stream_writer.py:3036 local_option[ECHO] = False DEBUG stream_writer.py:697 recv IAC DONT STATUS DEBUG stream_writer.py:1832 handle_dont(STATUS) DEBUG stream_writer.py:3036 pending_option[WILL + STATUS] = False DEBUG stream_writer.py:3036 local_option[STATUS] = False DEBUG stream_writer.py:697 recv IAC WILL CHARSET DEBUG stream_writer.py:1869 handle_will(CHARSET) DEBUG stream_writer.py:912 skip DO CHARSET; pending_option = True DEBUG stream_writer.py:3036 remote_option[CHARSET] = True DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = False DEBUG stream_writer.py:697 recv IAC DONT EOR DEBUG stream_writer.py:1832 handle_dont(EOR) DEBUG stream_writer.py:3036 pending_option[WILL + EOR] = False DEBUG stream_writer.py:3036 local_option[EOR] = False DEBUG stream_writer.py:697 recv IAC DONT COM_PORT_OPTION DEBUG stream_writer.py:1832 handle_dont(COM_PORT_OPTION) DEBUG stream_writer.py:3036 pending_option[WILL + COM_PORT_OPTION] = False DEBUG stream_writer.py:3036 local_option[COM_PORT_OPTION] = False DEBUG stream_writer.py:697 recv IAC DONT MSDP DEBUG stream_writer.py:1832 handle_dont(MSDP) DEBUG stream_writer.py:3036 pending_option[WILL + MSDP] = False DEBUG stream_writer.py:3036 local_option[MSDP] = False DEBUG stream_writer.py:697 recv IAC DONT MSSP DEBUG stream_writer.py:1832 handle_dont(MSSP) DEBUG stream_writer.py:3036 pending_option[WILL + MSSP] = False DEBUG stream_writer.py:3036 local_option[MSSP] = False DEBUG stream_writer.py:697 recv IAC DONT MSP DEBUG stream_writer.py:1832 handle_dont(MSP) DEBUG stream_writer.py:3036 pending_option[WILL + MSP] = False DEBUG stream_writer.py:3036 local_option[MSP] = False DEBUG stream_writer.py:697 recv IAC DONT ZMP DEBUG stream_writer.py:1832 handle_dont(ZMP) DEBUG stream_writer.py:3036 pending_option[WILL + ZMP] = False DEBUG stream_writer.py:3036 local_option[ZMP] = False DEBUG stream_writer.py:697 recv IAC DONT AARDWOLF DEBUG stream_writer.py:1832 handle_dont(AARDWOLF) DEBUG stream_writer.py:3036 pending_option[WILL + AARDWOLF] = False DEBUG stream_writer.py:3036 local_option[AARDWOLF] = False DEBUG stream_writer.py:697 recv IAC DONT ATCP DEBUG stream_writer.py:1832 handle_dont(ATCP) DEBUG stream_writer.py:3036 pending_option[WILL + ATCP] = False DEBUG stream_writer.py:3036 local_option[ATCP] = False INFO fingerprinting.py:737 new server fingerprint 4925039cb3609f91 INFO client_base.py:105 Connection closed to *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug play.legendsofterris.com 31000