Abandoned Realms

abandonedrealms.com:9000

Server Info

  • Codebase: rom 2.4

  • Family: DikuMUD

  • Genre: Fantasy

  • Gameplay: Player versus Player, Roleplaying

  • Players online: 6 [1]

  • Created: 1997

  • Status: Live

  • Website: https://abandonedrealms.com

  • Location: US

Protocol Support

MUD-specific protocols detected via MSSP flags or Telnet negotiation. See the glossary for definitions.

  • MSSP: Yes (MSSP)

  • GMCP: Yes (MSSP)

  • MSDP: Yes (MSSP)

  • MCCP: No

  • MCCP2: No

  • MXP: Yes (MSSP)

  • MSP: Yes (MSSP)

  • MCP: No

  • ZMP: No

Telnet Fingerprint

1f865e930b9900a0…

This fingerprint is unique to this server.

Options requested from client: CHARSET, NAWS, SGA, TTYPE

Data source: 1f865e930b9900a0/2beba72ebc604dd3.json

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

{
  "server-probe": {
    "fingerprint": "1f865e930b9900a0",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [
        "AUTHENTICATION",
        "BINARY",
        "BM",
        "CHARSET",
        "COM_PORT",
        "DET",
        "ECHO",
        "ENCRYPT",
        "EOR",
        "FORWARD_X",
        "KERMIT",
        "NAMS",
        "NAOCRD",
        "NAOFFD",
        "NAOHTD",
        "NAOHTS",
        "NAOL",
        "NAOLFD",
        "NAOP",
        "NAOVTD",
        "NAOVTS",
        "PRAGMA_HEARTBEAT",
        "PRAGMA_LOGON",
        "RCP",
        "RCTE",
        "RSP",
        "SEND_URL",
        "SGA",
        "SSPI_LOGON",
        "STATUS",
        "SUPDUP",
        "SUPDUPOUTPUT",
        "SUPPRESS_LOCAL_ECHO",
        "TLS",
        "TN3270E",
        "TTYLOC",
        "VT3270REGIME",
        "X3PAD",
        "XAUTH"
      ],
      "requested-options": [
        "CHARSET",
        "NAWS",
        "SGA",
        "TTYPE"
      ]
    },
    "session_data": {
      "banner_after_return": "|_][_][_][_][_|| \\/ /||.||.||.||.||\\ \\/ ||_][_][_][_][_|  _|X|_\n\r  |[_][_][_][_][|| || |||.||/||\\||X||| || ||[_][_][_][_][| /__X__\\\n\r  |_][_][_][_][_|| || |\\/.\\/ \\/ \\/.\\/| || ||_][_][_][_][_| V ||| V\n\r  |[_][_][_][_][|| \\/ |.../      \\...| \\/ ||[_][_][_][_][|   |||\n\r  |_][_][_][_][_||    |../        \\..|    ||_][_][_][_][_|   |||\n\r  |[_][_][_][_][||    |./          \\.|    ||[_][_][_][_][|   |||\n\r  |_][_][_][_][_||    |/            \\|    ||_][_][_][_][_|   |||\n\r  |[_][_][_][_][||    |              |    ||[_][_][_][_][|   |||\n\r /               \\\\   |______________|   //               \\  |||\n\r |_______________||__/               \\___||_______________|  |||\n\r ________OO_________/_________________\\___________OO______   |||\n\r//o                                                     o\\\\  |||\n\r|| Founded by Denadlyr, Sarich, Stryth, and Virgil. Main-||  |||\n\r|| tained by Olyn and Davairus. Code modified by Virgil, ||  |||\n\r||                  Zafrin and Stryth.                   ||  |||\n\r||                             ",
      "banner_before_return": "\n\r      .^.                                           .^.\n\r      ||>\\  /\\                                      ||>\\\n\r      ||\\>\\/>|\\  /\\                                 ||\\>\\/\\\n\r      || \\|>/\\>\\/>|\\                                || \\>|>\\\n\r      ||  \\/  \\>|/ \\>                               ||  \\/\\>\\\n\r __   ||   __  \\/_                        __   __   ||   __\\>\\\n\r|[]|_|[]|_|[]|_|[]| THE ABANDONED REALMS |[]|_|[]|_|[]|_|[]|\\>\\\n\r|[_][_][_][_][_][_|   A Playerkilling,   |[_][_][_][_][_][_| \\>\\\n\r|_][_][_][_][_][_]|   Roleplaying MUD    |_][_][_][_][_][_]| />/\n\r \\[=][=][=][=][=]/                        \\[=][=][=][=][=]/  \\>\\\n\r  |][_][_][_][_]| abandonedrealms.com 9000 |][_][_][_][_]|   />/\n\r  |[_][_]8[_][_]|__   __   __   __   __   _|[_][_]8_][_]||  />/\n\r  |_][_]888[_][_|| |_|  |_|  |_|  |_|  |_|||_][_]888[_][_|  //\n\r  |[_][]888|[_][||       __________       ||[_][|888|][_]|    O\n\r  |_][_]888[_][_||      /.||.||.||.\\      ||_][_]888[_][_|   /X>\n\r  |[_][_][_][_][|| /\\  ||.||.||.||.||  /\\ ||[_][_][_][_][|   |X|\n\r  ",
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "AREAS": "119",
        "CLASSES": "13",
        "CODEBASE": "rom 2.4",
        "CONTACT": "abandonedrealms@gmail.com",
        "CRAWL DELAY": "1",
        "CREATED": "1997",
        "FAMILY": "DikuMUD",
        "GAMEPLAY": "Player versus Player, Roleplaying",
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HELPFILES": "1700",
        "HOSTNAME": "abandonedrealms.com",
        "INTERMUD": "",
        "IP": "45.79.228.121",
        "LANGUAGE": "",
        "LEVELS": "50",
        "LOCATION": "US",
        "MCCP": "0",
        "MCP": "0",
        "MINIMUM AGE": "0",
        "MOBILES": "3376",
        "MSDP": "1",
        "MSP": "1",
        "MXP": "1",
        "NAME": "Abandoned Realms",
        "OBJECTS": "6158",
        "PLAYERS": "6",
        "PORT": "9000",
        "PUEBLO": "0",
        "RACES": "17",
        "ROOMS": "10478",
        "SKILLS": "931",
        "STATUS": "Live",
        "SUBGENRE": "Medieval Fantasy",
        "UPTIME": "1770501161",
        "UTF-8": "1",
        "VT100": "0",
        "WEBSITE": "https://abandonedrealms.com",
        "XTERM 256 COLORS": "1"
      },
      "option_states": {
        "server_offered": {
          "0x5a": false,
          "0x5b": false,
          "GMCP": true,
          "MSDP": true,
          "MSSP": true
        },
        "server_requested": {
          "0x5b": false,
          "0xc8": false,
          "CHARSET": true,
          "NAWS": true,
          "SGA": true,
          "TTYPE": true
        }
      },
      "timing": {
        "probe": 0.5049436092376709,
        "total": 1.0060675144195557
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-08T06:15:41.999324+00:00",
      "host": "abandonedrealms.com",
      "ip": "45.33.104.106",
      "port": 9000
    }
  ]
}

