Epitaph

epitaphonline.co.uk:6789

Server Info

  • Codebase: Epiphany v1.2.13 [release]

  • Family: LPMud

  • Genre: horror

  • Gameplay: Roleplaying, Player versus Player, Hack and Slash, Adventure

  • Players online: 1 [1]

  • Created: 2009

  • Status: open

  • Website: http://epitaphonline.co.uk/

  • Location: United Kingdom

Protocol Support

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

  • MSSP: Yes (MSSP)

  • GMCP: Negotiated

  • MSDP: No

  • MCCP: Yes (MSSP)

  • MCCP2: No

  • MXP: Yes (MSSP)

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

312c689f1ba144a9…

This fingerprint is shared by 1 other server.

Options requested from client: NAWS, NEW_ENVIRON, TTYPE

Data source: 312c689f1ba144a9/7905a771d3d0a030.json

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

{
  "server-probe": {
    "fingerprint": "312c689f1ba144a9",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "ECHO",
        "EOR",
        "SGA",
        "STATUS"
      ],
      "requested-options": [
        "NAWS",
        "NEW_ENVIRON",
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "There is no player by the name .\r\n\r\nPress enter to continue ",
      "banner_before_return": "LPmud version : FluffOS v2.26 (MeekOS version) on port 6789.\r\nMudlib Version: Epiphany v1.2.13 [release]\r\nWelcome to Epitaph: Where The Living Envy The Dead.\r\n\r\nEpitaph is a mature content game.  \r\nYou must be 18 years or older to play.\r\n\r\nQ - Quit\r\nM - Print this menu again\r\nD - Delete your character\r\nR - Request a temporary password\r\nU - Short list of who is on-line\r\nN - New character\r\n\r\nOr, enter your current character's name\r\n\r\nYour choice: ",
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "CODEBASE": "Epiphany v1.2.13 [release]",
        "CREATED": "2009",
        "FAMILY": "LPMud",
        "GAMEPLAY": [
          "Roleplaying",
          "Player versus Player",
          "Hack and Slash",
          "Adventure"
        ],
        "GENRE": "horror",
        "HOSTNAME": [
          "epitaphonline.co.uk",
          "epitaphonline.co.uk"
        ],
        "INTERMUD": [
          "IMC2",
          "I3"
        ],
        "IP": "135.181.197.219",
        "LANGUAGE": "English",
        "LOCATION": "United Kingdom",
        "MCCP": "1",
        "MULTIPLAYING": "None",
        "MXP": "1",
        "NAME": "Epitaph",
        "PAY FOR PERKS": "0",
        "PAY TO PLAY": "0",
        "PLAYERKILLING": "Restricted",
        "PLAYERS": "1",
        "PORT": "6789",
        "ROLEPLAYING": "Accepted",
        "STATUS": "open",
        "SUBGENRE": "apocalyptic fiction",
        "TRAINING SYSTEM": "Both",
        "UPTIME": "1767346572",
        "VT100": "1",
        "WEBSITE": "http://epitaphonline.co.uk/",
        "WORLD ORIGINALITY": "All Original",
        "WORLDS": "1"
      },
      "option_states": {
        "environ_requested": [
          {
            "name": "*",
            "type": "VAR"
          },
          {
            "name": "*",
            "type": "USERVAR"
          }
        ],
        "server_offered": {
          "0x55": false,
          "0x56": false,
          "0x5d": false,
          "GMCP": true,
          "MSSP": true
        },
        "server_requested": {
          "0x5b": false,
          "NAWS": true,
          "NEW_ENVIRON": true,
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.5046396255493164,
        "total": 3.1476690769195557
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-02-08T16:16:22.265637+00:00",
      "host": "epitaphonline.co.uk",
      "ip": "135.181.197.219",
      "port": 6789
    }
  ]
}

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=epitaphonline.co.uk port=6789
INFO client_base.py:174 Connected to <Peer 135.181.197.219 6789>
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: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 WILL MCCP2_COMPRESS
DEBUG stream_writer.py:708 WILL MCCP2_COMPRESS unsolicited
DEBUG stream_writer.py:1863 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:3030 remote_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:933 send IAC DONT MCCP2_COMPRESS
WARNING stream_writer.py:1968 Unhandled: WILL MCCP2_COMPRESS.
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 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 WILL ZMP
DEBUG stream_writer.py:708 WILL ZMP unsolicited
DEBUG stream_writer.py:1863 handle_will(ZMP)
DEBUG stream_writer.py:3030 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:933 send IAC DO ZMP
DEBUG stream_writer.py:3030 remote_option[ZMP] = True
DEBUG stream_writer.py:3030 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:692 recv IAC DO NEW_ENVIRON
DEBUG stream_writer.py:1733 handle_do(NEW_ENVIRON)
DEBUG stream_writer.py:3030 pending_option[WILL + NEW_ENVIRON] = True
DEBUG stream_writer.py:933 send IAC WILL NEW_ENVIRON
DEBUG stream_writer.py:3030 pending_option[SB + NEW_ENVIRON] = True
DEBUG stream_writer.py:3030 local_option[NEW_ENVIRON] = True
DEBUG stream_writer.py:3030 pending_option[WILL + NEW_ENVIRON] = 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: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 WILL MCCP_COMPRESS
DEBUG stream_writer.py:708 WILL MCCP_COMPRESS unsolicited
DEBUG stream_writer.py:1863 handle_will(MCCP_COMPRESS)
DEBUG stream_writer.py:3030 remote_option[MCCP_COMPRESS] = False
DEBUG stream_writer.py:933 send IAC DONT MCCP_COMPRESS
WARNING stream_writer.py:1968 Unhandled: WILL MCCP_COMPRESS.
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 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': 'Epitaph', 'UPTIME': '1767346572', 'WORLDS': '1', 'FAMILY': 'LPMud', 'IP':
    '135.181.197.219', 'PLAYERS': '1', 'ROLEPLAYING': 'Accepted', 'CREATED': '2009', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '0',
    'PORT': '6789', 'WORLD ORIGINALITY': 'All Original', 'TRAINING SYSTEM': 'Both', 'LOCATION': 'United Kingdom', 'STATUS':
    'open', 'CODEBASE': 'Epiphany v1.2.13 [release]', 'MXP': '1', 'MULTIPLAYING': 'None', 'WEBSITE':
    'http://epitaphonline.co.uk/', 'INTERMUD': ['IMC2', 'I3'], 'PLAYERKILLING': 'Restricted', 'HOSTNAME': ['epitaphonline.co.uk',
    'epitaphonline.co.uk'], 'GENRE': 'horror', 'GAMEPLAY': ['Roleplaying', 'Player versus Player', 'Hack and Slash', 'Adventure'],
    'LANGUAGE': 'English', 'VT100': '1', 'MCCP': '1', 'ANSI': '1', 'SUBGENRE': 'apocalyptic fiction'}
