172.105.102.228 (stickmud.com)

StickMUD (stickmud.com:6680)

Server URLs

Server Info

  • Codebase: LDMud 3.6.7 (3.6.7)

  • Genre: Fantasy

  • Gameplay: Hack and Slash

  • Players online: 1 [1]

  • Uptime: 34 days

  • Created: 1991

  • Status: Live

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

  • Server Location: 🇨🇦 Canada (MSSP)

  • Language: English

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: No

  • MCCP: No

  • MCCP2: No

  • MXP: Yes (MSSP)

  • MSP: Yes (MSSP)

  • MCP: No

  • ZMP: No

Telnet Fingerprint

989a5cbc65261b83

This fingerprint is shared by 2 other servers.

Options offered by server: CHARSET, GMCP, MSP, MSSP, MXP

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": "989a5cbc65261b83",
    "fingerprint-data": {
      "offered-options": [
        "CHARSET",
        "GMCP",
        "MSP",
        "MSSP",
        "MXP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "COM_PORT",
        "ECHO",
        "EOR",
        "MSDP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Too short a name - must be at least two characters long.\r\n\r\nTry another name: ",
      "banner_before_return": "\u001b[6z<!ELEMENT RNum FLAG=\"RoomNum\" ATT=\"id\" EMPTY><!ELEMENT RName FLAG=\"RoomName\"><!ELEMENT RDesc '<p>' FLAG=\"RoomDesc\"><!ELEMENT RExits FLAG=\"RoomExit\"><!ELEMENT Prompt FLAG=\"Prompt\"><!ELEMENT Ex \"<send EXPIRE='Exits'>\"><!ELEMENT Shop \"<send href='buy &name;' hint='buy &desc;'>\" ATT='name desc'><!ELEMENT Storage \"<send href='borrow &name;' hint='borrow &desc;'>\" ATT='name desc'>\r\n\u001b[33mDiscord:\u001b[0m https://discord.gg/BduazjAKxR\r\n\u001b[33mBluesky:\u001b[0m https://bsky.app/profile/stickmud.com\r\n\r\n                        \u001b[94m---------------------\u001b[0m\r\n                         \u001b[93mWelcome to StickMUD\u001b[0m\r\n                        \u001b[94m---------------------\u001b[0m\r\n\r\n                      Established June 17, 1991\r\n\r\n                A free, multi-player, medieval fantasy \r\n              hack-and-slash game played with text only!\r\n\r\n            Roleplay as a Bard, Fighter, Mage, Necromancer,\r\n                    Ninja, Thief, Healer or Priest\r\n\r\n    Train skills in both craft and combat aligned with your guild.\r\n        18 player races. Heroes and villains alike are invited!\r\n\r\n                    \u001b[33mWeb:\u001b[0m https://www.stickmud.com/\r\n\r\n        \u001b[93mNew to the game? Please enter a new character name now!\u001b[0m\r\n    'who' to see who is logged in, 'visit' for guests, or 'events'\r\n\r\nGive your character name: ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "UTF-8",
      "mssp": {
        "ANSI": "1",
        "AREAS": "178",
        "CLASSES": "8",
        "CODEBASE": "LDMud 3.6.7 (3.6.7)",
        "CONTACT": "support@stickmud.com",
        "CREATED": "1991",
        "DISCORD": "https://discord.gg/BduazjAKxR",
        "FAMILY": "LPMud",
        "GAMEPLAY": "Hack and Slash",
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HELPFILES": "310",
        "HIRING BUILDERS": "0",
        "HIRING CODERS": "0",
        "HOSTNAME": "stickmud.com",
        "ICON": "https://www.stickmud.com/wp-content/uploads/2020/12/stick-siteicon.png",
        "INTERMUD": "-1",
        "IP": "172.105.105.30",
        "LANGUAGE": "English",
        "LEVELS": "300",
        "LOCATION": "Canada",
        "MCCP": "0",
        "MCMP": "1",
        "MCP": "0",
        "MINIMUM AGE": "13",
        "MOBILES": "-1",
        "MSDP": "0",
        "MSP": "1",
        "MXP": "1",
        "NAME": "StickMUD",
        "OBJECTS": "1704",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "1",
        "PORT": "7680",
        "PUEBLO": "0",
        "RACES": "20",
        "ROOMS": "32960",
        "SKILLS": "100",
        "SSL": "7670",
        "STATUS": "Live",
        "SUBGENRE": "Medieval Fantasy",
        "TLS": "7670",
        "UPTIME": "1768139881",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://www.stickmud.com",
        "XTERM 256 COLORS": "1"
      },
      "mxp": [
        "activated"
      ],
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "CHARSET": true,
          "GMCP": true,
          "MSP": true,
          "MSSP": true,
          "MXP": true
        },
        "server_requested": {
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5429377555847168,
        "total": 5.160326957702637
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-14T17:11:06.994966+00:00",
      "host": "stickmud.com",
      "ip": "172.105.102.228",
      "port": 6680
    }
  ]
}

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 stickmud.com 6680
Show Logfile
DEBUG client.py:965 Fingerprint client: host=stickmud.com port=6680
INFO client_base.py:175 Connected to <Peer 172.105.102.228 6680>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC WILL CHARSET
DEBUG stream_writer.py:725 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:1900 handle_will(CHARSET)
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 remote_option[CHARSET] = True
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC DO TTYPE
DEBUG stream_writer.py:1770 handle_do(TTYPE)
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:950 send IAC WILL TTYPE
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3174 local_option[TTYPE] = True
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:707 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1770 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:950 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:707 recv IAC DO NAWS
DEBUG stream_writer.py:1770 handle_do(NAWS)
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:950 send IAC WILL NAWS
DEBUG stream_writer.py:2346 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3174 local_option[NAWS] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:707 recv IAC WILL MXP
DEBUG stream_writer.py:723 WILL MXP unsolicited
DEBUG stream_writer.py:1900 handle_will(MXP)
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 remote_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSP
DEBUG stream_writer.py:723 WILL MSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 remote_option[MSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSSP
DEBUG stream_writer.py:723 WILL MSSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 remote_option[MSSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:699 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:686 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2065 [SB + CHARSET] unsolicited
DEBUG client.py:304 encoding negotiated: UTF-8
DEBUG stream_writer.py:2149 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:686 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2289 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2312 env send: LANG='en_US.utf-8', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:699 begin sub-negotiation SB MXP
DEBUG stream_writer.py:686 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = False
DEBUG stream_writer.py:1682 MXP: b''
DEBUG stream_writer.py:699 begin sub-negotiation SB MSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSP] unsolicited
DEBUG stream_writer.py:1678 MSP: b'\n!!SOUND(Off U=https://raw.githubusercontent.com/StickMUD/StickMUDSounds/master/sounds/)\r\n'
DEBUG stream_writer.py:699 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1673 MSSP: {'MSP': '1', 'OBJECTS': '1704', 'FAMILY': 'LPMud', 'ANSI': '1', 'GAMESYSTEM': 'Custom', 'PORT':
    '7680', 'TLS': '7670', 'MSDP': '0', 'LOCATION': 'Canada', 'UTF-8': '1', 'PAY TO PLAY': '0', 'MCMP': '1', 'HELPFILES': '310',
    'LANGUAGE': 'English', 'HIRING BUILDERS': '0', 'IP': '172.105.105.30', 'PUEBLO': '0', 'LEVELS': '300', 'DISCORD':
    'https://discord.gg/BduazjAKxR', 'HOSTNAME': 'stickmud.com', 'MOBILES': '-1', 'STATUS': 'Live', 'ICON':
    'https://www.stickmud.com/wp-content/uploads/2020/12/stick-siteicon.png', 'PLAYERS': '1', 'GAMEPLAY': 'Hack and Slash',
    'WEBSITE': 'https://www.stickmud.com', 'CLASSES': '8', 'CONTACT': 'support@stickmud.com', 'MCP': '0', 'ROOMS': '32960', 'XTERM
    256 COLORS': '1', 'CODEBASE': 'LDMud 3.6.7 (3.6.7)', 'HIRING CODERS': '0', 'SSL': '7670', 'AREAS': '178', 'CREATED': '1991',
    'UPTIME': '1768139881', 'VT100': '1', 'RACES': '20', 'INTERMUD': '-1', 'GENRE': 'Fantasy', 'SKILLS': '100', 'NAME':
    'StickMUD', 'MXP': '1', 'GMCP': '1', 'MCCP': '0', 'SUBGENRE': 'Medieval Fantasy', 'MINIMUM AGE': '13', 'PAY FOR PERKS': '0'}
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2065 [SB + TTYPE] unsolicited
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:707 recv IAC WONT SGA
DEBUG stream_writer.py:2025 handle_wont(SGA)
DEBUG stream_writer.py:3174 remote_option[SGA] = False
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = False
DEBUG stream_writer.py:707 recv IAC WONT ECHO
DEBUG stream_writer.py:2025 handle_wont(ECHO)
DEBUG stream_writer.py:3174 remote_option[ECHO] = False
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = False
INFO fingerprinting.py:737 new server fingerprint 989a5cbc65261b83
INFO client_base.py:106 Connection closed to <Peer 172.105.102.228 6680>

StickMUD (stickmud.com:7670)

Server URLs

Server Info

  • Codebase: LDMud 3.6.7 (3.6.7)

  • Genre: Fantasy

  • Gameplay: Hack and Slash

  • Players online: 8 [2]

  • Uptime: 3 days

  • Created: 1991

  • Status: Live

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

  • Server Location: 🇨🇦 Canada (MSSP)

  • Language: English

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: No

  • MCCP: No

  • MCCP2: No

  • MXP: Yes (MSSP)

  • MSP: Yes (MSSP)

  • MCP: No

  • ZMP: No

Telnet Fingerprint

989a5cbc65261b83

This fingerprint is shared by 2 other servers.

Options offered by server: CHARSET, GMCP, MSP, MSSP, MXP

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": "989a5cbc65261b83",
    "fingerprint-data": {
      "offered-options": [
        "CHARSET",
        "GMCP",
        "MSP",
        "MSSP",
        "MXP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "COM_PORT",
        "ECHO",
        "EOR",
        "MSDP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Too short a name - must be at least two characters long.\r\n\r\nTry another name: ",
      "banner_before_return": "\u001b[6z<!ELEMENT RNum FLAG=\"RoomNum\" ATT=\"id\" EMPTY><!ELEMENT RName FLAG=\"RoomName\"><!ELEMENT RDesc '<p>' FLAG=\"RoomDesc\"><!ELEMENT RExits FLAG=\"RoomExit\"><!ELEMENT Prompt FLAG=\"Prompt\"><!ELEMENT Ex \"<send EXPIRE='Exits'>\"><!ELEMENT Shop \"<send href='buy &name;' hint='buy &desc;'>\" ATT='name desc'><!ELEMENT Storage \"<send href='borrow &name;' hint='borrow &desc;'>\" ATT='name desc'>\r\n\u001b[33mDiscord:\u001b[0m https://discord.gg/BduazjAKxR\r\n\u001b[33mBluesky:\u001b[0m https://bsky.app/profile/stickmud.com\r\n\r\n                        \u001b[94m---------------------\u001b[0m\r\n                         \u001b[93mWelcome to StickMUD\u001b[0m\r\n                        \u001b[94m---------------------\u001b[0m\r\n\r\n                      Established June 17, 1991\r\n\r\n                A free, multi-player, medieval fantasy \r\n              hack-and-slash game played with text only!\r\n\r\n            Roleplay as a Bard, Fighter, Mage, Necromancer,\r\n                    Ninja, Thief, Healer or Priest\r\n\r\n    Train skills in both craft and combat aligned with your guild.\r\n        18 player races. Heroes and villains alike are invited!\r\n\r\n                    \u001b[33mWeb:\u001b[0m https://www.stickmud.com/\r\n\r\n        \u001b[93mNew to the game? Please enter a new character name now!\u001b[0m\r\n    'who' to see who is logged in, 'visit' for guests, or 'events'\r\n\r\nGive your character name: ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "AREAS": "178",
        "CLASSES": "8",
        "CODEBASE": "LDMud 3.6.7 (3.6.7)",
        "CONTACT": "support@stickmud.com",
        "CREATED": "1991",
        "DISCORD": "https://discord.gg/BduazjAKxR",
        "FAMILY": "LPMud",
        "GAMEPLAY": "Hack and Slash",
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HELPFILES": "310",
        "HIRING BUILDERS": "0",
        "HIRING CODERS": "0",
        "HOSTNAME": "stickmud.com",
        "ICON": "https://www.stickmud.com/wp-content/uploads/2020/12/stick-siteicon.png",
        "INTERMUD": "-1",
        "IP": "172.105.105.30",
        "LANGUAGE": "English",
        "LEVELS": "300",
        "LOCATION": "Canada",
        "MCCP": "0",
        "MCMP": "1",
        "MCP": "0",
        "MINIMUM AGE": "13",
        "MOBILES": "-1",
        "MSDP": "0",
        "MSP": "1",
        "MXP": "1",
        "NAME": "StickMUD",
        "OBJECTS": "50251",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "8",
        "PORT": "7680",
        "PUEBLO": "0",
        "RACES": "20",
        "ROOMS": "32969",
        "SKILLS": "100",
        "SSL": "7670",
        "STATUS": "Live",
        "SUBGENRE": "Medieval Fantasy",
        "TLS": "7670",
        "UPTIME": "1770992581",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://www.stickmud.com",
        "XTERM 256 COLORS": "1"
      },
      "mxp": [
        "activated"
      ],
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "CHARSET": true,
          "GMCP": true,
          "MSP": true,
          "MSSP": true,
          "MXP": true
        },
        "server_requested": {
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5038089752197266,
        "total": 5.048355340957642
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-16T22:14:14.002620+00:00",
      "host": "stickmud.com",
      "ip": "172.105.102.228",
      "port": 7670
    }
  ]
}

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 stickmud.com 7670
Show Logfile
DEBUG client.py:1061 Fingerprint client: host=stickmud.com port=7670
INFO client_base.py:183 Connected to <Peer 172.105.102.228 7670>
DEBUG stream_writer.py:3200 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:958 send IAC WILL ZMP
DEBUG stream_writer.py:3200 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:958 send IAC WILL MSDP
DEBUG stream_writer.py:3200 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:958 send IAC WILL MSSP
DEBUG stream_writer.py:3200 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:958 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3200 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:958 send IAC WILL MXP
DEBUG stream_writer.py:3200 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:958 send IAC WILL GMCP
DEBUG stream_writer.py:3200 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:958 send IAC WILL ATCP
DEBUG stream_writer.py:3200 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:958 send IAC WILL MSP
DEBUG stream_writer.py:3200 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:958 send IAC DO ZMP
DEBUG stream_writer.py:3200 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:958 send IAC DO MSDP
DEBUG stream_writer.py:3200 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:958 send IAC DO MSSP
DEBUG stream_writer.py:3200 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:958 send IAC DO AARDWOLF
DEBUG stream_writer.py:3200 pending_option[DO + MXP] = True
DEBUG stream_writer.py:958 send IAC DO MXP
DEBUG stream_writer.py:3200 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:958 send IAC DO GMCP
DEBUG stream_writer.py:3200 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:958 send IAC DO ATCP
DEBUG stream_writer.py:3200 pending_option[DO + MSP] = True
DEBUG stream_writer.py:958 send IAC DO MSP
DEBUG stream_writer.py:715 recv IAC WILL CHARSET
DEBUG stream_writer.py:733 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:1919 handle_will(CHARSET)
DEBUG stream_writer.py:3200 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:958 send IAC DO CHARSET
DEBUG stream_writer.py:3200 remote_option[CHARSET] = True
DEBUG stream_writer.py:3200 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:715 recv IAC DO TTYPE
DEBUG stream_writer.py:1778 handle_do(TTYPE)
DEBUG stream_writer.py:3200 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:958 send IAC WILL TTYPE
DEBUG stream_writer.py:3200 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3200 local_option[TTYPE] = True
DEBUG stream_writer.py:3200 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:715 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1778 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3200 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:958 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3200 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3200 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3200 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:715 recv IAC DO NAWS
DEBUG stream_writer.py:1778 handle_do(NAWS)
DEBUG stream_writer.py:3200 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:958 send IAC WILL NAWS
DEBUG stream_writer.py:2372 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3200 local_option[NAWS] = True
DEBUG stream_writer.py:3200 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:715 recv IAC WILL GMCP
DEBUG stream_writer.py:1919 handle_will(GMCP)
DEBUG stream_writer.py:932 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:3200 remote_option[GMCP] = True
DEBUG stream_writer.py:3200 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:715 recv IAC WILL MXP
DEBUG stream_writer.py:1919 handle_will(MXP)
DEBUG stream_writer.py:932 skip DO MXP; pending_option = True
DEBUG stream_writer.py:3200 remote_option[MXP] = True
DEBUG stream_writer.py:3200 pending_option[DO + MXP] = False
DEBUG stream_writer.py:715 recv IAC WILL MSP
DEBUG stream_writer.py:1919 handle_will(MSP)
DEBUG stream_writer.py:932 skip DO MSP; pending_option = True
DEBUG stream_writer.py:3200 remote_option[MSP] = True
DEBUG stream_writer.py:3200 pending_option[DO + MSP] = False
DEBUG stream_writer.py:715 recv IAC WILL MSSP
DEBUG stream_writer.py:1919 handle_will(MSSP)
DEBUG stream_writer.py:932 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3200 remote_option[MSSP] = True
DEBUG stream_writer.py:3200 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:707 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:694 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2093 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1681 MSSP: {'MSP': '1', 'OBJECTS': '50251', 'FAMILY': 'LPMud', 'ANSI': '1', 'GAMESYSTEM': 'Custom', 'PORT':
    '7680', 'TLS': '7670', 'MSDP': '0', 'LOCATION': 'Canada', 'UTF-8': '1', 'PAY TO PLAY': '0', 'MCMP': '1', 'HELPFILES': '310',
    'LANGUAGE': 'English', 'HIRING BUILDERS': '0', 'IP': '172.105.105.30', 'PUEBLO': '0', 'LEVELS': '300', 'DISCORD':
    'https://discord.gg/BduazjAKxR', 'HOSTNAME': 'stickmud.com', 'MOBILES': '-1', 'STATUS': 'Live', 'ICON':
    'https://www.stickmud.com/wp-content/uploads/2020/12/stick-siteicon.png', 'PLAYERS': '8', 'GAMEPLAY': 'Hack and Slash',
    'WEBSITE': 'https://www.stickmud.com', 'CLASSES': '8', 'CONTACT': 'support@stickmud.com', 'MCP': '0', 'ROOMS': '32969', 'XTERM
    256 COLORS': '1', 'CODEBASE': 'LDMud 3.6.7 (3.6.7)', 'HIRING CODERS': '0', 'SSL': '7670', 'AREAS': '178', 'CREATED': '1991',
    'UPTIME': '1770992581', 'VT100': '1', 'RACES': '20', 'INTERMUD': '-1', 'GENRE': 'Fantasy', 'SKILLS': '100', 'NAME':
    'StickMUD', 'MXP': '1', 'GMCP': '1', 'MCCP': '0', 'SUBGENRE': 'Medieval Fantasy', 'MINIMUM AGE': '13', 'PAY FOR PERKS': '0'}
