67.202.121.44 (imperian.com)

imperian.com:4000

Connection Banner:

Rapture Runtime Environment v2.4.9.1 -- (c) 2026 -- Iron Realms Entertainment Multi-User License: 100-0002-000 =​========================================================== IMPERIAN the Sundered Heavens =​========================================================== 8 Bellum 678 AD: After the deaths of Aesir, Cassiopeia, Dranor, Epiphany, Lianthe and Nemesis, Azaoz disappears into the demon portal. Thanatos follows. \*\*\* Imperian's IP address is 67.202.121.44, on port 4000. Our website is at https://www.imperian.com/ For general inquiries, contact support@imperian.com There are 6 people currently online. 1. Enter the game. 2. Create a new character. 3. Quit. Enter an option or enter your character's name. WARNING: Your client sent an erroneous GMCP message - enable. If you are using one of the IRE clients, please file a BUG in-game, otherwise please check your client settings. 1. Enter the game. 2. Create a new character. 3. Quit. Enter an option or enter your character's name.

Server URLs

Server Info

  • Server Location: 🇺🇸 United States (GeoIP)

Protocol Support

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

  • MSSP: Negotiated

  • GMCP: Negotiated

  • MSDP: No

  • MCCP: No

  • MCCP2: No

  • MXP: No

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

f3a8fe69e4b13825

This fingerprint is shared by 2 other servers.

Options offered by server: ATCP, EOR, GMCP, MSSP