DEBUG stream_writer.py:684 begin sub-negotiation SB NEW_ENVIRON
DEBUG stream_writer.py:671 sub-negotiation cmd NEW_ENVIRON SE completion byte
DEBUG stream_writer.py:3030 pending_option[SB + NEW_ENVIRON] = False
DEBUG stream_writer.py:2243 recv NEW_ENVIRON SEND (all)
DEBUG stream_writer.py:2266 env send: LANG='C', TERM='VT100', LINES=25, COLUMNS=80, COLORTERM=''
DEBUG client_base.py:460 negotiation complete after 0.22s.
DEBUG stream_writer.py:1287 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:3030 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:933 send IAC DO BINARY
DEBUG stream_writer.py:3030 pending_option[DO + SGA] = True
DEBUG stream_writer.py:933 send IAC DO SGA
DEBUG stream_writer.py:3030 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:933 send IAC DO ECHO
DEBUG stream_writer.py:3030 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:933 send IAC DO STATUS
DEBUG stream_writer.py:3030 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:933 send IAC DO CHARSET
DEBUG stream_writer.py:3030 pending_option[DO + EOR] = True
DEBUG stream_writer.py:933 send IAC DO EOR
DEBUG stream_writer.py:3030 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:933 send IAC DO COM_PORT_OPTION
DEBUG stream_writer.py:3030 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:933 send IAC DO MSDP
DEBUG stream_writer.py:3030 pending_option[DO + MSP] = True
DEBUG stream_writer.py:933 send IAC DO MSP
DEBUG stream_writer.py:3030 pending_option[DO + MXP] = True
DEBUG stream_writer.py:933 send IAC DO MXP
DEBUG stream_writer.py:3030 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:933 send IAC DO AARDWOLF
DEBUG stream_writer.py:3030 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:933 send IAC DO ATCP
DEBUG stream_writer.py:692 recv IAC WONT BINARY
DEBUG stream_writer.py:1985 handle_wont(BINARY)
DEBUG stream_writer.py:3030 remote_option[BINARY] = False
DEBUG stream_writer.py:3030 pending_option[DO + BINARY] = False
DEBUG stream_writer.py:692 recv IAC WONT SGA
DEBUG stream_writer.py:1985 handle_wont(SGA)
DEBUG stream_writer.py:3030 remote_option[SGA] = False
DEBUG stream_writer.py:3030 pending_option[DO + SGA] = False
DEBUG stream_writer.py:692 recv IAC WONT STATUS
DEBUG stream_writer.py:1985 handle_wont(STATUS)
DEBUG stream_writer.py:3030 remote_option[STATUS] = False
DEBUG stream_writer.py:3030 pending_option[DO + STATUS] = False
DEBUG stream_writer.py:692 recv IAC WONT CHARSET
DEBUG stream_writer.py:1985 handle_wont(CHARSET)
DEBUG stream_writer.py:3030 remote_option[CHARSET] = False
DEBUG stream_writer.py:3030 pending_option[DO + CHARSET] = False
DEBUG stream_writer.py:692 recv IAC WONT EOR
DEBUG stream_writer.py:1985 handle_wont(EOR)
DEBUG stream_writer.py:3030 remote_option[EOR] = False
DEBUG stream_writer.py:3030 pending_option[DO + EOR] = False
DEBUG stream_writer.py:692 recv IAC WONT COM_PORT_OPTION
DEBUG stream_writer.py:1985 handle_wont(COM_PORT_OPTION)
DEBUG stream_writer.py:3030 remote_option[COM_PORT_OPTION] = False
DEBUG stream_writer.py:3030 pending_option[DO + COM_PORT_OPTION] = False
DEBUG stream_writer.py:692 recv IAC WONT MSDP
DEBUG stream_writer.py:1985 handle_wont(MSDP)
DEBUG stream_writer.py:3030 remote_option[MSDP] = False
DEBUG stream_writer.py:3030 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:692 recv IAC WONT MSP
DEBUG stream_writer.py:1985 handle_wont(MSP)
DEBUG stream_writer.py:3030 remote_option[MSP] = False
DEBUG stream_writer.py:3030 pending_option[DO + MSP] = False
DEBUG stream_writer.py:692 recv IAC WONT MXP
DEBUG stream_writer.py:1985 handle_wont(MXP)
DEBUG stream_writer.py:3030 remote_option[MXP] = False
DEBUG stream_writer.py:3030 pending_option[DO + MXP] = False
DEBUG stream_writer.py:692 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:1985 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3030 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3030 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:692 recv IAC WONT ATCP
DEBUG stream_writer.py:1985 handle_wont(ATCP)
DEBUG stream_writer.py:3030 remote_option[ATCP] = False
DEBUG stream_writer.py:3030 pending_option[DO + ATCP] = False
INFO fingerprinting.py:746 connection for server fingerprint 909f753421a0f55b
INFO client_base.py:105 Connection closed to <Peer 135.181.197.219 6789>

Generated by telnetlib3-fingerprint

telnetlib3-fingerprint --loglevel=debug epitaphonline.co.uk 6789