BrutusMUD

Connection Banner:

_​_________ \\_​_____ \\ _​____ __ __ _​______ __ __ _​____ \| \| _/\| _ \\\| \| \|\|_ _\|\| \| \|\| ___\| \| \| \\\| /\| \| \| \| \| \| \| \|\|___ \| / _​_____ /\|__\|__\\\|_​____\| \|__\| \|_​____\|\|_​____\| \\/ \\/ BRUTUS MUD Created by Andy, Angela & Huan (with help of many others) Inspired by CircleMUD 3.0, (created by Jeremy Elson) CircleMUD is derivative of DikuMUD (GAMMA 0.0) Created by Hans Henrik Staerfeldt, Katja Nyboe, Tom Madsen, Michael Seifert, and Sebastian Hammer By what name do you wish to be known?

Server URLs

Server Info

  • Codebase: BrutusMud 0-20260302-brutusmud

  • Genre: Fantasy

  • Gameplay: Hack-n-Slash

  • Players online: 2 [1]

  • Uptime: 1 days

  • Created: 1997

  • Status: Live

  • Server Location: 🇮🇪 Ireland (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: Negotiated

  • MXP: No

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

c2dd7d4e76383b41

This fingerprint is shared by 75 other servers.

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

Show JSON
{
  "server-probe": {
    "fingerprint": "c2dd7d4e76383b41",
    "fingerprint-data": {
      "offered-options": [],
      "probed-protocol": "server",
      "refused-options": [],
      "requested-options": [],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "",
      "banner_before_return": "\u001b[H\u001b[J\r\n\r\n                 __________                                      \r\n                 \\______   \\ _____  __ __  _______ __ __  _____  \r\n                  |    |  _/|  _  \\|  |  ||_    _||  |  ||  ___| \r\n                  |    |   \\|     /|  |  |  |  |  |  |  ||___  | \r\n                 / ______  /|__|__\\|_____|  |__|  |_____||_____| \r\n                 \\/      \\/                                      \r\n                                 BRUTUS MUD\r\n\r\n                                 Created by\r\n                            Andy, Angela & Huan\r\n                           (with help of many others)\r\n\r\n                           Inspired by CircleMUD 3.0,\r\n                           (created by Jeremy Elson)\r\n\r\n                  CircleMUD is derivative of DikuMUD (GAMMA 0.0)\r\n                                  Created by\r\n                     Hans Henrik Staerfeldt, Katja Nyboe,\r\n               Tom Madsen, Michael Seifert, and Sebastian Hammer\r\n\r\n\r\n\r\n\r\nBy what name do you wish to be known? ",
      "dsr_replies": 0,
      "dsr_requests": 0,
      "encoding": "ascii",
      "mssp": {
        "ANSI": "1",
        "AREAS": "358",
        "CLASSES": "12",
        "CODEBASE": "BrutusMud 0-20260302-brutusmud",
        "CONTACT": "andy@brutusmud.net",
        "CREATED": "1997",
        "FAMILY": "MUD",
        "GAMEPLAY": "Hack-n-Slash",
        "GAMESYSTEM": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HOSTNAME": "brutusmud.net",
        "LANGUAGE": "English",
        "LEVELS": "220",
        "LOCATION": "Ireland",
        "MCCP": "1",
        "MCP": "0",
        "MSDP": "0",
        "MSP": "0",
        "MXP": "0",
        "NAME": "BrutusMUD",
        "OBJECTS": "18023",
        "PLAYERS": "2",
        "PORT": "4444",
        "PUEBLO": "0",
        "RACES": "19",
        "ROOMS": "39790",
        "SKILLS": "4988",
        "STATUS": "Live",
        "UPTIME": "1772725342",
        "UTF-8": "0",
        "VT100": "0",
        "WEBSITE": "https://brutusmud.net",
        "XTERM COLORS": "1"
      },
      "option_states": {
        "server_offered": {
          "AARDWOLF": false,
          "ATCP": false,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": true,
          "MXP": false,
          "ZMP": false
        },
        "server_requested": {
          "AARDWOLF": false,
          "ATCP": false,
          "GMCP": false,
          "MCCP2": false,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": false,
          "MXP": false,
          "ZMP": false
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.0,
        "total": 5.533982515335083
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T04:02:50.071780+00:00",
      "host": "brutusmud.net",
      "ip": "93.107.43.213",
      "port": 4444
    }
  ]
}

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 brutusmud.net 4444
Show Logfile
DEBUG client.py:1193 Fingerprint client: host=brutusmud.net port=4444
INFO client_base.py:186 Connected to <Peer 93.107.43.213 4444>
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1019 send IAC WILL MXP
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1019 send IAC WILL ATCP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1019 send IAC WILL GMCP
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSP
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSDP
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1019 send IAC WILL MSSP
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1019 send IAC WILL ZMP
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1019 send IAC DO MXP
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1019 send IAC DO ATCP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3330 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1019 send IAC DO GMCP
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1019 send IAC DO AARDWOLF
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSP
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1019 send IAC DO MSDP
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1019 send IAC DO MSSP
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1019 send IAC DO ZMP
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1019 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:768 recv IAC WILL MSSP
DEBUG stream_writer.py:1994 handle_will(MSSP)
DEBUG stream_writer.py:993 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MSSP] = True
DEBUG stream_writer.py:3330 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:768 recv IAC DONT MXP
DEBUG stream_writer.py:1959 handle_dont(MXP)
DEBUG stream_writer.py:3330 pending_option[WILL + MXP] = False
DEBUG stream_writer.py:3330 local_option[MXP] = False
DEBUG stream_writer.py:768 recv IAC DONT ATCP
DEBUG stream_writer.py:1959 handle_dont(ATCP)
DEBUG stream_writer.py:3330 pending_option[WILL + ATCP] = False
DEBUG stream_writer.py:3330 local_option[ATCP] = False
DEBUG stream_writer.py:768 recv IAC DONT MCCP3_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC DONT GMCP
DEBUG stream_writer.py:1959 handle_dont(GMCP)
DEBUG stream_writer.py:3330 pending_option[WILL + GMCP] = False
DEBUG stream_writer.py:3330 local_option[GMCP] = False
DEBUG stream_writer.py:768 recv IAC DONT AARDWOLF
DEBUG stream_writer.py:1959 handle_dont(AARDWOLF)
DEBUG stream_writer.py:3330 pending_option[WILL + AARDWOLF] = False
DEBUG stream_writer.py:3330 local_option[AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC DONT MSP
DEBUG stream_writer.py:1959 handle_dont(MSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSP] = False
DEBUG stream_writer.py:3330 local_option[MSP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSDP
DEBUG stream_writer.py:1959 handle_dont(MSDP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSDP] = False
DEBUG stream_writer.py:3330 local_option[MSDP] = False
DEBUG stream_writer.py:768 recv IAC DONT MSSP
DEBUG stream_writer.py:1959 handle_dont(MSSP)
DEBUG stream_writer.py:3330 pending_option[WILL + MSSP] = False
DEBUG stream_writer.py:3330 local_option[MSSP] = False
DEBUG stream_writer.py:768 recv IAC DONT ZMP
DEBUG stream_writer.py:1959 handle_dont(ZMP)
DEBUG stream_writer.py:3330 pending_option[WILL + ZMP] = False
DEBUG stream_writer.py:3330 local_option[ZMP] = False
DEBUG stream_writer.py:768 recv IAC DONT MCCP2_COMPRESS
DEBUG stream_writer.py:1959 handle_dont(MCCP2_COMPRESS)
DEBUG stream_writer.py:3330 pending_option[WILL + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:3330 local_option[MCCP2_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WONT MXP
DEBUG stream_writer.py:2148 handle_wont(MXP)
DEBUG stream_writer.py:3330 remote_option[MXP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MXP] = False
DEBUG stream_writer.py:768 recv IAC WONT ATCP
DEBUG stream_writer.py:2148 handle_wont(ATCP)
DEBUG stream_writer.py:3330 remote_option[ATCP] = False
DEBUG stream_writer.py:3330 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:768 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2148 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3330 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3330 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:768 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2148 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3330 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3330 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:768 recv IAC WONT MSP
DEBUG stream_writer.py:2148 handle_wont(MSP)
DEBUG stream_writer.py:3330 remote_option[MSP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSP] = False
DEBUG stream_writer.py:768 recv IAC WONT MSDP
DEBUG stream_writer.py:2148 handle_wont(MSDP)
DEBUG stream_writer.py:3330 remote_option[MSDP] = False
DEBUG stream_writer.py:3330 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:749 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2187 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1745 MSSP: {'NAME': 'BrutusMUD', 'UPTIME': '1772725342', 'PLAYERS': '2', 'CODEBASE': 'BrutusMud
    0-20260302-brutusmud', 'CREATED': '1997', 'OBJECTS': '18023', 'ROOMS': '39790', 'SKILLS': '4988', 'HOSTNAME': 'brutusmud.net',
    'PORT': '4444', 'CONTACT': 'andy@brutusmud.net', 'LANGUAGE': 'English', 'LOCATION': 'Ireland', 'WEBSITE':
    'https://brutusmud.net', 'FAMILY': 'MUD', 'GENRE': 'Fantasy', 'GAMEPLAY': 'Hack-n-Slash', 'STATUS': 'Live', 'GAMESYSTEM':
    'Custom', 'AREAS': '358', 'CLASSES': '12', 'LEVELS': '220', 'RACES': '19', 'ANSI': '1', 'GMCP': '1', 'MCCP': '1', 'MCP': '0',
    'MSDP': '0', 'MSP': '0', 'MXP': '0', 'PUEBLO': '0', 'UTF-8': '0', 'VT100': '0', 'XTERM COLORS': '1'}
DEBUG stream_writer.py:768 recv IAC WONT ZMP
DEBUG stream_writer.py:2148 handle_wont(ZMP)
DEBUG stream_writer.py:3330 remote_option[ZMP] = False
DEBUG stream_writer.py:3330 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:768 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:1994 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:993 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3330 remote_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3330 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:762 begin sub-negotiation SB MCCP2_COMPRESS
DEBUG stream_writer.py:749 sub-negotiation cmd MCCP2_COMPRESS SE completion byte
DEBUG stream_writer.py:2187 [SB + MCCP2_COMPRESS] unsolicited
DEBUG stream_writer.py:3178 MCCP2 activated
DEBUG client_base.py:448 MCCP2 decompression started (server→client)
DEBUG client_base.py:499 negotiation failed after 4.00s.
DEBUG client_base.py:505 failed-reply: 'DO GMCP'
DEBUG client_base.py:89 EOF from server, closing.
INFO client_base.py:118 Connection closed to <Peer 93.107.43.213 4444>
INFO fingerprinting.py:755 connection for server fingerprint c2dd7d4e76383b41