Options requested from client: TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "f3a8fe69e4b13825",
    "fingerprint-data": {
      "offered-options": [
        "ATCP",
        "EOR",
        "GMCP",
        "MSSP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "ECHO",
        "MSDP",
        "MSP",
        "MXP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "   \u001b[36m1. \u001b[37mEnter the game.\r\n   \u001b[36m2. \u001b[37mCreate a new character.\r\n   \u001b[36m3. \u001b[37mQuit.\r\n\r\nEnter an option or enter your character's name. ",
      "banner_before_return": "Rapture Runtime Environment v2.4.9.1 -- (c) 2026 -- Iron Realms Entertainment\r\r\nMulti-User License: 100-0002-000\r\r\n\r\r\n\u001b[0;37m   \u001b[33m===========================================================\u001b[37m\r\n\r\n   \u001b[1;36m                          IMPERIAN\u001b[0;37m\r\n   \u001b[36m                    the Sundered Heavens\u001b[37m\r\n\r\n   \u001b[33m===========================================================\u001b[37m\r\n\r\n   \u001b[36m8 Bellum 678 AD:\u001b[37m\r\n   After the deaths of Aesir, Cassiopeia, Dranor, Epiphany,\r\n   Lianthe and Nemesis, Azaoz disappears into the demon\r\n   portal. Thanatos follows.\r\n\r\n   \u001b[33m                            ***\u001b[37m\r\n\r\n   Imperian's IP address is 67.202.121.44, on port 4000.\r\n   Our website is at https://www.imperian.com/\r\n   For general inquiries, contact support@imperian.com\r\n\r\n   \u001b[36mThere are 6 people currently online.\u001b[37m\r\n\r\n   \u001b[36m1. \u001b[37mEnter the game.\r\n   \u001b[36m2. \u001b[37mCreate a new character.\r\n   \u001b[36m3. \u001b[37mQuit.\r\n\r\nEnter an option or enter your character's name. \r\n\u001b[31mWARNING: \u001b[37mYour client sent an erroneous GMCP message - enable. If you are using \r\none of the IRE clients, please file a BUG in-game, otherwise please check your \r\nclient settings.\r\n   \u001b[36m1. \u001b[37mEnter the game.\r\n   \u001b[36m2. \u001b[37mCreate a new character.\r\n   \u001b[36m3. \u001b[37mQuit.\r\n\r\nEnter an option or enter your character's name. ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "option_states": {
        "server_offered": {
          "0x56": false,
          "ATCP": true,
          "EOR": true,
          "GMCP": true,
          "MSSP": true
        },
        "server_requested": {
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5067968368530273,
        "total": 5.307816743850708
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-14T17:11:48.950979+00:00",
      "host": "imperian.com",
      "ip": "67.202.121.44",
      "port": 4000
    }
  ]
}

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 imperian.com 4000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=imperian.com port=4000
INFO client_base.py:175 Connected to <Peer 67.202.121.44 4000>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC WILL EOR
DEBUG stream_writer.py:723 WILL EOR unsolicited
DEBUG stream_writer.py:1900 handle_will(EOR)
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 remote_option[EOR] = True
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WILL ATCP
DEBUG stream_writer.py:723 WILL ATCP unsolicited
DEBUG stream_writer.py:1900 handle_will(ATCP)
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:3174 remote_option[ATCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = 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 MCCP2_COMPRESS
DEBUG stream_writer.py:723 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1900 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:950 send IAC DONT MCCP2_COMPRESS
WARNING stream_writer.py:2008 Unhandled: WILL MCCP2_COMPRESS.
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: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:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:707 recv IAC WONT MCCP2_COMPRESS
DEBUG stream_writer.py:2025 handle_wont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:1342 IAC EOR: End of Record (unhandled).
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 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:1342 IAC EOR: End of Record (unhandled).
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 + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
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 + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
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:707 recv IAC WONT b'\xfc'
DEBUG stream_writer.py:2025 handle_wont(WONT)
DEBUG stream_writer.py:3174 remote_option[WONT] = False
DEBUG stream_writer.py:3174 pending_option[DO + WONT] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WONT MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WONT ZMP
DEBUG stream_writer.py:2025 handle_wont(ZMP)
DEBUG stream_writer.py:3174 remote_option[ZMP] = False
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2025 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3174 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = False
INFO fingerprinting.py:746 connection for server fingerprint f3a8fe69e4b13825
INFO client_base.py:106 Connection closed to <Peer 67.202.121.44 4000>

Lusternia, Age of Ascension (lusternia.com:5000)

Connection Banner:

Rapture Runtime Environment v2.4.9.1 -- (c) 2026 -- Iron Realms Entertainment Multi-User License: 100-0000-000 o0=​=============================~o[0]o~​==============================0o IP Address: 69.65.42.86 Questions: support@lusternia.com Currently On-Line: 14 .​____ __ .__ \| \| __ __ _​______/ \|_ _​____ _​______ _​___ \|__\|_​____ \| \| \| \| \\/ ___/\\ __\\/ __ \\\\_ __ \\/ \\ \| \|\\__ \\ \| \|___ \| \| /\\___ \\ \| \| \\ ___/ \| \| \\/\| \| \\\| \| / __ \\ \|_​______ \\\|_​___/ /_​___ \\ \|__\| \\___ \\ \|__\| \|__\| /\|__\|/_​____ \\ \\/ \\/ \\/ \\/ \\/ A G E O F A S C E N S I O N o0=​==================================================================0o 1. Enter the game. 2. Create a new character. 3. Quit. Enter an option or enter your character's name.

Server URLs

Server Info

  • Codebase: Rapture

  • Genre: Fantasy

  • Players online: 14 [1]

  • Uptime: 0 days

  • Created: 2004

  • Status: Live

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

  • Server Location: 🇺🇸 United States of America (MSSP)

  • Language: English

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: No

  • MCCP: Yes (MSSP)

  • MCCP2: No

  • MXP: Yes (MSSP)

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

f3a8fe69e4b13825

This fingerprint is shared by 2 other servers.

Options offered by server: ATCP, EOR, GMCP, MSSP

Options requested from client: TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "f3a8fe69e4b13825",
    "fingerprint-data": {
      "offered-options": [
        "ATCP",
        "EOR",
        "GMCP",
        "MSSP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "ECHO",
        "MSDP",
        "MSP",
        "MXP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "                 \u001b[35m1.\u001b[37m Enter the game.\r\n                 \u001b[35m2.\u001b[37m Create a new character.\r\n                 \u001b[35m3.\u001b[37m Quit.\r\n\r\nEnter an option or enter your character's name. ",
      "banner_before_return": "Rapture Runtime Environment v2.4.9.1 -- (c) 2026 -- Iron Realms Entertainment\r\r\nMulti-User License: 100-0000-000\r\r\n\r\r\n\u001b[0;37m\u001b[33m   o0==============================~o[0]o~==============================0o\r\n    IP Address:\u001b[35m 69.65.42.86\u001b[33m              Questions: \u001b[35msupport@lusternia.com\r\n    \u001b[33mCurrently On-Line: \u001b[35m14\r\n\r\n\u001b[1;35m     .____                     __                         .__\r\n     |    |     __ __  _______/  |_  _____ _______  ____  |__|_____\r\n     |    |    |  |  \\/  ___/\\   __\\/  __ \\\\_  __ \\/    \\ |  |\\__  \\\r\n     |    |___ |  |  /\\___ \\  |  |  \\  ___/ |  | \\/|  |  \\|  | / __ \\\r\n     |_______ \\|____/ /____ \\ |__|   \\___ \\ |__|   |__|  /|__|/_____ \\\r\n             \\/            \\/            \\/            \\/           \\/\r\n\r\n\u001b[0;35m                        A G E  O F  A S C E N S I O N\r\n\r\n\r\n\u001b[33m   o0===================================================================0o\r\n\r\n\u001b[37m                 \u001b[35m1.\u001b[37m Enter the game.\r\n                 \u001b[35m2.\u001b[37m Create a new character.\r\n                 \u001b[35m3.\u001b[37m Quit.\r\n\r\nEnter an option or enter your character's name. ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "CHARSET": "ASCII",
        "CLASSES": "30",
        "CODEBASE": "Rapture",
        "CONTACT": "support@lusternia.com",
        "CRAWL DELAY": "-1",
        "CREATED": "2004",
        "DISCORD": "https://discord.gg/d8PECxD739",
        "FAMILY": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HOSTNAME": "lusternia.com",
        "IP": "69.65.42.86",
        "LANGUAGE": "English",
        "LEVELS": "100+",
        "LOCATION": "United States of America",
        "MCCP": "1",
        "MCP": "0",
        "MSP": "0",
        "MXP": "1",
        "NAME": "Lusternia, Age of Ascension",
        "PAY TO PLAY": "0",
        "PLAYERS": "14",
        "PORT": "5000",
        "RACES": "26",
        "SKILLS": "103",
        "STATUS": "Live",
        "SUBGENRE": "Dark Fantasy",
        "UPTIME": "1771019732",
        "WEBSITE": "https://www.lusternia.com",
        "XTERM 256 COLORS": "1",
        "XTERM TRUE COLORS": "0"
      },
      "option_states": {
        "server_offered": {
          "0x56": false,
          "ATCP": true,
          "EOR": true,
          "GMCP": true,
          "MSSP": true
        },
        "server_requested": {
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5122721195220947,
        "total": 5.121639251708984
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-14T17:09:52.810892+00:00",
      "host": "lusternia.com",
      "ip": "67.202.121.44",
      "port": 5000
    }
  ]
}

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 lusternia.com 5000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=lusternia.com port=5000
INFO client_base.py:175 Connected to <Peer 67.202.121.44 5000>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC WILL EOR
DEBUG stream_writer.py:723 WILL EOR unsolicited
DEBUG stream_writer.py:1900 handle_will(EOR)
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 remote_option[EOR] = True
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WILL ATCP
DEBUG stream_writer.py:723 WILL ATCP unsolicited
DEBUG stream_writer.py:1900 handle_will(ATCP)
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:3174 remote_option[ATCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = 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 MCCP2_COMPRESS
DEBUG stream_writer.py:723 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1900 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:950 send IAC DONT MCCP2_COMPRESS
WARNING stream_writer.py:2008 Unhandled: WILL MCCP2_COMPRESS.
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: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:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:707 recv IAC WONT MCCP2_COMPRESS
DEBUG stream_writer.py:2025 handle_wont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 pending_option[DO + MCCP2_COMPRESS] = False
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 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: {'NAME': 'Lusternia, Age of Ascension', 'PLAYERS': '14', 'UPTIME': '1771019732', 'HOSTNAME':
    'lusternia.com', 'PORT': '5000', 'CONTACT': 'support@lusternia.com', 'CREATED': '2004', 'IP': '69.65.42.86', 'LANGUAGE':
    'English', 'LOCATION': 'United States of America', 'WEBSITE': 'https://www.lusternia.com', 'GENRE': 'Fantasy', 'SUBGENRE':
    'Dark Fantasy', 'PAY TO PLAY': '0', 'CLASSES': '30', 'LEVELS': '100+', 'RACES': '26', 'SKILLS': '103', 'ANSI': '1', 'XTERM 256
    COLORS': '1', 'XTERM TRUE COLORS': '0', 'MCCP': '1', 'MCP': '0', 'MSP': '0', 'MXP': '1', 'GMCP': '1', 'DISCORD':
    'https://discord.gg/d8PECxD739', 'CRAWL DELAY': '-1', 'CHARSET': 'ASCII', 'CODEBASE': 'Rapture', 'FAMILY': 'Custom', 'STATUS':
    'Live'}
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:1342 IAC EOR: End of Record (unhandled).
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 + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
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 + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
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:707 recv IAC WONT b'\xfc'
DEBUG stream_writer.py:2025 handle_wont(WONT)
DEBUG stream_writer.py:3174 remote_option[WONT] = False
DEBUG stream_writer.py:3174 pending_option[DO + WONT] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WONT MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WONT ZMP
DEBUG stream_writer.py:2025 handle_wont(ZMP)
DEBUG stream_writer.py:3174 remote_option[ZMP] = False
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2025 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3174 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = False
INFO fingerprinting.py:737 new server fingerprint f3a8fe69e4b13825
INFO client_base.py:106 Connection closed to <Peer 67.202.121.44 5000>

Starmourn (starmourn.com:3000)

Connection Banner:

Rapture Runtime Environment v2.4.9.1 -- (c) 2026 -- Iron Realms Entertainment Multi-User License: 100-0005-000 _​_____ / __/ /_​___ _​______ _ ___ __ _​________ _\\ \\/ __/ _ \`/ __/ ' \\/ _ \\/ // / __/ _ \\ /___/\\__/\\_,_/_/ /_/_/_/\\___/\\_,_/_/ /_//_/ Please enter the name of your Starmourn character. Type NEW to create a new character, or QUIT to quit. >

Server URLs

Server Info

  • Codebase: Rapture

  • Players online: 2 [2]

  • Uptime: 2 days

  • Status: Live

  • Server Location: 🇺🇸 United States (GeoIP)

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

f3a8fe69e4b13825

This fingerprint is shared by 2 other servers.

Options offered by server: ATCP, EOR, GMCP, MSSP

Options requested from client: TTYPE

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

Show JSON
{
  "server-probe": {
    "fingerprint": "f3a8fe69e4b13825",
    "fingerprint-data": {
      "offered-options": [
        "ATCP",
        "EOR",
        "GMCP",
        "MSSP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "ECHO",
        "MSDP",
        "MSP",
        "MXP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Please enter the name of your Starmourn character. Type NEW to create a new \r\ncharacter, or QUIT to quit. >\r\n",
      "banner_before_return": "Rapture Runtime Environment v2.4.9.1 -- (c) 2026 -- Iron Realms Entertainment\r\r\nMulti-User License: 100-0005-000\r\r\n\r\r\n\u001b[0;37m\u001b[36m    ______\r\n   / __/ /____ _______ _  ___  __ _________\r\n  _\\ \\/ __/ _ `/ __/  ' \\/ _ \\/ // / __/ _ \\\r\n /___/\\__/\\_,_/_/ /_/_/_/\\___/\\_,_/_/ /_//_/\r\n\r\n\u001b[37mPlease enter the name of your Starmourn character. Type NEW to create a new \r\ncharacter, or QUIT to quit. >\r\n",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "CHARSET": "ASCII",
        "CODEBASE": "Rapture",
        "FAMILY": "Custom",
        "NAME": "Starmourn",
        "PLAYERS": "2",
        "STATUS": "Live",
        "UPTIME": "1770841556"
      },
      "option_states": {
        "server_offered": {
          "0x56": false,
          "ATCP": true,
          "EOR": true,
          "GMCP": true,
          "MSSP": true
        },
        "server_requested": {
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5061321258544922,
        "total": 5.1009111404418945
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-14T17:13:29.971666+00:00",
      "host": "starmourn.com",
      "ip": "67.202.121.44",
      "port": 3000
    }
  ]
}

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 starmourn.com 3000
Show Logfile
DEBUG client.py:965 Fingerprint client: host=starmourn.com port=3000
INFO client_base.py:175 Connected to <Peer 67.202.121.44 3000>
DEBUG client_base.py:492 negotiation complete after 0.00s.
DEBUG stream_writer.py:707 recv IAC WILL EOR
DEBUG stream_writer.py:723 WILL EOR unsolicited
DEBUG stream_writer.py:1900 handle_will(EOR)
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = True
DEBUG stream_writer.py:950 send IAC DO EOR
DEBUG stream_writer.py:3174 remote_option[EOR] = True
DEBUG stream_writer.py:3174 pending_option[DO + EOR] = False
DEBUG stream_writer.py:707 recv IAC WILL ATCP
DEBUG stream_writer.py:723 WILL ATCP unsolicited
DEBUG stream_writer.py:1900 handle_will(ATCP)
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:950 send IAC DO ATCP
DEBUG stream_writer.py:3174 remote_option[ATCP] = True
DEBUG stream_writer.py:3174 pending_option[DO + ATCP] = 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 MCCP2_COMPRESS
DEBUG stream_writer.py:723 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1900 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:950 send IAC DONT MCCP2_COMPRESS
WARNING stream_writer.py:2008 Unhandled: WILL MCCP2_COMPRESS.
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: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:1323 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:707 recv IAC WONT MCCP2_COMPRESS
DEBUG stream_writer.py:2025 handle_wont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3174 pending_option[DO + MCCP2_COMPRESS] = False
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 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: {'NAME': 'Starmourn', 'PLAYERS': '2', 'UPTIME': '1770841556', 'CHARSET': 'ASCII', 'CODEBASE':
    'Rapture', 'FAMILY': 'Custom', 'STATUS': 'Live'}
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:1342 IAC EOR: End of Record (unhandled).
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 + CHARSET] = True
DEBUG stream_writer.py:950 send IAC DO CHARSET
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 + MSP] = True
DEBUG stream_writer.py:950 send IAC DO MSP
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = True
DEBUG stream_writer.py:950 send IAC DO MXP
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:707 recv IAC WONT b'\xfc'
DEBUG stream_writer.py:2025 handle_wont(WONT)
DEBUG stream_writer.py:3174 remote_option[WONT] = False
DEBUG stream_writer.py:3174 pending_option[DO + WONT] = False
DEBUG stream_writer.py:707 recv IAC WONT STATUS
DEBUG stream_writer.py:2025 handle_wont(STATUS)
DEBUG stream_writer.py:3174 remote_option[STATUS] = False
DEBUG stream_writer.py:3174 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:707 recv IAC WONT CHARSET
DEBUG stream_writer.py:2025 handle_wont(CHARSET)
DEBUG stream_writer.py:3174 remote_option[CHARSET] = False
DEBUG stream_writer.py:3174 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:707 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:2025 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3174 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3174 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:707 recv IAC WONT MSDP
DEBUG stream_writer.py:2025 handle_wont(MSDP)
DEBUG stream_writer.py:3174 remote_option[MSDP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:707 recv IAC WONT MSP
DEBUG stream_writer.py:2025 handle_wont(MSP)
DEBUG stream_writer.py:3174 remote_option[MSP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MSP] = False
DEBUG stream_writer.py:707 recv IAC WONT MXP
DEBUG stream_writer.py:2025 handle_wont(MXP)
DEBUG stream_writer.py:3174 remote_option[MXP] = False
DEBUG stream_writer.py:3174 pending_option[DO + MXP] = False
DEBUG stream_writer.py:707 recv IAC WONT ZMP
DEBUG stream_writer.py:2025 handle_wont(ZMP)
DEBUG stream_writer.py:3174 remote_option[ZMP] = False
DEBUG stream_writer.py:3174 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:707 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2025 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3174 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3174 pending_option[DO + AARDWOLF] = False
INFO fingerprinting.py:746 connection for server fingerprint f3a8fe69e4b13825
INFO client_base.py:106 Connection closed to <Peer 67.202.121.44 3000>