DEBUG stream_writer.py:707 begin sub-negotiation SB MXP
DEBUG stream_writer.py:694 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:2093 [SB + MXP] unsolicited
DEBUG stream_writer.py:1690 MXP: b''
DEBUG stream_writer.py:707 begin sub-negotiation SB MSP
DEBUG stream_writer.py:694 sub-negotiation cmd MSP SE completion byte
DEBUG stream_writer.py:2093 [SB + MSP] unsolicited
DEBUG stream_writer.py:1686 MSP: b'\n!!SOUND(Off U=https://raw.githubusercontent.com/StickMUD/StickMUDSounds/master/sounds/)\r\n'
DEBUG stream_writer.py:707 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:694 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2093 [SB + CHARSET] unsolicited
DEBUG client.py:302 encoding negotiated: UTF-8
DEBUG stream_writer.py:2175 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:707 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:694 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3200 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2267 recv TTYPE SEND: b''
DEBUG stream_writer.py:2280 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:707 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:694 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3200 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2315 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2338 env send: LANG='en_US.utf-8', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:707 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:694 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2093 [SB + TTYPE] unsolicited
DEBUG stream_writer.py:2267 recv TTYPE SEND: b''
DEBUG stream_writer.py:2280 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG client_base.py:509 negotiation failed after 4.00s.
DEBUG client_base.py:516 failed-reply: 'WILL ZMP, WILL MSDP, WILL MSSP, WILL AARDWOLF, WILL MXP, WILL GMCP, WILL ATCP, WILL MSP,
    DO ZMP, DO MSDP, DO AARDWOLF, DO ATCP'