Connection Log

Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server.

DEBUG client.py:770 Fingerprint client: host=abandonedrealms.com port=9000
INFO client_base.py:174 Connected to <Peer 45.33.104.106 9000>
DEBUG stream_writer.py:692 recv IAC DO TTYPE
DEBUG stream_writer.py:1733 handle_do(TTYPE)
DEBUG stream_writer.py:3030 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:933 send IAC WILL TTYPE
DEBUG stream_writer.py:3030 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3030 local_option[TTYPE] = True
DEBUG stream_writer.py:3030 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:684 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:671 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3030 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2197 recv TTYPE SEND: b''
DEBUG stream_writer.py:2208 send IAC SB TTYPE IS b'VT100' IAC SE
DEBUG stream_writer.py:692 recv IAC DO NAWS
DEBUG stream_writer.py:1733 handle_do(NAWS)
DEBUG stream_writer.py:3030 pending_option[WILL + NAWS] = True
DEBUG stream_writer.py:933 send IAC WILL NAWS
DEBUG stream_writer.py:2300 send IAC SB NAWS (rows=25, cols=80) IAC SE
DEBUG stream_writer.py:3030 local_option[NAWS] = True
DEBUG stream_writer.py:3030 pending_option[WILL + NAWS] = False
DEBUG stream_writer.py:692 recv IAC DO CHARSET
DEBUG stream_writer.py:1733 handle_do(CHARSET)
DEBUG stream_writer.py:3030 pending_option[WILL + CHARSET] = True
DEBUG stream_writer.py:933 send IAC WILL CHARSET
DEBUG stream_writer.py:3030 local_option[CHARSET] = True
DEBUG stream_writer.py:3030 pending_option[WILL + CHARSET] = False
DEBUG stream_writer.py:692 recv IAC WILL MSDP
DEBUG stream_writer.py:708 WILL MSDP unsolicited
DEBUG stream_writer.py:1863 handle_will(MSDP)
DEBUG stream_writer.py:3030 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:933 send IAC DO MSDP
DEBUG stream_writer.py:3030 remote_option[MSDP] = True
DEBUG stream_writer.py:3030 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:692 recv IAC WILL MSSP
DEBUG stream_writer.py:708 WILL MSSP unsolicited
DEBUG stream_writer.py:1863 handle_will(MSSP)
DEBUG stream_writer.py:3030 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:933 send IAC DO MSSP
DEBUG stream_writer.py:3030 remote_option[MSSP] = True
DEBUG stream_writer.py:3030 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:692 recv IAC DO ATCP
DEBUG stream_writer.py:1733 handle_do(ATCP)
DEBUG stream_writer.py:3030 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:933 send IAC WILL ATCP
DEBUG stream_writer.py:3030 local_option[ATCP] = True
DEBUG stream_writer.py:3030 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:692 recv IAC WILL MSP
DEBUG stream_writer.py:708 WILL MSP unsolicited
DEBUG stream_writer.py:1863 handle_will(MSP)
DEBUG stream_writer.py:3030 pending_option[DO + MSP] = True
DEBUG stream_writer.py:933 send IAC DO MSP
DEBUG stream_writer.py:3030 remote_option[MSP] = True
DEBUG stream_writer.py:3030 pending_option[DO + MSP] = False
DEBUG stream_writer.py:692 recv IAC DO MXP
DEBUG stream_writer.py:1733 handle_do(MXP)
DEBUG stream_writer.py:3030 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:933 send IAC WILL MXP
DEBUG stream_writer.py:3030 local_option[MXP] = True
DEBUG stream_writer.py:3030 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:692 recv IAC WILL GMCP
DEBUG stream_writer.py:708 WILL GMCP unsolicited
DEBUG stream_writer.py:1863 handle_will(GMCP)
DEBUG stream_writer.py:3030 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:933 send IAC DO GMCP
DEBUG stream_writer.py:3030 remote_option[GMCP] = True
DEBUG stream_writer.py:3030 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:692 recv IAC DO SGA
DEBUG stream_writer.py:1733 handle_do(SGA)
DEBUG stream_writer.py:3030 pending_option[WILL + SGA] = True
DEBUG stream_writer.py:933 send IAC WILL SGA
DEBUG stream_writer.py:3030 local_option[SGA] = True
DEBUG stream_writer.py:3030 pending_option[WILL + SGA] = False
DEBUG stream_writer.py:684 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:671 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2025 [SB + TTYPE] unsolicited
DEBUG stream_writer.py:2197 recv TTYPE SEND: b''
DEBUG stream_writer.py:2208 send IAC SB TTYPE IS b'VT100' IAC SE
DEBUG stream_writer.py:684 begin sub-negotiation SB CHARSET
DEBUG stream_writer.py:671 sub-negotiation cmd CHARSET SE completion byte
DEBUG stream_writer.py:2025 [SB + CHARSET] unsolicited
DEBUG client.py:266 encoding negotiated: UTF-8
DEBUG stream_writer.py:2105 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE
DEBUG stream_writer.py:684 begin sub-negotiation SB MSDP
DEBUG stream_writer.py:671 sub-negotiation cmd MSDP SE completion byte
DEBUG stream_writer.py:2025 [SB + MSDP] unsolicited
DEBUG stream_writer.py:1633 MSDP: {'SERVER_ID': 'Abandoned Realms'}
DEBUG stream_writer.py:684 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:671 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2025 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1637 MSSP: {'NAME': 'Abandoned Realms', 'PLAYERS': '12', 'UPTIME': '1770542777', 'CRAWL DELAY': '1',
    'HOSTNAME': 'abandonedrealms.com', 'PORT': '9000', 'CODEBASE': 'rom 2.4', 'CONTACT': 'abandonedrealms@gmail.com', 'CREATED':
    '1997', 'IP': '45.79.228.121', 'LANGUAGE': '', 'LOCATION': 'US', 'MINIMUM AGE': '0', 'WEBSITE': 'https://abandonedrealms.com',
    'FAMILY': 'DikuMUD', 'GENRE': 'Fantasy', 'GAMEPLAY': 'Player versus Player, Roleplaying', 'STATUS': 'Live', 'GAMESYSTEM':
    'Custom', 'INTERMUD': '', 'SUBGENRE': 'Medieval Fantasy', 'AREAS': '119', 'HELPFILES': '1700', 'MOBILES': '3376', 'OBJECTS':
    '6158', 'ROOMS': '10478', 'CLASSES': '13', 'LEVELS': '50', 'RACES': '17', 'SKILLS': '931', 'ANSI': '1', 'GMCP': '1', 'MCCP':
    '0', 'MCP': '0', 'MSDP': '1', 'MSP': '1', 'MXP': '1', 'PUEBLO': '0', 'UTF-8': '1', 'VT100': '0', 'XTERM 256 COLORS': '1'}
