176.126.241.96 (cryosphere.net)

Cryosphere (cryosphere.net:6667)

Connection Banner:

. : " + : ; " " \* . ." + "; . @ + ; " @ "; Welcome to the . . \* _​____ \* + __ " ; . " / ___/_​_____ _​_____ _​________ / /_ ___ .​___,___ / /.\* / __/ / / / __ \\/ ___/ __ \\/ __ \\/ _ \\/ __/ _ \\ / /___/ / / /_/ / /_/ (__ ) /_/ / / / / __/ / / __/+ \\_​___/_/ \\__, /\\_​___/_​___/ .​___/_/ /_/\\___/_/ \\___/ + /_​___/ /_/ \* " + + " . . \* \* .. + , . ' . " .; .. " + \* \* " " , \` , .\* " . . + : ; @ ;vsmc " ; . . . '97 (enter 'guest' to just look round) By what name shall I call you? Ok then. You leave the game. ═══════════════════════════════════════════════════════════════════════════════ THE CRYOSPHERE bids you goodbye. Please come again. ═══════════════════════════════════════════════════════════════════════════════

Server URLs

Server Info

  • Codebase: MusicMUD 3.1

  • Genre: Science Fiction

  • Gameplay: Questing

  • Players online: 8 [1]

  • Uptime: 59 days

  • Created: 1997

  • Status: Live

  • Discord: https://discord.gg/q2ApMrppPh

  • Server Location: 🇬🇧 United Kingdom (MSSP)

  • Language: English

Protocol Support

MUD-specific protocols detected via MSSP flags or Telnet negotiation.

  • MSSP: Yes (MSSP)

  • GMCP: Negotiated

  • MSDP: No

  • MCCP: No

  • MCCP2: Negotiated

  • MXP: No

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

6ee5b43c3505410d

This fingerprint is shared by 7 other servers.

Options requested from client: NAWS, NEW_ENVIRON, TTYPE

The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.

Show JSON
{
  "server-probe": {
    "fingerprint": "6ee5b43c3505410d",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Ok then.\r\nYou leave the game.\r\n\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\r\n                        THE CRYOSPHERE bids you goodbye.\r\n                               Please come again.\r\n\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\r\n\r\n",
      "banner_before_return": "                                   . : \" +  :   ;\r\n                           \"    \"       *     . .\"   +  \";\r\n                      . @   +\r\n               ;         \"                            @   \";\r\n         Welcome to the                               . .  *\r\n         _____   *            +           __      \"  ;  . \"\r\n        / ___/______  ______  _________  / /_  ___ .___,___\r\n       / /.* / __/ / / / __ \\/ ___/ __ \\/ __ \\/ _ \\/ __/ _ \\\r\n      / /___/ / / /_/ / /_/ (__  ) /_/ / / / /  __/ / /  __/+\r\n      \\____/_/  \\__, /\\____/____/ .___/_/ /_/\\___/_/  \\___/\r\n         +     /____/          /_/       *            \"  +\r\n               +                                      \"  . .  *\r\n             * ..  +  , .    '  . \"\r\n                 .; .. \"   +      *          *   \"    \"  ,\r\n                   `   ,  .*  \" . . +   :  ; @     ;vsmc\r\n                            \"       ;  .  .       .   '97\r\n\r\n                  (enter 'guest' to just look round)\r\n                  \r\nBy what name shall I call you? ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "CHARSET": "UTF-8",
        "CODEBASE": "MusicMUD 3.1",
        "CREATED": "1997",
        "DISCORD": "https://discord.gg/q2ApMrppPh",
        "FAMILY": "MusicMUD",
        "GAMEPLAY": "Questing",
        "GENRE": "Science Fiction",
        "HIRING BUILDERS": "1",
        "HIRING CODERS": "1",
        "IP": "176.126.241.96",
        "LANGUAGE": "English",
        "LOCATION": "United Kingdom",
        "NAME": "Cryosphere",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "8",
        "PORT": "6666",
        "SSL": "6766",
        "STATUS": "Live",
        "UPTIME": "1770558465",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://cryosphere.org/",
        "XTERM 256 COLORS": "1",
        "XTERM TRUE COLORS": "1"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "0x55": false,
          "0x58": false,
          "0x70": false,
          "AARDWOLF": false,
          "ATCP": false,
          "CHARSET": true,
          "EOR": true,
          "GMCP": true,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "ZMP": false
        },
        "server_requested": {
          "0x60": false,
          "AARDWOLF": false,
          "ATCP": false,
          "GMCP": false,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.653213024139404
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-04-05T19:26:39.174571+00:00",
      "host": "cryosphere.net",
      "ip": "176.126.241.96",
      "port": 6667
    },
    {
      "connected": "2026-04-07T05:48:20.665936+00:00",
      "host": "cryosphere.net",
      "ip": "176.126.241.96",
      "port": 6667
    },
    {
      "connected": "2026-04-08T17:07:35.413884+00:00",
      "host": "cryosphere.net",
      "ip": "176.126.241.96",
      "port": 6667
    }
  ]
}

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