DEBUG stream_writer.py:3200 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:958 send IAC DO BINARY
DEBUG stream_writer.py:3200 pending_option[DO + SGA] = True
DEBUG stream_writer.py:958 send IAC DO SGA
DEBUG stream_writer.py:3200 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:958 send IAC DO ECHO
DEBUG stream_writer.py:3200 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:958 send IAC DO STATUS
DEBUG stream_writer.py:3200 pending_option[DO + EOR] = True
DEBUG stream_writer.py:958 send IAC DO EOR
DEBUG stream_writer.py:3200 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:958 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:932 skip DO MSDP; pending_option = True
DEBUG stream_writer.py:932 skip DO ZMP; pending_option = True
DEBUG stream_writer.py:932 skip DO AARDWOLF; pending_option = True
DEBUG stream_writer.py:932 skip DO ATCP; pending_option = True
DEBUG stream_writer.py:715 recv IAC WONT SGA
DEBUG stream_writer.py:2053 handle_wont(SGA)
DEBUG stream_writer.py:3200 remote_option[SGA] = False
DEBUG stream_writer.py:3200 pending_option[DO + SGA] = False
DEBUG stream_writer.py:715 recv IAC WONT ECHO
DEBUG stream_writer.py:2053 handle_wont(ECHO)
DEBUG stream_writer.py:3200 remote_option[ECHO] = False
DEBUG stream_writer.py:3200 pending_option[DO + ECHO] = False
INFO fingerprinting.py:745 connection for server fingerprint 989a5cbc65261b83
INFO client_base.py:114 Connection closed to <Peer 172.105.102.228 7670>