DEBUG stream_writer.py:684 begin sub-negotiation SB MXP
DEBUG stream_writer.py:671 sub-negotiation cmd MXP SE completion byte
DEBUG stream_writer.py:2025 [SB + MXP] unsolicited
DEBUG stream_writer.py:1646 MXP: b''
DEBUG stream_writer.py:684 begin sub-negotiation SB GMCP
DEBUG stream_writer.py:671 sub-negotiation cmd GMCP SE completion byte
DEBUG stream_writer.py:2025 [SB + GMCP] unsolicited
WARNING client_base.py:495   File "/home/jquast/telnetlib3/telnetlib3/client_base.py", line 399, in _process_chunk
WARNING client_base.py:495     recv_inband = writer.feed_byte(_ONE_BYTE[b])
WARNING client_base.py:495                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
WARNING client_base.py:495   File "/home/jquast/telnetlib3/telnetlib3/stream_writer.py", line 675, in feed_byte
WARNING client_base.py:495     self.handle_subnegotiation(self._sb_buffer)
WARNING client_base.py:495   File "/home/jquast/telnetlib3/telnetlib3/stream_writer.py", line 2051, in handle_subnegotiation
WARNING client_base.py:495     fn_call(buf)
WARNING client_base.py:495   File "/home/jquast/telnetlib3/telnetlib3/stream_writer.py", line 2802, in _handle_sb_gmcp
WARNING client_base.py:495     package, data = gmcp_decode(payload, encoding=encoding)
WARNING client_base.py:495                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
WARNING client_base.py:495   File "/home/jquast/telnetlib3/telnetlib3/mud.py", line 93, in gmcp_decode
WARNING client_base.py:495     raise ValueError(f"Invalid JSON in GMCP payload: {exc}") from exc
WARNING client_base.py:495 ValueError: Invalid JSON in GMCP payload: Extra data: line 2 column 1 (char 3)
DEBUG client_base.py:460 negotiation complete after 2.00s.
DEBUG client_base.py:88 EOF from server, closing.
INFO client_base.py:105 Connection closed to <Peer 45.33.104.106 9000>
INFO fingerprinting.py:746 connection for server fingerprint 69b479d9c26ec2e2

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug abandonedrealms.com 9000