telnetlib3-fingerprint --loglevel=debug cryosphere.net 6667
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=cryosphere.net port=6667
INFO client_base.py:186 Connected to <Peer 176.126.241.96 6667>
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
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 + 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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL 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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
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 + 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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
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 + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:773 recv IAC WILL b'X'
DEBUG stream_writer.py:789 WILL b'X' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'X')
DEBUG stream_writer.py:3384 remote_option[b'X'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'X'
DEBUG stream_writer.py:2182 Unhandled: WILL b'X'.
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 DO NEW_ENVIRON
DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:773 recv IAC WILL EOR
DEBUG stream_writer.py:789 WILL EOR unsolicited
DEBUG stream_writer.py:2045 handle_will(EOR)
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 remote_option[EOR] = True
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
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 b'p'
DEBUG stream_writer.py:789 WILL b'p' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'p')
DEBUG stream_writer.py:3384 remote_option[b'p'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'p'
DEBUG stream_writer.py:2182 Unhandled: WILL b'p'.
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC WILL CHARSET
DEBUG stream_writer.py:791 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:2045 handle_will(CHARSET)
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 remote_option[CHARSET] = True
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
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:773 recv IAC DO b'`'
DEBUG stream_writer.py:1887 handle_do(b'`')
DEBUG stream_writer.py:1995 DO b'`' not supported.
DEBUG stream_writer.py:3384 local_option[b'`'] = False
DEBUG stream_writer.py:1024 send IAC WONT b'`'
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT MXP
DEBUG stream_writer.py:2010 handle_dont(MXP)
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3384 local_option[MXP] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
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:448 MCCP2 decompression started (server→client)
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:754 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2238 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1796 MSSP: {'NAME': 'Cryosphere', 'PLAYERS': '8', 'UPTIME': '1770558465', 'CODEBASE': 'MusicMUD 3.1',
    'CREATED': '1997', 'IP': '176.126.241.96', 'LANGUAGE': 'English', 'LOCATION': 'United Kingdom', 'PORT': '6666', 'SSL': '6766',
    'WEBSITE': 'https://cryosphere.org/', 'DISCORD': 'https://discord.gg/q2ApMrppPh', 'FAMILY': 'MusicMUD', 'GENRE': 'Science
    Fiction', 'GAMEPLAY': 'Questing', 'STATUS': 'Live', 'ANSI': '1', 'UTF-8': '1', 'VT100': '1', 'CHARSET': 'UTF-8', 'XTERM 256
    COLORS': '1', 'XTERM TRUE COLORS': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '1', 'HIRING CODERS':
    '1'}
DEBUG stream_writer.py:773 recv IAC WONT MSSP
DEBUG stream_writer.py:2199 handle_wont(MSSP)
DEBUG stream_writer.py:3384 remote_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2473 env send: =''
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
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 stream_writer.py:767 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:754 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2238 [SB + CHARSET] unsolicited
DEBUG client.py:376 encoding negotiated: UTF-8
DEBUG stream_writer.py:2321 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG client_base.py:496 negotiation complete after 0.45s.
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:2238 [SB + TTYPE] unsolicited
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 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:2238 [SB + TTYPE] unsolicited
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:454 MCCP2 decompression ended (server→client)
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:118 Connection closed to <Peer 176.126.241.96 6667>
DEBUG fingerprinting.py:849 connection for server fingerprint 6ee5b43c3505410d

Cryosphere (cryosphere.net:9999)

Connection Banner:

Cryosphere _​___ _​______ __ \| _ \\\| _​___\\ \\ / / \| \| \| \| _\| \\ \\ / / \| \|_\| \| \|___ \\ V / \|_​___/\|_​____\| \\_/ environment dev.cryosphere.org By what name shall I call you? Ok then. You leave the game. ═══════════════════════════════════════════════════════════════════════════════ THE CRYOSPHERE bids you goodbye. Please come again. ═══════════════════════════════════════════════════════════════════════════════

Server URLs

Server Info

  • Codebase: MusicMUD 3.0

  • Genre: Science Fiction

  • Gameplay: Questing

  • Players online: 0 [2]

  • Uptime: 78 days

  • Created: 1997

  • Status: Alpha

  • Server Location: 🇬🇧 United Kingdom (MSSP)

  • Language: English

Protocol Support

MUD-specific protocols detected via MSSP flags or Telnet negotiation.

  • MSSP: Yes (MSSP)

  • GMCP: Negotiated

  • MSDP: No

  • MCCP: No

  • MCCP2: Negotiated

  • MXP: No

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

6ee5b43c3505410d

This fingerprint is shared by 7 other servers.

Options requested from client: NAWS, NEW_ENVIRON, TTYPE

The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.

Show JSON
{
  "server-probe": {
    "fingerprint": "6ee5b43c3505410d",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Ok then.\r\nYou leave the game.\r\n\u001b[1;34m\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\u001b[0m\r\n                        \u001b[1;36mTHE CRYOSPHERE \u001b[33mbids you goodbye.\u001b[0m\r\n                               Please come again.\r\n\u001b[1;34m\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\u001b[0m\r\n\r\n",
      "banner_before_return": "                 \u001b[1;34mCryosphere\u001b[0m \r\n                ____  _______     __\r\n               |  _ \\| ____\\ \\   / /\r\n               | | | |  _|  \\ \\ / / \r\n               | |_| | |___  \\ V /  \r\n               |____/|_____|  \\_/   \r\n                      \r\n                  environment\r\n\r\n               dev.cryosphere.org\r\nBy what name shall I call you? ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "CODEBASE": "MusicMUD 3.0",
        "CREATED": "1997",
        "FAMILY": "MusicMUD",
        "GAMEPLAY": "Questing",
        "GENRE": "Science Fiction",
        "HIRING BUILDERS": "0",
        "HIRING CODERS": "0",
        "IP": "87.106.241.83",
        "LANGUAGE": "English",
        "LOCATION": "United Kingdom",
        "NAME": "Cryosphere",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "0",
        "PORT": "6666",
        "SSL": "6766",
        "STATUS": "Alpha",
        "UPTIME": "1768848914",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://cryosphere.org/",
        "XTERM 256 COLORS": "1",
        "XTERM TRUE COLORS": "1"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "0x55": false,
          "0x58": false,
          "0x60": false,
          "0x70": false,
          "AARDWOLF": false,
          "ATCP": false,
          "CHARSET": true,
          "EOR": true,
          "GMCP": true,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "ZMP": false
        },
        "server_requested": {
          "AARDWOLF": false,
          "ATCP": false,
          "GMCP": false,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.658555746078491
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-04-05T18:46:38.315454+00:00",
      "host": "cryosphere.net",
      "ip": "176.126.241.96",
      "port": 9999
    },
    {
      "connected": "2026-04-07T05:51:14.174272+00:00",
      "host": "cryosphere.net",
      "ip": "176.126.241.96",
      "port": 9999
    },
    {
      "connected": "2026-04-08T17:02:26.600677+00:00",
      "host": "cryosphere.net",
      "ip": "176.126.241.96",
      "port": 9999
    }
  ]
}

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

telnetlib3-fingerprint --loglevel=debug cryosphere.net 9999
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=cryosphere.net port=9999
INFO client_base.py:186 Connected to <Peer 176.126.241.96 9999>
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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
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 + 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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL 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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
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 + 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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
DEBUG stream_writer.py:773 recv IAC WILL b'X'
DEBUG stream_writer.py:789 WILL b'X' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'X')
DEBUG stream_writer.py:3384 remote_option[b'X'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'X'
DEBUG stream_writer.py:2182 Unhandled: WILL b'X'.
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 DO NEW_ENVIRON
DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:773 recv IAC WILL EOR
DEBUG stream_writer.py:789 WILL EOR unsolicited
DEBUG stream_writer.py:2045 handle_will(EOR)
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 remote_option[EOR] = True
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
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 b'p'
DEBUG stream_writer.py:789 WILL b'p' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'p')
DEBUG stream_writer.py:3384 remote_option[b'p'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'p'
DEBUG stream_writer.py:2182 Unhandled: WILL b'p'.
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC WILL CHARSET
DEBUG stream_writer.py:791 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:2045 handle_will(CHARSET)
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 remote_option[CHARSET] = True
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
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:773 recv IAC WILL b'`'
DEBUG stream_writer.py:789 WILL b'`' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'`')
DEBUG stream_writer.py:3384 remote_option[b'`'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'`'
DEBUG stream_writer.py:2182 Unhandled: WILL b'`'.
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MXP
DEBUG stream_writer.py:2010 handle_dont(MXP)
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3384 local_option[MXP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
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:448 MCCP2 decompression started (server→client)
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:754 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2238 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1796 MSSP: {'NAME': 'Cryosphere', 'PLAYERS': '0', 'UPTIME': '1768848914', 'CODEBASE': 'MusicMUD 3.0',
    'CREATED': '1997', 'IP': '87.106.241.83', 'LANGUAGE': 'English', 'LOCATION': 'United Kingdom', 'PORT': '6666', 'SSL': '6766',
    'WEBSITE': 'https://cryosphere.org/', 'FAMILY': 'MusicMUD', 'GENRE': 'Science Fiction', 'GAMEPLAY': 'Questing', 'STATUS':
    'Alpha', 'ANSI': '1', 'UTF-8': '1', 'VT100': '1', 'XTERM 256 COLORS': '1', 'XTERM TRUE COLORS': '1', 'PAY TO PLAY': '0', 'PAY
    FOR PERKS': '0', 'HIRING BUILDERS': '0', 'HIRING CODERS': '0'}
DEBUG stream_writer.py:773 recv IAC WONT MSSP
DEBUG stream_writer.py:2199 handle_wont(MSSP)
DEBUG stream_writer.py:3384 remote_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2473 env send: =''
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
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 stream_writer.py:767 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:754 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2238 [SB + CHARSET] unsolicited
DEBUG client.py:376 encoding negotiated: UTF-8
DEBUG stream_writer.py:2321 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG client_base.py:496 negotiation complete after 0.46s.
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:2238 [SB + TTYPE] unsolicited
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 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:2238 [SB + TTYPE] unsolicited
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:454 MCCP2 decompression ended (server→client)
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:118 Connection closed to <Peer 176.126.241.96 9999>
DEBUG fingerprinting.py:849 connection for server fingerprint 6ee5b43c3505410d

Cryosphere (cryosphere.uk:6666)

Connection Banner:

. : " + : ; " " \* . ." + "; . @ + ; " @ "; Welcome to the . . \* _​____ \* + __ " ; . " / ___/_​_____ _​_____ _​________ / /_ ___ .​___,___ / /.\* / __/ / / / __ \\/ ___/ __ \\/ __ \\/ _ \\/ __/ _ \\ / /___/ / / /_/ / /_/ (__ ) /_/ / / / / __/ / / __/+ \\_​___/_/ \\__, /\\_​___/_​___/ .​___/_/ /_/\\___/_/ \\___/ + /_​___/ /_/ \* " + + " . . \* \* .. + , . ' . " .; .. " + \* \* " " , \` , .\* " . . + : ; @ ;vsmc " ; . . . '97 (enter 'guest' to just look round) By what name shall I call you? Ok then. You leave the game. ═══════════════════════════════════════════════════════════════════════════════ THE CRYOSPHERE bids you goodbye. Please come again. ═══════════════════════════════════════════════════════════════════════════════

Server URLs

Server Info

  • Codebase: MusicMUD 3.1

  • Genre: Science Fiction

  • Gameplay: Questing

  • Players online: 8 [3]

  • Uptime: 57 days

  • Created: 1997

  • Status: Live

  • Discord: https://discord.gg/q2ApMrppPh

  • Server Location: 🇬🇧 United Kingdom (MSSP)

  • Language: English

Protocol Support

MUD-specific protocols detected via MSSP flags or Telnet negotiation.

  • MSSP: Yes (MSSP)

  • GMCP: Negotiated

  • MSDP: No

  • MCCP: No

  • MCCP2: Negotiated

  • MXP: No

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

6ee5b43c3505410d

This fingerprint is shared by 7 other servers.

Options requested from client: NAWS, NEW_ENVIRON, TTYPE

The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.

Show JSON
{
  "server-probe": {
    "fingerprint": "6ee5b43c3505410d",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Ok then.\r\nYou leave the game.\r\n\u001b[1;34m\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\u001b[0m\r\n                        \u001b[1;36mTHE CRYOSPHERE \u001b[33mbids you goodbye.\u001b[0m\r\n                               Please come again.\r\n\u001b[1;34m\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\udce2\udc95\udc90\u001b[0m\r\n\r\n",
      "banner_before_return": "                                   . : \u001b[32m\"\u001b[1;33m +\u001b[0;36m  :   ;\u001b[0m\r\n                           \u001b[1;37m\"    \u001b[33m\"       \u001b[35m*\u001b[33m     .\u001b[0m .\"   \u001b[1;31m+  \u001b[33m\"\u001b[0m;\r\n                      . \u001b[31m@   +\u001b[0m\r\n               \u001b[31m;         \"                            \u001b[33m@   \u001b[1;37m\"\u001b[33m;\u001b[0m\r\n         \u001b[1;33mWelcome to the                               . .  \u001b[0;35m*\u001b[0m\r\n         \u001b[1;34m_____   \u001b[0;35m*            \u001b[1;36m+           \u001b[34m__      \u001b[37m\"\u001b[0;32m  ;  \u001b[1;31m.\u001b[0;33m \"\u001b[0m\r\n        \u001b[1;34m/ ___/______  ______  _________  / /_  ___ \u001b[37m.\u001b[34m___\u001b[37m,\u001b[34m___\u001b[0m\r\n       \u001b[1;34m/ /\u001b[33m.\u001b[37m*\u001b[34m / __/ / / / __ \\/ ___/ __ \\/ __ \\/ _ \\/ __/ _ \\\u001b[0m\r\n      \u001b[1;34m/ /___/ / / /_/ / /_/ (__  ) /_/ / / / /  __/ / /  __/\u001b[33m+\u001b[0m\r\n      \u001b[1;34m\\____/_/  \\__, /\\____/____/ .___/_/ /_/\\___/_/  \\___/\u001b[0m\r\n         \u001b[1;37m+     \u001b[34m/____/          /_/       \u001b[0m*            \u001b[1;33m\"  \u001b[37m+\u001b[0m\r\n               \u001b[1;37m+                                      \u001b[35m\"  \u001b[0;37m. . \u001b[1;35m *\u001b[0m\r\n             \u001b[1;35m* ..  \u001b[31m+\u001b[0m  , .    \u001b[33m'  \u001b[32m. \u001b[36m\"\u001b[0m\r\n                 \u001b[33m.\u001b[1m; \u001b[37m.. \"   \u001b[0;34m+      \u001b[1;36m*          \u001b[33m*   \"    \"  ,\u001b[0m\r\n                   `   ,  .\u001b[35m*  \" \u001b[0m. . \u001b[1;32m+   \u001b[0;36m:  \u001b[1;37m;\u001b[0;32m @     \u001b[0m;\u001b[36mvsmc\u001b[0m\r\n                            \u001b[37m\"       \u001b[33m;\u001b[1;37m  .  .       .   \u001b[0;34m'97\u001b[0m\r\n\r\n                  (enter 'guest' to just look round)\r\n                  \r\nBy what name shall I call you? ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "CHARSET": "UTF-8",
        "CODEBASE": "MusicMUD 3.1",
        "CREATED": "1997",
        "DISCORD": "https://discord.gg/q2ApMrppPh",
        "FAMILY": "MusicMUD",
        "GAMEPLAY": "Questing",
        "GENRE": "Science Fiction",
        "HIRING BUILDERS": "1",
        "HIRING CODERS": "1",
        "IP": "176.126.241.96",
        "LANGUAGE": "English",
        "LOCATION": "United Kingdom",
        "NAME": "Cryosphere",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "8",
        "PORT": "6666",
        "SSL": "6766",
        "STATUS": "Live",
        "UPTIME": "1770558465",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://cryosphere.org/",
        "XTERM 256 COLORS": "1",
        "XTERM TRUE COLORS": "1"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "0x55": false,
          "0x58": false,
          "0x70": false,
          "AARDWOLF": false,
          "ATCP": false,
          "CHARSET": true,
          "EOR": true,
          "GMCP": true,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "ZMP": false
        },
        "server_requested": {
          "0x60": false,
          "AARDWOLF": false,
          "ATCP": false,
          "GMCP": false,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.662768125534058
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T04:02:31.152167+00:00",
      "host": "cryosphere.uk",
      "ip": "176.126.241.96",
      "port": 6666
    },
    {
      "connected": "2026-04-07T06:57:38.917361+00:00",
      "host": "cryosphere.uk",
      "ip": "176.126.241.96",
      "port": 6666
    }
  ]
}

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

telnetlib3-fingerprint --loglevel=debug cryosphere.uk 6666
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=cryosphere.uk port=6666
INFO client_base.py:190 Connected to <Peer 176.126.241.96 6666>
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 + GMCP] = True
DEBUG stream_writer.py:1024 send IAC WILL GMCP
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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 + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
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[DO + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
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 + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 + 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 + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
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:773 recv IAC WILL b'X'
DEBUG stream_writer.py:789 WILL b'X' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'X')
DEBUG stream_writer.py:3384 remote_option[b'X'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'X'
DEBUG stream_writer.py:2182 Unhandled: WILL b'X'.
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 DO NEW_ENVIRON
DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:773 recv IAC WILL EOR
DEBUG stream_writer.py:789 WILL EOR unsolicited
DEBUG stream_writer.py:2045 handle_will(EOR)
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 remote_option[EOR] = True
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
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 b'p'
DEBUG stream_writer.py:789 WILL b'p' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'p')
DEBUG stream_writer.py:3384 remote_option[b'p'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'p'
DEBUG stream_writer.py:2182 Unhandled: WILL b'p'.
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC WILL CHARSET
DEBUG stream_writer.py:791 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:2045 handle_will(CHARSET)
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 remote_option[CHARSET] = True
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
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:773 recv IAC DO b'`'
DEBUG stream_writer.py:1887 handle_do(b'`')
DEBUG stream_writer.py:1995 DO b'`' not supported.
DEBUG stream_writer.py:3384 local_option[b'`'] = False
DEBUG stream_writer.py:1024 send IAC WONT b'`'
DEBUG stream_writer.py:773 recv IAC DONT MXP
DEBUG stream_writer.py:2010 handle_dont(MXP)
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3384 local_option[MXP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:754 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2238 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1796 MSSP: {'NAME': 'Cryosphere', 'PLAYERS': '8', 'UPTIME': '1770558465', 'CODEBASE': 'MusicMUD 3.1',
    'CREATED': '1997', 'IP': '176.126.241.96', 'LANGUAGE': 'English', 'LOCATION': 'United Kingdom', 'PORT': '6666', 'SSL': '6766',
    'WEBSITE': 'https://cryosphere.org/', 'DISCORD': 'https://discord.gg/q2ApMrppPh', 'FAMILY': 'MusicMUD', 'GENRE': 'Science
    Fiction', 'GAMEPLAY': 'Questing', 'STATUS': 'Live', 'ANSI': '1', 'UTF-8': '1', 'VT100': '1', 'CHARSET': 'UTF-8', 'XTERM 256
    COLORS': '1', 'XTERM TRUE COLORS': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '1', 'HIRING CODERS':
    '1'}
DEBUG stream_writer.py:773 recv IAC WONT MSSP
DEBUG stream_writer.py:2199 handle_wont(MSSP)
DEBUG stream_writer.py:3384 remote_option[MSSP] = False
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:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2473 env send: =''
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
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 stream_writer.py:767 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:754 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2238 [SB + CHARSET] unsolicited
DEBUG client.py:376 encoding negotiated: UTF-8
DEBUG stream_writer.py:2321 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG client_base.py:531 negotiation complete after 0.42s.
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:2238 [SB + TTYPE] unsolicited
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 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:2238 [SB + TTYPE] unsolicited
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:489 MCCP2 decompression ended (server→client)
DEBUG client_base.py:93 EOF from server, closing.
INFO client_base.py:122 Connection closed to <Peer 176.126.241.96 6666>
DEBUG fingerprinting.py:849 connection for server fingerprint 6ee5b43c3505410d

Cryosphere (cryosphere.uk:6766)

Connection Banner:

. : " + : ; " " \* . ." + "; . @ + ; " @ "; Welcome to the . . \* _​____ \* + __ " ; . " / ___/_​_____ _​_____ _​________ / /_ ___ .​___,___ / /.\* / __/ / / / __ \\/ ___/ __ \\/ __ \\/ _ \\/ __/ _ \\ / /___/ / / /_/ / /_/ (__ ) /_/ / / / / __/ / / __/+ \\_​___/_/ \\__, /\\_​___/_​___/ .​___/_/ /_/\\___/_/ \\___/ + /_​___/ /_/ \* " + + " . . \* \* .. + , . ' . " .; .. " + \* \* " " , \` , .\* " . . + : ; @ ;vsmc " ; . . . '97 (enter 'guest' to just look round) By what name shall I call you?

Server URLs

Server Info

  • Codebase: MusicMUD 3.1

  • Genre: Science Fiction

  • Gameplay: Questing

  • Players online: 9 [4]

  • Uptime: 59 days

  • Created: 1997

  • Status: Live

  • Discord: https://discord.gg/q2ApMrppPh

  • Server Location: 🇬🇧 United Kingdom (MSSP)

  • Language: English

Protocol Support

MUD-specific protocols detected via MSSP flags or Telnet negotiation.

  • MSSP: Yes (MSSP)

  • GMCP: Negotiated

  • MSDP: No

  • MCCP: No

  • MCCP2: No

  • MXP: No

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

6ee5b43c3505410d

This fingerprint is shared by 7 other servers.

Options requested from client: NAWS, NEW_ENVIRON, TTYPE

The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.

Show JSON
{
  "server-probe": {
    "fingerprint": "6ee5b43c3505410d",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "",
      "banner_before_return": "                                   . : \u001b[32m\"\u001b[1;33m +\u001b[0;36m  :   ;\u001b[0m\r\n                           \u001b[1;37m\"    \u001b[33m\"       \u001b[35m*\u001b[33m     .\u001b[0m .\"   \u001b[1;31m+  \u001b[33m\"\u001b[0m;\r\n                      . \u001b[31m@   +\u001b[0m\r\n               \u001b[31m;         \"                            \u001b[33m@   \u001b[1;37m\"\u001b[33m;\u001b[0m\r\n         \u001b[1;33mWelcome to the                               . .  \u001b[0;35m*\u001b[0m\r\n         \u001b[1;34m_____   \u001b[0;35m*            \u001b[1;36m+           \u001b[34m__      \u001b[37m\"\u001b[0;32m  ;  \u001b[1;31m.\u001b[0;33m \"\u001b[0m\r\n        \u001b[1;34m/ ___/______  ______  _________  / /_  ___ \u001b[37m.\u001b[34m___\u001b[37m,\u001b[34m___\u001b[0m\r\n       \u001b[1;34m/ /\u001b[33m.\u001b[37m*\u001b[34m / __/ / / / __ \\/ ___/ __ \\/ __ \\/ _ \\/ __/ _ \\\u001b[0m\r\n      \u001b[1;34m/ /___/ / / /_/ / /_/ (__  ) /_/ / / / /  __/ / /  __/\u001b[33m+\u001b[0m\r\n      \u001b[1;34m\\____/_/  \\__, /\\____/____/ .___/_/ /_/\\___/_/  \\___/\u001b[0m\r\n         \u001b[1;37m+     \u001b[34m/____/          /_/       \u001b[0m*            \u001b[1;33m\"  \u001b[37m+\u001b[0m\r\n               \u001b[1;37m+                                      \u001b[35m\"  \u001b[0;37m. . \u001b[1;35m *\u001b[0m\r\n             \u001b[1;35m* ..  \u001b[31m+\u001b[0m  , .    \u001b[33m'  \u001b[32m. \u001b[36m\"\u001b[0m\r\n                 \u001b[33m.\u001b[1m; \u001b[37m.. \"   \u001b[0;34m+      \u001b[1;36m*          \u001b[33m*   \"    \"  ,\u001b[0m\r\n                   `   ,  .\u001b[35m*  \" \u001b[0m. . \u001b[1;32m+   \u001b[0;36m:  \u001b[1;37m;\u001b[0;32m @     \u001b[0m;\u001b[36mvsmc\u001b[0m\r\n                            \u001b[37m\"       \u001b[33m;\u001b[1;37m  .  .       .   \u001b[0;34m'97\u001b[0m\r\n\r\n                  (enter 'guest' to just look round)\r\n                  \r\nBy what name shall I call you? ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "UTF-8",
      "mssp": {
        "ANSI": "1",
        "CHARSET": "UTF-8",
        "CODEBASE": "MusicMUD 3.1",
        "CREATED": "1997",
        "DISCORD": "https://discord.gg/q2ApMrppPh",
        "FAMILY": "MusicMUD",
        "GAMEPLAY": "Questing",
        "GENRE": "Science Fiction",
        "HIRING BUILDERS": "1",
        "HIRING CODERS": "1",
        "IP": "176.126.241.96",
        "LANGUAGE": "English",
        "LOCATION": "United Kingdom",
        "NAME": "Cryosphere",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "9",
        "PORT": "6666",
        "SSL": "6766",
        "STATUS": "Live",
        "UPTIME": "1770558465",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://cryosphere.org/",
        "XTERM 256 COLORS": "1",
        "XTERM TRUE COLORS": "1"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "0x55": false,
          "0x58": false,
          "0x70": false,
          "AARDWOLF": false,
          "ATCP": false,
          "CHARSET": true,
          "EOR": true,
          "GMCP": true,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "ZMP": false
        },
        "server_requested": {
          "0x60": false,
          "AARDWOLF": false,
          "ATCP": false,
          "GMCP": false,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.660099267959595
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-04-09T00:08:31.960773+00:00",
      "host": "cryosphere.uk",
      "ip": "176.126.241.96",
      "port": 6766
    }
  ]
}

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

telnetlib3-fingerprint --loglevel=debug cryosphere.uk 6766
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=cryosphere.uk port=6766
INFO client_base.py:188 Connected to <Peer 176.126.241.96 6766>
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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
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 + 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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC WILL MXP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
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 + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
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 + 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 + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
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 + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
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 + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
DEBUG stream_writer.py:773 recv IAC WILL b'X'
DEBUG stream_writer.py:789 WILL b'X' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'X')
DEBUG stream_writer.py:3384 remote_option[b'X'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'X'
DEBUG stream_writer.py:2182 Unhandled: WILL b'X'.
DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:1024 send IAC DONT MCCP2_COMPRESS
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 DO NEW_ENVIRON
DEBUG stream_writer.py:1887 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:1024 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3384 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:773 recv IAC WILL EOR
DEBUG stream_writer.py:789 WILL EOR unsolicited
DEBUG stream_writer.py:2045 handle_will(EOR)
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 remote_option[EOR] = True
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
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 b'p'
DEBUG stream_writer.py:789 WILL b'p' unsolicited
DEBUG stream_writer.py:2045 handle_will(b'p')
DEBUG stream_writer.py:3384 remote_option[b'p'] = False
DEBUG stream_writer.py:1024 send IAC DONT b'p'
DEBUG stream_writer.py:2182 Unhandled: WILL b'p'.
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC WILL CHARSET
DEBUG stream_writer.py:791 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:2045 handle_will(CHARSET)
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 remote_option[CHARSET] = True
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = False
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:773 recv IAC DO b'`'
DEBUG stream_writer.py:1887 handle_do(b'`')
DEBUG stream_writer.py:1995 DO b'`' not supported.
DEBUG stream_writer.py:3384 local_option[b'`'] = False
DEBUG stream_writer.py:1024 send IAC WONT b'`'
DEBUG stream_writer.py:773 recv IAC DONT ATCP
DEBUG stream_writer.py:2010 handle_dont(ATCP)
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3384 local_option[ATCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSP
DEBUG stream_writer.py:2010 handle_dont(MSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3384 local_option[MSP] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:2010 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:2010 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3384 local_option[AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC DONT MXP
DEBUG stream_writer.py:2010 handle_dont(MXP)
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3384 local_option[MXP] = False
DEBUG stream_writer.py:773 recv IAC DONT ZMP
DEBUG stream_writer.py:2010 handle_dont(ZMP)
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3384 local_option[ZMP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSSP
DEBUG stream_writer.py:2010 handle_dont(MSSP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3384 local_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC DONT GMCP
DEBUG stream_writer.py:2010 handle_dont(GMCP)
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3384 local_option[GMCP] = False
DEBUG stream_writer.py:773 recv IAC DONT MSDP
DEBUG stream_writer.py:2010 handle_dont(MSDP)
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3384 local_option[MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT ATCP
DEBUG stream_writer.py:2199 handle_wont(ATCP)
DEBUG stream_writer.py:3384 remote_option[ATCP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
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:462 MCCP2 decompression started (server→client)
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:754 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2238 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1796 MSSP: {'NAME': 'Cryosphere', 'PLAYERS': '9', 'UPTIME': '1770558465', 'CODEBASE': 'MusicMUD 3.1',
    'CREATED': '1997', 'IP': '176.126.241.96', 'LANGUAGE': 'English', 'LOCATION': 'United Kingdom', 'PORT': '6666', 'SSL': '6766',
    'WEBSITE': 'https://cryosphere.org/', 'DISCORD': 'https://discord.gg/q2ApMrppPh', 'FAMILY': 'MusicMUD', 'GENRE': 'Science
    Fiction', 'GAMEPLAY': 'Questing', 'STATUS': 'Live', 'ANSI': '1', 'UTF-8': '1', 'VT100': '1', 'CHARSET': 'UTF-8', 'XTERM 256
    COLORS': '1', 'XTERM TRUE COLORS': '1', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '1', 'HIRING CODERS':
    '1'}
DEBUG stream_writer.py:773 recv IAC WONT MSSP
DEBUG stream_writer.py:2199 handle_wont(MSSP)
DEBUG stream_writer.py:3384 remote_option[MSSP] = False
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG client_base.py:468 MCCP2 decompression ended (server→client)
DEBUG stream_writer.py:773 recv IAC WONT MCCP2_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP2_COMPRESS)
DEBUG stream_writer.py:767 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:754 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2449 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2473 env send: =''
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
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:510 negotiation complete after 0.29s.
DEBUG stream_writer.py:767 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:754 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2238 [SB + CHARSET] unsolicited
DEBUG client.py:376 encoding negotiated: UTF-8
DEBUG stream_writer.py:2321 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
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:2238 [SB + TTYPE] unsolicited
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 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:2238 [SB + TTYPE] unsolicited
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:90 EOF from server, closing.
INFO client_base.py:120 Connection closed to <Peer 176.126.241.96 6766>
DEBUG fingerprinting.py:850 connection for server fingerprint 6ee5b43c3505410d