Aetolia, the Midnight Age

Connection Banner:

Rapture Runtime Environment v2.4.9.1 -- (c) 2026 -- Iron Realms Entertainment Multi-User License: 100-0001-000 ' ' ' \| \| \| \| \| \| \| \| \| \| \| \| \| ' ' ' A E T O L I A t h e M i d n i g h t A g e "Unforgotten." - Omei, the Nightmare, to Her Court, prior to Her demise by Varian's hands at the end of the Creators' Monomachy. ' ' ' \| \| \| \| \| \| \| \| \| \| \| \| \| ' ' ' Aetolia's address is: Contact us at: aetolia.com, port 23 support@aetolia.com 43 players currently online. 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: 43 [1]

  • Uptime: 0 days

  • Created: 2001

  • Status: Live

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

  • 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: Negotiated

  • MXP: Yes (MSSP)

  • MSP: No

  • MCP: No

  • ZMP: No

Telnet Fingerprint

8d56988a297530ac

This fingerprint is shared by 4 other servers.

Options offered by server: ATCP, EOR, GMCP, MCCP2, 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": "8d56988a297530ac",
    "fingerprint-data": {
      "offered-options": [
        "ATCP",
        "EOR",
        "GMCP",
        "MCCP2",
        "MSSP"
      ],
      "probed-protocol": "server",
      "refused-options": [
        "AARDWOLF",
        "BINARY",
        "CHARSET",
        "COM_PORT",
        "ECHO",
        "MCCP3",
        "MSDP",
        "MSP",
        "MXP",
        "SGA",
        "STATUS",
        "ZMP"
      ],
      "requested-options": [
        "TTYPE"
      ],
      "scan-type": "quick"
    },
    "session_data": {
      "banner_after_return": "Enter 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-0001-000\r\r\n\r\r\n\u001b[0;37m                     \u001b[31m' ' ' | |\u001b[37m\u001b[1;31m | | | | | | | | | \u001b[0;37m\u001b[31m| | ' ' '\u001b[37m\r\n\r\n                                 \u001b[1;30mA E T O L I A\u001b[0;37m\r\n                        \u001b[1;30mt h e   M i d n i g h t   A g e\u001b[0;37m\r\n\r\n               \u001b[36m                  \"Unforgotten.\"                  \u001b[37m\r\n               \u001b[36m                                                  \u001b[37m\r\n              \u001b[1;30m    - Omei, the Nightmare, to Her Court, prior to \u001b[0;37m\r\n              \u001b[1;30m   Her demise by Varian's hands at the end of the \u001b[0;37m\r\n              \u001b[1;30m                              Creators' Monomachy.\u001b[0;37m\r\n              \u001b[1;30m                                                  \u001b[0;37m\r\n                     \u001b[31m' ' ' | |\u001b[37m\u001b[1;31m | | | | | | | | | \u001b[0;37m\u001b[31m| | ' ' '\u001b[37m\r\n\r\n              Aetolia's address is:               Contact us at:\r\n              \u001b[31maetolia.com\u001b[37m, port \u001b[31m23\u001b[37m             \u001b[31msupport@aetolia.com\u001b[37m\r\n\r\n                            \u001b[36m43\u001b[37m players currently online.\r\n\r\n                            \u001b[1;31m1.\u001b[0;37m Enter the game.\r\n                            \u001b[1;31m2.\u001b[0;37m Create a new character.\r\n                            \u001b[1;31m3.\u001b[0;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",
        "AREAS": "564",
        "CHARSET": "ASCII",
        "CLASSES": "32",
        "CODEBASE": "Rapture",
        "CONTACT": "support@aetolia.com",
        "CRAWL DELAY": "-1",
        "CREATED": "2001",
        "DISCORD": "https://discord.gg/x2s7fY6",
        "FAMILY": "Custom",
        "GENRE": "Fantasy",
        "GMCP": "1",
        "HOSTNAME": "aetolia.com",
        "ICON": "https://www.aetolia.com/wp-content/uploads/2026/01/aetolia-icon-64.png",
        "IP": "67.202.121.43",
        "LANGUAGE": "English",
        "LEVELS": "200+",
        "LOCATION": "United States of America",
        "MCCP": "1",
        "MCP": "0",
        "MOBILES": "96818",
        "MSP": "0",
        "MXP": "1",
        "NAME": "Aetolia, the Midnight Age",
        "OBJECTS": "15000",
        "PLAYERS": "43",
        "PORT": [
          "2003",
          "23"
        ],
        "RACES": "33",
        "ROOMS": "26804",
        "SKILLS": "4582",
        "STATUS": "Live",
        "SUBGENRE": "Dark Fantasy",
        "UPTIME": "1775541318",
        "WEBSITE": "https://www.aetolia.com",
        "XTERM 256 COLORS": "1",
        "XTERM TRUE COLORS": "0"
      },
      "option_states": {
        "server_offered": {
          "AARDWOLF": false,
          "ATCP": true,
          "EOR": true,
          "GMCP": true,
          "MCCP2": true,
          "MCCP3": false,
          "MSDP": false,
          "MSP": false,
          "MSSP": true,
          "MXP": false,
          "ZMP": false
        },
        "server_requested": {
          "TTYPE": true
        }
      },
      "scan_type": "quick",
      "timing": {
        "probe": 0.503523588180542,
        "total": 11.065078020095825
      }
    }
  },
  "sessions": [
    {
      "connected": "2026-03-07T03:56:51.114801+00:00",
      "host": "aetolia.com",
      "ip": "67.202.121.43",
      "port": 23
    },
    {
      "connected": "2026-04-07T06:44:06.253653+00:00",
      "host": "aetolia.com",
      "ip": "67.202.121.43",
      "port": 23
    }
  ]
}

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 aetolia.com 23
Show Logfile
DEBUG client.py:1200 Fingerprint client: host=aetolia.com port=23
INFO client_base.py:190 Connected to <Peer 67.202.121.43 23>
DEBUG stream_writer.py:3384 pending_option[WILL + MXP] = True
DEBUG stream_writer.py:1024 send IAC WILL MXP
DEBUG stream_writer.py:3384 pending_option[WILL + ATCP] = True
DEBUG stream_writer.py:1024 send IAC WILL ATCP
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[WILL + MSSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSSP
DEBUG stream_writer.py:3384 pending_option[WILL + MSDP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSDP
DEBUG stream_writer.py:3384 pending_option[WILL + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC WILL MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[WILL + MSP] = True
DEBUG stream_writer.py:1024 send IAC WILL MSP
DEBUG stream_writer.py:3384 pending_option[WILL + ZMP] = True
DEBUG stream_writer.py:1024 send IAC WILL ZMP
DEBUG stream_writer.py:3384 pending_option[WILL + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC WILL AARDWOLF
DEBUG stream_writer.py:3384 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:1024 send IAC WILL GMCP
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = True
DEBUG stream_writer.py:1024 send IAC DO MXP
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = True
DEBUG stream_writer.py:1024 send IAC DO ATCP
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP2_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSSP
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:1024 send IAC DO MSDP
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = True
DEBUG stream_writer.py:1024 send IAC DO MCCP3_COMPRESS
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = True
DEBUG stream_writer.py:1024 send IAC DO MSP
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:1024 send IAC DO ZMP
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = True
DEBUG stream_writer.py:1024 send IAC DO AARDWOLF
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = True
DEBUG stream_writer.py:1024 send IAC DO GMCP
DEBUG stream_writer.py:773 recv IAC WILL EOR
DEBUG stream_writer.py:789 WILL EOR unsolicited
DEBUG stream_writer.py:2045 handle_will(EOR)
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = True
DEBUG stream_writer.py:1024 send IAC DO EOR
DEBUG stream_writer.py:3384 remote_option[EOR] = True
DEBUG stream_writer.py:3384 pending_option[DO + EOR] = False
DEBUG stream_writer.py:773 recv IAC WILL ATCP
DEBUG stream_writer.py:2045 handle_will(ATCP)
DEBUG stream_writer.py:998 skip DO ATCP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[ATCP] = True
DEBUG stream_writer.py:3384 pending_option[DO + ATCP] = False
DEBUG stream_writer.py:773 recv IAC WILL GMCP
DEBUG stream_writer.py:2045 handle_will(GMCP)
DEBUG stream_writer.py:998 skip DO GMCP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[GMCP] = True
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Hello IAC SE
DEBUG stream_writer.py:1072 send IAC SB GMCP Core.Supports.Set IAC SE
INFO client.py:201 GMCP handshake: Core.Hello + Core.Supports.Set ['Char 1', 'Char.Vitals 1', 'Char.Items 1', 'Room 1', 'Room.Info
    1', 'Comm 1', 'Comm.Channel 1', 'Group 1']
DEBUG stream_writer.py:3384 pending_option[DO + GMCP] = False
DEBUG stream_writer.py:773 recv IAC WILL MCCP2_COMPRESS
DEBUG stream_writer.py:2045 handle_will(MCCP2_COMPRESS)
DEBUG stream_writer.py:998 skip DO MCCP2_COMPRESS; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MCCP2_COMPRESS] = True
DEBUG stream_writer.py:3384 pending_option[DO + MCCP2_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WILL MSSP
DEBUG stream_writer.py:2045 handle_will(MSSP)
DEBUG stream_writer.py:998 skip DO MSSP; pending_option = True
DEBUG stream_writer.py:3384 remote_option[MSSP] = True
DEBUG stream_writer.py:3384 pending_option[DO + MSSP] = False
DEBUG stream_writer.py:773 recv IAC DO TTYPE
DEBUG stream_writer.py:1887 handle_do(TTYPE)
DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = True
DEBUG stream_writer.py:1024 send IAC WILL TTYPE
DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = True
DEBUG stream_writer.py:3384 local_option[TTYPE] = True
DEBUG stream_writer.py:3384 pending_option[WILL + TTYPE] = False
DEBUG stream_writer.py:1451 IAC GA: Go-Ahead (unhandled).
DEBUG stream_writer.py:773 recv IAC WONT MXP
DEBUG stream_writer.py:2199 handle_wont(MXP)
DEBUG stream_writer.py:3384 remote_option[MXP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MXP] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MCCP2_COMPRESS
DEBUG stream_writer.py:754 sub-negotiation cmd MCCP2_COMPRESS SE completion byte
DEBUG stream_writer.py:2238 [SB + MCCP2_COMPRESS] unsolicited
DEBUG stream_writer.py:3232 MCCP2 activated
DEBUG client_base.py:483 MCCP2 decompression started (server→client)
DEBUG stream_writer.py:773 recv IAC WONT MSDP
DEBUG stream_writer.py:2199 handle_wont(MSDP)
DEBUG stream_writer.py:3384 remote_option[MSDP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSDP] = False
DEBUG stream_writer.py:773 recv IAC WONT MCCP3_COMPRESS
DEBUG stream_writer.py:2199 handle_wont(MCCP3_COMPRESS)
DEBUG stream_writer.py:3384 remote_option[MCCP3_COMPRESS] = False
DEBUG stream_writer.py:3384 pending_option[DO + MCCP3_COMPRESS] = False
DEBUG stream_writer.py:773 recv IAC WONT MSP
DEBUG stream_writer.py:2199 handle_wont(MSP)
DEBUG stream_writer.py:3384 remote_option[MSP] = False
DEBUG stream_writer.py:3384 pending_option[DO + MSP] = False
DEBUG stream_writer.py:773 recv IAC WONT ZMP
DEBUG stream_writer.py:2199 handle_wont(ZMP)
DEBUG stream_writer.py:3384 remote_option[ZMP] = False
DEBUG stream_writer.py:3384 pending_option[DO + ZMP] = False
DEBUG stream_writer.py:773 recv IAC WONT AARDWOLF
DEBUG stream_writer.py:2199 handle_wont(AARDWOLF)
DEBUG stream_writer.py:3384 remote_option[AARDWOLF] = False
DEBUG stream_writer.py:3384 pending_option[DO + AARDWOLF] = False
DEBUG stream_writer.py:767 begin sub-negotiation SB MSSP
DEBUG stream_writer.py:754 sub-negotiation cmd MSSP SE completion byte
DEBUG stream_writer.py:2238 [SB + MSSP] unsolicited
DEBUG stream_writer.py:1796 MSSP: {'NAME': 'Aetolia, the Midnight Age', 'PLAYERS': '43', 'UPTIME': '1775541318', 'HOSTNAME':
    'aetolia.com', 'PORT': ['2003', '23'], 'CONTACT': 'support@aetolia.com', 'CREATED': '2001', 'ICON':
    'https://www.aetolia.com/wp-content/uploads/2026/01/aetolia-icon-64.png', 'IP': '67.202.121.43', 'LANGUAGE': 'English',
    'LOCATION': 'United States of America', 'WEBSITE': 'https://www.aetolia.com', 'GENRE': 'Fantasy', 'SUBGENRE': 'Dark Fantasy',
    'AREAS': '564', 'MOBILES': '96818', 'OBJECTS': '15000', 'ROOMS': '26804', 'CLASSES': '32', 'LEVELS': '200+', 'RACES': '33',
    'SKILLS': '4582', 'ANSI': '1', 'XTERM 256 COLORS': '1', 'XTERM TRUE COLORS': '0', 'MCCP': '1', 'MCP': '0', 'MSP': '0', 'MXP':
    '1', 'GMCP': '1', 'DISCORD': 'https://discord.gg/x2s7fY6', 'CRAWL DELAY': '-1', 'CHARSET': 'ASCII', 'CODEBASE': 'Rapture',
    'FAMILY': 'Custom', 'STATUS': 'Live'}
DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:3384 pending_option[SB + TTYPE] = False
DEBUG stream_writer.py:2404 recv TTYPE SEND: b''
DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG stream_writer.py:767 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:754 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2238 [SB + TTYPE] unsolicited
DEBUG stream_writer.py:2404 recv TTYPE SEND: b''
DEBUG stream_writer.py:2416 send IAC SB TTYPE IS b'xterm-256color' IAC SE
DEBUG client_base.py:534 negotiation failed after 4.00s.
DEBUG client_base.py:540 failed-reply: 'WILL MXP, WILL ATCP, WILL MCCP2_COMPRESS, WILL MSSP, WILL MSDP, WILL MCCP3_COMPRESS, WILL
    MSP, WILL ZMP, WILL AARDWOLF, WILL GMCP'
DEBUG stream_writer.py:1470 IAC EOR: End of Record (unhandled).
DEBUG stream_writer.py:3384 pending_option[DO + BINARY] = True
DEBUG stream_writer.py:1024 send IAC DO BINARY
DEBUG stream_writer.py:3384 pending_option[DO + SGA] = True
DEBUG stream_writer.py:1024 send IAC DO SGA
DEBUG stream_writer.py:3384 pending_option[DO + ECHO] = True
DEBUG stream_writer.py:1024 send IAC DO ECHO
DEBUG stream_writer.py:3384 pending_option[DO + STATUS] = True
DEBUG stream_writer.py:1024 send IAC DO STATUS
DEBUG stream_writer.py:3384 pending_option[DO + CHARSET] = True
DEBUG stream_writer.py:1024 send IAC DO CHARSET
DEBUG stream_writer.py:3384 pending_option[DO + COM_PORT_OPTION] = True
DEBUG stream_writer.py:1024 send IAC DO COM_PORT_OPTION
DEBUG fingerprinting.py:849 connection for server fingerprint 8d56988a297530ac
INFO client_base.py:122 Connection closed to <Peer 67.202.121.43 23>