StickMUD (stickmud.com:7680)

Server URLs

Server Info

  • Codebase: LDMud 3.6.7 (3.6.7)

  • Genre: Fantasy

  • Gameplay: Hack and Slash

  • Players online: 10 [3]

  • Uptime: 1 days

  • Created: 1991

  • Status: Live

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

  • Server Location: 🇨🇦 Canada (MSSP)

  • Language: English

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: No

  • MCCP: No

  • MCCP2: No

  • MXP: Yes (MSSP)

  • MSP: Yes (MSSP)

  • MCP: No

  • ZMP: No

Telnet Fingerprint

989a5cbc65261b83

This fingerprint is shared by 2 other servers.

Options offered by server: CHARSET, GMCP, MSP, MSSP, MXP

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": "989a5cbc65261b83",
    "fingerprint-data": {
      "offered-options": [
        "CHARSET",
        "GMCP",
        "MSP",
        "MSSP",
        "MXP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "ATCP",
        "BINARY",
        "COM_PORT",
        "ECHO",
        "EOR",
        "MSDP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Too short a name - must be at least two characters long.\r\n\r\nTry another name: ",
      "banner_before_return": "\u001b[6z<!ELEMENT RNum FLAG=\"RoomNum\" ATT=\"id\" EMPTY><!ELEMENT RName FLAG=\"RoomName\"><!ELEMENT RDesc '<p>' FLAG=\"RoomDesc\"><!ELEMENT RExits FLAG=\"RoomExit\"><!ELEMENT Prompt FLAG=\"Prompt\"><!ELEMENT Ex \"<send EXPIRE='Exits'>\"><!ELEMENT Shop \"<send href='buy &name;' hint='buy &desc;'>\" ATT='name desc'><!ELEMENT Storage \"<send href='borrow &name;' hint='borrow &desc;'>\" ATT='name desc'>\r\n\u001b[33mDiscord:\u001b[0m https://discord.gg/BduazjAKxR\r\n\u001b[33mBluesky:\u001b[0m https://bsky.app/profile/stickmud.com\r\n\r\n                        \u001b[94m---------------------\u001b[0m\r\n                         \u001b[93mWelcome to StickMUD\u001b[0m\r\n                        \u001b[94m---------------------\u001b[0m\r\n\r\n                      Established June 17, 1991\r\n\r\n                A free, multi-player, medieval fantasy \r\n              hack-and-slash game played with text only!\r\n\r\n            Roleplay as a Bard, Fighter, Mage, Necromancer,\r\n                    Ninja, Thief, Healer or Priest\r\n\r\n    Train skills in both craft and combat aligned with your guild.\r\n        18 player races. Heroes and villains alike are invited!\r\n\r\n                    \u001b[33mWeb:\u001b[0m https://www.stickmud.com/\r\n\r\n        \u001b[93mNew to the game? Please enter a new character name now!\u001b[0m\r\n    'who' to see who is logged in, 'visit' for guests, or 'events'\r\n\r\nGive your character name: ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "UTF-8",
      "mssp": {
        "ANSI": "1",
        "AREAS": "178",
        "CLASSES": "8",
        "CODEBASE": "LDMud 3.6.7 (3.6.7)",
        "CONTACT": "support@stickmud.com",
        "CREATED": "1991",
        "DISCORD": "https://discord.gg/BduazjAKxR",
        "FAMILY": "LPMud",
        "GAMEPLAY": "Hack and Slash",
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HELPFILES": "310",
        "HIRING BUILDERS": "0",
        "HIRING CODERS": "0",
        "HOSTNAME": "stickmud.com",
        "ICON": "https://www.stickmud.com/wp-content/uploads/2020/12/stick-siteicon.png",
        "INTERMUD": "-1",
        "IP": "172.105.105.30",
        "LANGUAGE": "English",
        "LEVELS": "300",
        "LOCATION": "Canada",
        "MCCP": "0",
        "MCMP": "1",
        "MCP": "0",
        "MINIMUM AGE": "13",
        "MOBILES": "-1",
        "MSDP": "0",
        "MSP": "1",
        "MXP": "1",
        "NAME": "StickMUD",
        "OBJECTS": "22332",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERS": "10",
        "PORT": "7680",
        "PUEBLO": "0",
        "RACES": "20",
        "ROOMS": "32968",
        "SKILLS": "100",
        "SSL": "7670",
        "STATUS": "Live",
        "SUBGENRE": "Medieval Fantasy",
        "TLS": "7670",
        "UPTIME": "1770992581",
        "UTF-8": "1",
        "VT100": "1",
        "WEBSITE": "https://www.stickmud.com",
        "XTERM 256 COLORS": "1"
      },
      "mxp": [
        "activated"
      ],
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "CHARSET": true,
          "GMCP": true,
          "MSP": true,
          "MSSP": true,
          "MXP": true
        },
        "server_requested": {
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5128097534179688,
        "total": 5.339512825012207
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-14T17:26:00.699932+00:00",
      "host": "stickmud.com",
      "ip": "172.105.102.228",
      "port": 7680
    }
  ]
}

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 stickmud.com 7680
Show Logfile
DEBUG client.py:965 Fingerprint client: host=stickmud.com port=7680
INFO client_base.py:175 Connected to <Peer 172.105.102.228 7680>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC WILL CHARSET
DEBUG stream_writer.py:725 WILL CHARSET (bi-directional capability exchange)
DEBUG stream_writer.py:1900 handle_will(CHARSET)
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
DEBUG stream_writer.py:3174 remote_option[CHARSET] = True
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC DO TTYPE
DEBUG stream_writer.py:1770 handle_do(TTYPE)
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:950 send IAC WILL TTYPE
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3174 local_option[TTYPE] = True
DEBUG stream_writer.py:3174 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:707 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1770 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:950 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NEW_ENVIRON] = False
DEBUG stream_writer.py:707 recv IAC DO NAWS
DEBUG stream_writer.py:1770 handle_do(NAWS)
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:950 send IAC WILL NAWS
DEBUG stream_writer.py:2346 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3174 local_option[NAWS] = True
DEBUG stream_writer.py:3174 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:707 recv IAC WILL GMCP
DEBUG stream_writer.py:723 WILL GMCP unsolicited
DEBUG stream_writer.py:1900 handle_will(GMCP)
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:950 send IAC DO GMCP
DEBUG stream_writer.py:3174 remote_option[GMCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:707 recv IAC WILL MXP
DEBUG stream_writer.py:723 WILL MXP unsolicited
DEBUG stream_writer.py:1900 handle_will(MXP)
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
DEBUG stream_writer.py:3174 remote_option[MXP] = True
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSP
DEBUG stream_writer.py:723 WILL MSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 remote_option[MSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WILL MSSP
DEBUG stream_writer.py:723 WILL MSSP unsolicited
DEBUG stream_writer.py:1900 handle_will(MSSP)
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:950 send IAC DO MSSP
DEBUG stream_writer.py:3174 remote_option[MSSP] = True
DEBUG stream_writer.py:3174 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:699 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:686 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2065 [SB + CHARSET] unsolicited
DEBUG client.py:304 encoding negotiated: UTF-8
DEBUG stream_writer.py:2149 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:699 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:686 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2289 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2312 env send: LANG='en_US.utf-8', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG stream_writer.py:699 begin sub-negotiation SB MXP
DEBUG stream_writer.py:686 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:3174 pending_option[SB + MXP] = False
DEBUG stream_writer.py:1682 MXP: b''
DEBUG stream_writer.py:699 begin sub-negotiation SB MSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSP] unsolicited
DEBUG stream_writer.py:1678 MSP: b'\n!!SOUND(Off U=https://raw.githubusercontent.com/StickMUD/StickMUDSounds/master/sounds/)\r\n'
DEBUG stream_writer.py:699 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:686 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2065 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1673 MSSP: {'MSP': '1', 'OBJECTS': '22332', 'FAMILY': 'LPMud', 'ANSI': '1', 'GAMESYSTEM': 'Custom', 'PORT':
    '7680', 'TLS': '7670', 'MSDP': '0', 'LOCATION': 'Canada', 'UTF-8': '1', 'PAY TO PLAY': '0', 'MCMP': '1', 'HELPFILES': '310',
    'LANGUAGE': 'English', 'HIRING BUILDERS': '0', 'IP': '172.105.105.30', 'PUEBLO': '0', 'LEVELS': '300', 'DISCORD':
    'https://discord.gg/BduazjAKxR', 'HOSTNAME': 'stickmud.com', 'MOBILES': '-1', 'STATUS': 'Live', 'ICON':
    'https://www.stickmud.com/wp-content/uploads/2020/12/stick-siteicon.png', 'PLAYERS': '10', 'GAMEPLAY': 'Hack and Slash',
    'WEBSITE': 'https://www.stickmud.com', 'CLASSES': '8', 'CONTACT': 'support@stickmud.com', 'MCP': '0', 'ROOMS': '32968', 'XTERM
    256 COLORS': '1', 'CODEBASE': 'LDMud 3.6.7 (3.6.7)', 'HIRING CODERS': '0', 'SSL': '7670', 'AREAS': '178', 'CREATED': '1991',
    'UPTIME': '1770992581', 'VT100': '1', 'RACES': '20', 'INTERMUD': '-1', 'GENRE': 'Fantasy', 'SKILLS': '100', 'NAME':
    'StickMUD', 'MXP': '1', 'GMCP': '1', 'MCCP': '0', 'SUBGENRE': 'Medieval Fantasy', 'MINIMUM AGE': '13', 'PAY FOR PERKS': '0'}
DEBUG stream_writer.py:699 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:686 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2065 [SB + TTYPE] unsolicited
DEBUG stream_writer.py:2241 recv TTYPE SEND: b''
DEBUG stream_writer.py:2254 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:3174 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:950 send IAC DO BINARY
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = True
DEBUG stream_writer.py:950 send IAC DO SGA
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:950 send IAC DO ECHO
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:950 send IAC DO STATUS
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:950 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:950 send IAC DO MSDP
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:950 send IAC DO ZMP
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:950 send IAC DO AARDWOLF
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:707 recv IAC WONT SGA
DEBUG stream_writer.py:2025 handle_wont(SGA)
DEBUG stream_writer.py:3174 remote_option[SGA] = False
DEBUG stream_writer.py:3174 pending_option[DO + SGA] = False
DEBUG stream_writer.py:707 recv IAC WONT ECHO
DEBUG stream_writer.py:2025 handle_wont(ECHO)
DEBUG stream_writer.py:3174 remote_option[ECHO] = False
DEBUG stream_writer.py:3174 pending_option[DO + ECHO] = False
INFO fingerprinting.py:746 connection for server fingerprint 989a5cbc65261b83
INFO client_base.py:106 Connection closed to <Peer 172.105.102.228 7680>