104.239.142.24 (towers.t2tmud.org) ================================== .. _ip_104_239_142_24_towers_t2tmud_org_6667: towers.t2tmud.org:6667 ---------------------- **Connection Banner:** .. image:: /_static/banners/banner_de4249c6e62f.png :alt: _​____ _​____ __\| \|___\| \| ^^ . . . \| _/ \\ . . ^ . \| \|_\| \|_\| \| \| / \\ /\\ . ^^^ \\ / / _/ \\_ . /^^\| /~~~\\_ \| \| / / \\_ /^​^^^\\__ . /~ ^^^ \\ \| \|_\| \| / _/ \\ \|~ _ \\ _/ \\_ \| \| / / \\/ /_\\ \\ /~ \\\| \| \| __/ _/ _/ _-\\ \\/ \| \| __ __ \| _/ / / \\ / \| \| \| \| \| \| \| / The / / \\/ __/ \| \| \| \| \|/ Two / _/ \| \| \| \| \| Towers _/ Celebrating / \| \| \| \| \| __/ 31 Years Online! ==\| \|__\| \|__\| \| _/ =​==__\| \| _/ =​==== / \| / =​===== = _/ est. 1994 \| ___/ =​=== == == / \| __/ =​==== / The Two Towers is running the TMI-2 1.1.1 mudlib on MudOS v22pre8 Please enter the name 'new' if you are new to The Two Towers. Your name? Sorry, you must supply a name for your character. Your name? :class: ansi-banner :width: 632px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html Server Info ~~~~~~~~~~~ - **Server Location**: 🇺🇸 United States (GeoIP) 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-negotiated:`Negotiated` - **MXP**: :proto-no:`No` - **MSP**: :proto-no:`No` - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`dcd8e96ab95bbf4a ` *This fingerprint is shared by 2 other servers.* **Options offered by server**: ``GMCP``, ``MCCP2`` **Options requested from client**: ``NAWS``, ``TTYPE`` The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata. .. raw:: html
Show JSON .. code-block:: json { "server-probe": { "fingerprint": "dcd8e96ab95bbf4a", "fingerprint-data": { "offered-options": [ "GMCP", "MCCP2" ], "probed-protocol": "server", "refused-options": [ "AARDWOLF", "ATCP", "BINARY", "CHARSET", "COM_PORT", "ECHO", "EOR", "MCCP3", "MSDP", "MSP", "MSSP", "MXP", "SGA", "STATUS", "ZMP" ], "requested-options": [ "NAWS", "TTYPE" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "\r\nSorry, you must supply a name for your character.\r\n\r\nYour name? ", "banner_before_return": " _____ _____\r\n__| |___| | ^^ . . . \r\n | _/ \\ . . ^ . | |_| |_| |\r\n | / \\ /\\ . ^^^ \\ /\r\n / _/ \\_ . /^^| /~~~\\_ | | \r\n / / \\_ /^^^^\\__ . /~ ^^^ \\ | |_| | \r\n / _/ \\ |~ _ \\ _/ \\_ | | \r\n / / \\/ /_\\ \\ /~ \\| |\r\n | __/ _/ _/ _-\\ \\/ | | \r\n __ __ | _/ / / \\ / | | \r\n| | | | | / The / / \\/ __/ \r\n| | | | |/ Two / _/ \r\n| | | | | Towers _/ Celebrating / \r\n| | | | | __/ 31 Years Online! ==| \r\n|__| |__| | _/ ===__| \r\n | _/ ===== / \r\n | / ====== = _/ est. 1994 \r\n | ___/ ==== == == / \r\n | __/ ===== / \r\n\r\nThe Two Towers is running the TMI-2 1.1.1 mudlib on MudOS v22pre8\r\n\r\nPlease enter the name 'new' if you are new to The Two Towers.\r\nYour name? ", "dsr_replies": 0, "dsr_requests": 0, "encoding": "ascii", "option_states": { "server_offered": { "0x55": false, "GMCP": true, "MCCP2": true }, "server_requested": { "NAWS": true, "TTYPE": true } }, "scan_type": "quick", "timing": { "probe": 0.5039682388305664, "total": 11.060720920562744 } } }, "sessions": [ { "connected": "2026-04-05T18:56:38.071599+00:00", "host": "towers.t2tmud.org", "ip": "104.239.142.24", "port": 6667 }, { "connected": "2026-04-07T06:57:28.616092+00:00", "host": "towers.t2tmud.org", "ip": "104.239.142.24", "port": 6667 } ] } .. raw:: html
Connection Log ~~~~~~~~~~~~~~ Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server. *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug towers.t2tmud.org 6667 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1200 Fingerprint client: host=towers.t2tmud.org port=6667 INFO client_base.py:190 Connected to DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True DEBUG stream_writer.py:1024 send IAC WILL ATCP DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSSP DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True DEBUG stream_writer.py:1024 send IAC WILL MXP DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSP DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True DEBUG stream_writer.py:1024 send IAC WILL MSDP DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True DEBUG stream_writer.py:1024 send IAC WILL GMCP DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True DEBUG stream_writer.py:1024 send IAC DO ATCP DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True DEBUG stream_writer.py:1024 send IAC DO MSSP DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True DEBUG stream_writer.py:1024 send IAC DO MXP DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True DEBUG stream_writer.py:1024 send IAC DO MSDP DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC DO AARDWOLF DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True DEBUG stream_writer.py:1024 send IAC DO GMCP DEBUG stream_writer.py:773 recv IAC DO TTYPE DEBUG stream_writer.py:1887 handle_do(TTYPE) DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = True DEBUG stream_writer.py:1024 send IAC WILL TTYPE DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = True DEBUG stream_writer.py:3384 local_option[TTYPE] = True DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = False DEBUG stream_writer.py:773 recv IAC DO NAWS DEBUG stream_writer.py:1887 handle_do(NAWS) DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = True DEBUG stream_writer.py:1024 send IAC WILL NAWS DEBUG stream_writer.py:2507 send IAC SB NAWS (rows=25, cols=80) IAC SE DEBUG stream_writer.py:3384 local_option[NAWS] = True DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP_COMPRESS DEBUG stream_writer.py:789 WILL MCCP_COMPRESS unsolicited DEBUG stream_writer.py:2045 handle_will(MCCP_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP_COMPRESS] = False DEBUG stream_writer.py:1024 send IAC DONT MCCP_COMPRESS DEBUG stream_writer.py:2182 Unhandled: WILL MCCP_COMPRESS. DEBUG stream_writer.py:773 recv IAC WILL GMCP DEBUG stream_writer.py:2045 handle_will(GMCP) DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True DEBUG stream_writer.py:3384 remote_option[GMCP] = True DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Supports.Set IAC SE INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info 1', 'Comm 1', 'Comm.Channel 1', 'Group 1'] DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled). DEBUG stream_writer.py:767 begin sub-negotiation SB MCCP2_COMPRESS DEBUG stream_writer.py:754 sub-negotiation cmd MCCP2_COMPRESS SE completion byte DEBUG stream_writer.py:2238 [SB + MCCP2_COMPRESS] unsolicited DEBUG stream_writer.py:3232 MCCP2 activated DEBUG client_base.py:483 MCCP2 decompression started (server→client) DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = False DEBUG stream_writer.py:2404 recv TTYPE SEND: b'' DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG client_base.py:534 negotiation failed after 4.00s. DEBUG client_base.py:540 failed-reply: 'WILL ATCP, WILL MSSP, WILL MXP, WILL MSP, WILL ZMP, WILL MCCP3_COMPRESS, WILL MCCP2_COMPRESS, WILL MSDP, WILL AARDWOLF, WILL GMCP, DO ATCP, DO MSSP, DO MXP, DO MSP, DO ZMP, DO MCCP3_COMPRESS, DO MSDP, DO AARDWOLF' DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled). DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True DEBUG stream_writer.py:1024 send IAC DO BINARY DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True DEBUG stream_writer.py:1024 send IAC DO SGA DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True DEBUG stream_writer.py:1024 send IAC DO ECHO DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True DEBUG stream_writer.py:1024 send IAC DO STATUS DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True DEBUG stream_writer.py:1024 send IAC DO CHARSET DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True DEBUG stream_writer.py:1024 send IAC DO EOR DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True DEBUG stream_writer.py:998 skip DO MSP; pending_option = True DEBUG stream_writer.py:998 skip DO MXP; pending_option = True DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True DEBUG fingerprinting.py:849 connection for server fingerprint dcd8e96ab95bbf4a INFO client_base.py:122 Connection closed to .. raw:: html
.. _ip_104_239_142_24_towers_t2tmud_org_8080: towers.t2tmud.org:8080 ---------------------- **Connection Banner:** .. image:: /_static/banners/banner_de4249c6e62f.png :alt: _​____ _​____ __\| \|___\| \| ^^ . . . \| _/ \\ . . ^ . \| \|_\| \|_\| \| \| / \\ /\\ . ^^^ \\ / / _/ \\_ . /^^\| /~~~\\_ \| \| / / \\_ /^​^^^\\__ . /~ ^^^ \\ \| \|_\| \| / _/ \\ \|~ _ \\ _/ \\_ \| \| / / \\/ /_\\ \\ /~ \\\| \| \| __/ _/ _/ _-\\ \\/ \| \| __ __ \| _/ / / \\ / \| \| \| \| \| \| \| / The / / \\/ __/ \| \| \| \| \|/ Two / _/ \| \| \| \| \| Towers _/ Celebrating / \| \| \| \| \| __/ 31 Years Online! ==\| \|__\| \|__\| \| _/ =​==__\| \| _/ =​==== / \| / =​===== = _/ est. 1994 \| ___/ =​=== == == / \| __/ =​==== / The Two Towers is running the TMI-2 1.1.1 mudlib on MudOS v22pre8 Please enter the name 'new' if you are new to The Two Towers. Your name? Sorry, you must supply a name for your character. Your name? :class: ansi-banner :width: 632px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html Server Info ~~~~~~~~~~~ - **Server Location**: 🇺🇸 United States (GeoIP) 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-negotiated:`Negotiated` - **MXP**: :proto-no:`No` - **MSP**: :proto-no:`No` - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`dcd8e96ab95bbf4a ` *This fingerprint is shared by 2 other servers.* **Options offered by server**: ``GMCP``, ``MCCP2`` **Options requested from client**: ``NAWS``, ``TTYPE`` The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata. .. raw:: html
Show JSON .. code-block:: json { "server-probe": { "fingerprint": "dcd8e96ab95bbf4a", "fingerprint-data": { "offered-options": [ "GMCP", "MCCP2" ], "probed-protocol": "server", "refused-options": [ "AARDWOLF", "ATCP", "BINARY", "CHARSET", "COM_PORT", "ECHO", "EOR", "MCCP3", "MSDP", "MSP", "MSSP", "MXP", "SGA", "STATUS", "ZMP" ], "requested-options": [ "NAWS", "TTYPE" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "\r\nSorry, you must supply a name for your character.\r\n\r\nYour name? ", "banner_before_return": " _____ _____\r\n__| |___| | ^^ . . . \r\n | _/ \\ . . ^ . | |_| |_| |\r\n | / \\ /\\ . ^^^ \\ /\r\n / _/ \\_ . /^^| /~~~\\_ | | \r\n / / \\_ /^^^^\\__ . /~ ^^^ \\ | |_| | \r\n / _/ \\ |~ _ \\ _/ \\_ | | \r\n / / \\/ /_\\ \\ /~ \\| |\r\n | __/ _/ _/ _-\\ \\/ | | \r\n __ __ | _/ / / \\ / | | \r\n| | | | | / The / / \\/ __/ \r\n| | | | |/ Two / _/ \r\n| | | | | Towers _/ Celebrating / \r\n| | | | | __/ 31 Years Online! ==| \r\n|__| |__| | _/ ===__| \r\n | _/ ===== / \r\n | / ====== = _/ est. 1994 \r\n | ___/ ==== == == / \r\n | __/ ===== / \r\n\r\nThe Two Towers is running the TMI-2 1.1.1 mudlib on MudOS v22pre8\r\n\r\nPlease enter the name 'new' if you are new to The Two Towers.\r\nYour name? ", "dsr_replies": 0, "dsr_requests": 0, "encoding": "ascii", "option_states": { "server_offered": { "0x55": false, "GMCP": true, "MCCP2": true }, "server_requested": { "NAWS": true, "TTYPE": true } }, "scan_type": "quick", "timing": { "probe": 0.5034959316253662, "total": 11.056902885437012 } } }, "sessions": [ { "connected": "2026-04-05T18:46:08.581200+00:00", "host": "towers.t2tmud.org", "ip": "104.239.142.24", "port": 8080 }, { "connected": "2026-04-07T06:51:30.158494+00:00", "host": "towers.t2tmud.org", "ip": "104.239.142.24", "port": 8080 } ] } .. raw:: html
Connection Log ~~~~~~~~~~~~~~ Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server. *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug towers.t2tmud.org 8080 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1200 Fingerprint client: host=towers.t2tmud.org port=8080 INFO client_base.py:190 Connected to DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True DEBUG stream_writer.py:1024 send IAC WILL ATCP DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSSP DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True DEBUG stream_writer.py:1024 send IAC WILL MXP DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True DEBUG stream_writer.py:1024 send IAC WILL MSDP DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True DEBUG stream_writer.py:1024 send IAC WILL GMCP DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSP DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC DO AARDWOLF DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True DEBUG stream_writer.py:1024 send IAC DO ATCP DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True DEBUG stream_writer.py:1024 send IAC DO MSSP DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True DEBUG stream_writer.py:1024 send IAC DO MXP DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True DEBUG stream_writer.py:1024 send IAC DO MSDP DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True DEBUG stream_writer.py:1024 send IAC DO GMCP DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP DEBUG stream_writer.py:773 recv IAC DO TTYPE DEBUG stream_writer.py:1887 handle_do(TTYPE) DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = True DEBUG stream_writer.py:1024 send IAC WILL TTYPE DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = True DEBUG stream_writer.py:3384 local_option[TTYPE] = True DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = False DEBUG stream_writer.py:773 recv IAC DO NAWS DEBUG stream_writer.py:1887 handle_do(NAWS) DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = True DEBUG stream_writer.py:1024 send IAC WILL NAWS DEBUG stream_writer.py:2507 send IAC SB NAWS (rows=25, cols=80) IAC SE DEBUG stream_writer.py:3384 local_option[NAWS] = True DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP_COMPRESS DEBUG stream_writer.py:789 WILL MCCP_COMPRESS unsolicited DEBUG stream_writer.py:2045 handle_will(MCCP_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP_COMPRESS] = False DEBUG stream_writer.py:1024 send IAC DONT MCCP_COMPRESS DEBUG stream_writer.py:2182 Unhandled: WILL MCCP_COMPRESS. DEBUG stream_writer.py:773 recv IAC WILL GMCP DEBUG stream_writer.py:2045 handle_will(GMCP) DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True DEBUG stream_writer.py:3384 remote_option[GMCP] = True DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Supports.Set IAC SE INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info 1', 'Comm 1', 'Comm.Channel 1', 'Group 1'] DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled). DEBUG stream_writer.py:767 begin sub-negotiation SB MCCP2_COMPRESS DEBUG stream_writer.py:754 sub-negotiation cmd MCCP2_COMPRESS SE completion byte DEBUG stream_writer.py:2238 [SB + MCCP2_COMPRESS] unsolicited DEBUG stream_writer.py:3232 MCCP2 activated DEBUG client_base.py:483 MCCP2 decompression started (server→client) DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = False DEBUG stream_writer.py:2404 recv TTYPE SEND: b'' DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG client_base.py:534 negotiation failed after 4.00s. DEBUG client_base.py:540 failed-reply: 'WILL MCCP3_COMPRESS, WILL AARDWOLF, WILL ATCP, WILL MSSP, WILL MXP, WILL MSDP, WILL MCCP2_COMPRESS, WILL ZMP, WILL GMCP, WILL MSP, DO MCCP3_COMPRESS, DO AARDWOLF, DO ATCP, DO MSSP, DO MXP, DO MSDP, DO ZMP, DO MSP' DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled). DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True DEBUG stream_writer.py:1024 send IAC DO BINARY DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True DEBUG stream_writer.py:1024 send IAC DO SGA DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True DEBUG stream_writer.py:1024 send IAC DO ECHO DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True DEBUG stream_writer.py:1024 send IAC DO STATUS DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True DEBUG stream_writer.py:1024 send IAC DO CHARSET DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True DEBUG stream_writer.py:1024 send IAC DO EOR DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True DEBUG stream_writer.py:998 skip DO MSP; pending_option = True DEBUG stream_writer.py:998 skip DO MXP; pending_option = True DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True DEBUG fingerprinting.py:849 connection for server fingerprint dcd8e96ab95bbf4a INFO client_base.py:122 Connection closed to .. raw:: html
.. _ip_104_239_142_24_towers_t2tmud_org_9999: towers.t2tmud.org:9999 ---------------------- **Connection Banner:** .. image:: /_static/banners/banner_de4249c6e62f.png :alt: _​____ _​____ __\| \|___\| \| ^^ . . . \| _/ \\ . . ^ . \| \|_\| \|_\| \| \| / \\ /\\ . ^^^ \\ / / _/ \\_ . /^^\| /~~~\\_ \| \| / / \\_ /^​^^^\\__ . /~ ^^^ \\ \| \|_\| \| / _/ \\ \|~ _ \\ _/ \\_ \| \| / / \\/ /_\\ \\ /~ \\\| \| \| __/ _/ _/ _-\\ \\/ \| \| __ __ \| _/ / / \\ / \| \| \| \| \| \| \| / The / / \\/ __/ \| \| \| \| \|/ Two / _/ \| \| \| \| \| Towers _/ Celebrating / \| \| \| \| \| __/ 31 Years Online! ==\| \|__\| \|__\| \| _/ =​==__\| \| _/ =​==== / \| / =​===== = _/ est. 1994 \| ___/ =​=== == == / \| __/ =​==== / The Two Towers is running the TMI-2 1.1.1 mudlib on MudOS v22pre8 Please enter the name 'new' if you are new to The Two Towers. Your name? Sorry, you must supply a name for your character. Your name? :class: ansi-banner :width: 632px :loading: lazy Server URLs ~~~~~~~~~~~ .. raw:: html Server Info ~~~~~~~~~~~ - **Server Location**: 🇺🇸 United States (GeoIP) 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-negotiated:`Negotiated` - **MXP**: :proto-no:`No` - **MSP**: :proto-no:`No` - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ~~~~~~~~~~~~~~~~~~ :ref:`dcd8e96ab95bbf4a ` *This fingerprint is shared by 2 other servers.* **Options offered by server**: ``GMCP``, ``MCCP2`` **Options requested from client**: ``NAWS``, ``TTYPE`` The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata. .. raw:: html
Show JSON .. code-block:: json { "server-probe": { "fingerprint": "dcd8e96ab95bbf4a", "fingerprint-data": { "offered-options": [ "GMCP", "MCCP2" ], "probed-protocol": "server", "refused-options": [ "AARDWOLF", "ATCP", "BINARY", "CHARSET", "COM_PORT", "ECHO", "EOR", "MCCP3", "MSDP", "MSP", "MSSP", "MXP", "SGA", "STATUS", "ZMP" ], "requested-options": [ "NAWS", "TTYPE" ], "scan-type": "quick" }, "session_data": { "banner_after_return": "\r\nSorry, you must supply a name for your character.\r\n\r\nYour name? ", "banner_before_return": " _____ _____\r\n__| |___| | ^^ . . . \r\n | _/ \\ . . ^ . | |_| |_| |\r\n | / \\ /\\ . ^^^ \\ /\r\n / _/ \\_ . /^^| /~~~\\_ | | \r\n / / \\_ /^^^^\\__ . /~ ^^^ \\ | |_| | \r\n / _/ \\ |~ _ \\ _/ \\_ | | \r\n / / \\/ /_\\ \\ /~ \\| |\r\n | __/ _/ _/ _-\\ \\/ | | \r\n __ __ | _/ / / \\ / | | \r\n| | | | | / The / / \\/ __/ \r\n| | | | |/ Two / _/ \r\n| | | | | Towers _/ Celebrating / \r\n| | | | | __/ 31 Years Online! ==| \r\n|__| |__| | _/ ===__| \r\n | _/ ===== / \r\n | / ====== = _/ est. 1994 \r\n | ___/ ==== == == / \r\n | __/ ===== / \r\n\r\nThe Two Towers is running the TMI-2 1.1.1 mudlib on MudOS v22pre8\r\n\r\nPlease enter the name 'new' if you are new to The Two Towers.\r\nYour name? ", "dsr_replies": 0, "dsr_requests": 0, "encoding": "ascii", "option_states": { "server_offered": { "0x55": false, "GMCP": true, "MCCP2": true }, "server_requested": { "NAWS": true, "TTYPE": true } }, "scan_type": "quick", "timing": { "probe": 0.504899263381958, "total": 11.058429956436157 } } }, "sessions": [ { "connected": "2026-03-07T04:11:27.248012+00:00", "host": "towers.t2tmud.org", "ip": "104.239.142.24", "port": 9999 }, { "connected": "2026-04-05T18:46:51.385110+00:00", "host": "towers.t2tmud.org", "ip": "104.239.142.24", "port": 9999 }, { "connected": "2026-04-07T07:11:01.748540+00:00", "host": "towers.t2tmud.org", "ip": "104.239.142.24", "port": 9999 } ] } .. raw:: html
Connection Log ~~~~~~~~~~~~~~ Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server. *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug towers.t2tmud.org 9999 .. raw:: html
Show Logfile .. code-block:: text DEBUG client.py:1200 Fingerprint client: host=towers.t2tmud.org port=9999 INFO client_base.py:190 Connected to DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSSP DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True DEBUG stream_writer.py:1024 send IAC WILL MSP DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True DEBUG stream_writer.py:1024 send IAC WILL MSDP DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True DEBUG stream_writer.py:1024 send IAC WILL MXP DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True DEBUG stream_writer.py:1024 send IAC WILL ATCP DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True DEBUG stream_writer.py:1024 send IAC WILL ZMP DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True DEBUG stream_writer.py:1024 send IAC WILL GMCP DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True DEBUG stream_writer.py:1024 send IAC DO MSSP DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True DEBUG stream_writer.py:1024 send IAC DO MSP DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True DEBUG stream_writer.py:1024 send IAC DO MSDP DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True DEBUG stream_writer.py:1024 send IAC DO MXP DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True DEBUG stream_writer.py:1024 send IAC DO ATCP DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True DEBUG stream_writer.py:1024 send IAC DO ZMP DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True DEBUG stream_writer.py:1024 send IAC DO AARDWOLF DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True DEBUG stream_writer.py:1024 send IAC DO GMCP DEBUG stream_writer.py:773 recv IAC DO TTYPE DEBUG stream_writer.py:1887 handle_do(TTYPE) DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = True DEBUG stream_writer.py:1024 send IAC WILL TTYPE DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = True DEBUG stream_writer.py:3384 local_option[TTYPE] = True DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = False DEBUG stream_writer.py:773 recv IAC DO NAWS DEBUG stream_writer.py:1887 handle_do(NAWS) DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = True DEBUG stream_writer.py:1024 send IAC WILL NAWS DEBUG stream_writer.py:2507 send IAC SB NAWS (rows=25, cols=80) IAC SE DEBUG stream_writer.py:3384 local_option[NAWS] = True DEBUG stream_writer.py:3384 pending_option[WILL + NAWS] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False DEBUG stream_writer.py:773 recv IAC WILL MCCP_COMPRESS DEBUG stream_writer.py:789 WILL MCCP_COMPRESS unsolicited DEBUG stream_writer.py:2045 handle_will(MCCP_COMPRESS) DEBUG stream_writer.py:3384 remote_option[MCCP_COMPRESS] = False DEBUG stream_writer.py:1024 send IAC DONT MCCP_COMPRESS DEBUG stream_writer.py:2182 Unhandled: WILL MCCP_COMPRESS. DEBUG stream_writer.py:773 recv IAC WILL GMCP DEBUG stream_writer.py:2045 handle_will(GMCP) DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True DEBUG stream_writer.py:3384 remote_option[GMCP] = True DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Supports.Set IAC SE INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info 1', 'Comm 1', 'Comm.Channel 1', 'Group 1'] DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled). DEBUG stream_writer.py:767 begin sub-negotiation SB MCCP2_COMPRESS DEBUG stream_writer.py:754 sub-negotiation cmd MCCP2_COMPRESS SE completion byte DEBUG stream_writer.py:2238 [SB + MCCP2_COMPRESS] unsolicited DEBUG stream_writer.py:3232 MCCP2 activated DEBUG client_base.py:483 MCCP2 decompression started (server→client) DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = False DEBUG stream_writer.py:2404 recv TTYPE SEND: b'' DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG client_base.py:534 negotiation failed after 4.00s. DEBUG client_base.py:540 failed-reply: 'WILL MSSP, WILL MSP, WILL MSDP, WILL MCCP3_COMPRESS, WILL MXP, WILL ATCP, WILL MCCP2_COMPRESS, WILL ZMP, WILL AARDWOLF, WILL GMCP, DO MSSP, DO MSP, DO MSDP, DO MCCP3_COMPRESS, DO MXP, DO ATCP, DO ZMP, DO AARDWOLF' DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled). DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True DEBUG stream_writer.py:1024 send IAC DO BINARY DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True DEBUG stream_writer.py:1024 send IAC DO SGA DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True DEBUG stream_writer.py:1024 send IAC DO ECHO DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True DEBUG stream_writer.py:1024 send IAC DO STATUS DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True DEBUG stream_writer.py:1024 send IAC DO CHARSET DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True DEBUG stream_writer.py:1024 send IAC DO EOR DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION DEBUG stream_writer.py:998 skip DO MCCP3_COMPRESS; pending_option = True DEBUG stream_writer.py:998 skip DO MSDP; pending_option = True DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True DEBUG stream_writer.py:998 skip DO MSP; pending_option = True DEBUG stream_writer.py:998 skip DO MXP; pending_option = True DEBUG stream_writer.py:998 skip DO ZMP; pending_option = True DEBUG stream_writer.py:998 skip DO AARDWOLF; pending_option = True DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True DEBUG fingerprinting.py:849 connection for server fingerprint dcd8e96ab95bbf4a INFO client_base.py:122 Connection closed to .. raw:: html