Materia Magica ============== .. raw:: html .. raw:: html

materiamagica.com:23

Server Info ----------- - **Codebase**: Materia Magica 5.0.30 - **Family**: Custom - **Genre**: Fantasy - **Gameplay**: Adventure - **Players online**: 42 [#scan]_ - **Created**: 1996 - **Status**: Live - **Website**: `http://www.materiamagica.com `_ - **Location**: United States - **Language**: English - **Pay for Perks**: :pay-icon:`$` Yes Protocol Support ---------------- MUD-specific protocols detected via MSSP flags or Telnet negotiation. - **MSSP**: :proto-yes:`Yes` (MSSP) - **GMCP**: :proto-yes:`Yes` (MSSP) - **MSDP**: :proto-no:`No` - **MCCP**: :proto-yes:`Yes` (MSSP) - **MCCP2**: :proto-no:`No` - **MXP**: :proto-yes:`Yes` (MSSP) - **MSP**: :proto-yes:`Yes` (MSSP) - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ------------------ :ref:`cd8182ddbdabc675... ` *This fingerprint is unique to this server.* **Options offered by server**: ``EOR``, ``SGA`` **Options requested from client**: ``CHARSET``, ``NAWS``, ``NEW_ENVIRON`` **Data source**: `cd8182ddbdabc675/e05cedd524c004fa.json `_ The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata. .. code-block:: json { "server-probe": { "fingerprint": "cd8182ddbdabc675", "fingerprint-data": { "offered-options": [ "EOR", "SGA" ], "probed-protocol": "server", "refused-options": [ "AUTHENTICATION", "BINARY", "BM", "CHARSET", "COM_PORT", "DET", "ECHO", "ENCRYPT", "FORWARD_X", "KERMIT", "NAMS", "NAOCRD", "NAOFFD", "NAOHTD", "NAOHTS", "NAOL", "NAOLFD", "NAOP", "NAOVTD", "NAOVTS", "PRAGMA_HEARTBEAT", "PRAGMA_LOGON", "RCP", "RCTE", "RSP", "SEND_URL", "SSPI_LOGON", "STATUS", "SUPDUP", "SUPDUPOUTPUT", "SUPPRESS_LOCAL_ECHO", "TLS", "TN3270E", "TTYLOC", "VT3270REGIME", "X3PAD", "XAUTH" ], "requested-options": [ "CHARSET", "NAWS", "NEW_ENVIRON" ] }, "session_data": { "banner_after_return": "\n\r\n54.200.79.95\nMATERIAMAGICA.COM\n\n .-.-. '` .--- .--. .--. '` '`\n || | || ||-| || ||-. ||-.' || ||_|\n `| |' || ; || `|__, `| ; || || |\n ' ' ' ' ' '\n .-.-. '` .--. '` .--. '`\n || | || ||-| ||._' || || ||-|\n `| |' |; | `|__| || \\_, |; | v5.0\n\n Online for over thirty years, MATERIA MAGICA is one\n of the longest-running, continually-developed games\n available, with a vast game world, detailed environments,\n intelligent monsters and other denizens, and many, many\n thrilling quests - you'll never run out of things to do.\n\n Copyright (c) 1995-2026 Materia Magica LLC., All Rights\n Reserved. For game play information and more, visit \n http://www.materiamagica.com\n\nNew players, please type NEW.\nBy what name shall we know thee? ", "banner_before_return": "\r\nCONNECT OK\n\rWelcome to Materia Magica!\n\r\n54.200.79.95\nMATERIAMAGICA.COM\n\n .-.-. '` .--- .--. .--. '` '`\n || | || ||-| || ||-. ||-.' || ||_|\n `| |' || ; || `|__, `| ; || || |\n ' ' ' ' ' '\n .-.-. '` .--. '` .--. '`\n || | || ||-| ||._' || || ||-|\n `| |' |; | `|__| || \\_, |; | v5.0\n\n Online for over thirty years, MATERIA MAGICA is one\n of the longest-running, continually-developed games\n available, with a vast game world, detailed environments,\n intelligent monsters and other denizens, and many, many\n thrilling quests - you'll never run out of things to do.\n\n Copyright (c) 1995-2026 Materia Magica LLC., All Rights\n Reserved. For game play information and more, visit \n http://www.materiamagica.com\n\nNew players, please type NEW.\nBy what name shall we know thee? ", "encoding": "ascii", "mssp": { "ADULT MATERIAL": "0", "ANSI": "1", "AREAS": "0", "ATCP": "1", "CLASSES": "16", "CODEBASE": "Materia Magica 5.0.30", "CONTACT": "support@materiamagica.com", "CRAWL DELAY": "-1", "CREATED": "1996", "EQUIPMENT SYSTEM": "Both", "FAMILY": "Custom", "GAMEPLAY": "Adventure", "GAMESYSTEM": "Custom", "GENRE": "Fantasy", "GMCP": "1", "HELPFILES": "3512", "HIRING BUILDERS": "1", "HIRING CODERS": "1", "HOSTNAME": "materiamagica.com", "ICON": "", "IP": "54.200.79.95", "LANGUAGE": "English", "LEVELS": "250", "LOCATION": "United States", "MCCP": "1", "MINIMUM AGE": "0", "MOBILES": "10612", "MSDP": "0", "MSP": "1", "MULTICLASSING": "1", "MULTIPLAYING": "Restricted", "MXP": "1", "NAME": "Materia Magica", "NEWBIE FRIENDLY": "1", "OBJECTS": "19316", "PAY FOR PERKS": "1", "PAY TO PLAY": "0", "PLAYER CLANS": "1", "PLAYER GUILDS": "1", "PLAYERKILLING": "Restricted", "PLAYERS": "42", "PORT": [ "4000", "9000", "8000", "6666", "23" ], "PUEBLO": "0", "QUEST SYSTEM": "Automated", "RACES": "15", "ROLEPLAYING": "Encouraged", "ROOMS": "10657611", "SKILLS": "928", "SSL": "0", "STATUS": "Live", "SUBGENRE": "Medieval Fantasy", "TRAINING SYSTEM": "Both", "UPTIME": "1770132550", "UTF 8": "0", "VT100": "0", "WEBSITE": "http://www.materiamagica.com", "WORLD ORIGINALITY": "All Original", "XTERM 256 COLORS": "1", "ZMP": "0" }, "option_states": { "environ_requested": [ { "name": "SYSTEMTYPE", "type": "VAR" } ], "server_offered": { "0x56": false, "0x5a": false, "0x5b": false, "EOR": true, "GMCP": true, "MSSP": true, "SGA": true }, "server_requested": { "CHARSET": true, "NAWS": true, "NEW_ENVIRON": true, "TTYPE": false } }, "timing": { "probe": 0.5035715103149414, "total": 1.0898380279541016 } } }, "sessions": [ { "connected": "2026-02-08T05:40:37.857867+00:00", "host": "materiamagica.com", "ip": "54.200.79.95", "port": 23 } ] } Connection Log -------------- Debug-level log of the Telnet negotiation session, showing each IAC (Interpret As Command) exchange between client and server. .. code-block:: text DEBUG client.py:770 Fingerprint client: host=materiamagica.com port=23 INFO client_base.py:174 Connected to DEBUG stream_writer.py:697 recv IAC WILL SGA DEBUG stream_writer.py:713 WILL SGA unsolicited DEBUG stream_writer.py:1869 handle_will(SGA) DEBUG stream_writer.py:3036 pending_option[DO + SGA] = True DEBUG stream_writer.py:938 send IAC DO SGA DEBUG stream_writer.py:3036 remote_option[SGA] = True DEBUG stream_writer.py:3036 pending_option[DO + SGA] = False DEBUG stream_writer.py:697 recv IAC DO TTYPE DEBUG stream_writer.py:1739 handle_do(TTYPE) DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = True DEBUG stream_writer.py:938 send IAC WILL TTYPE DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = True DEBUG stream_writer.py:3036 local_option[TTYPE] = True DEBUG stream_writer.py:3036 pending_option[WILL + TTYPE] = False DEBUG stream_writer.py:697 recv IAC WILL EOR DEBUG stream_writer.py:713 WILL EOR unsolicited DEBUG stream_writer.py:1869 handle_will(EOR) DEBUG stream_writer.py:3036 pending_option[DO + EOR] = True DEBUG stream_writer.py:938 send IAC DO EOR DEBUG stream_writer.py:3036 remote_option[EOR] = True DEBUG stream_writer.py:3036 pending_option[DO + EOR] = False DEBUG stream_writer.py:697 recv IAC DO NAWS DEBUG stream_writer.py:1739 handle_do(NAWS) DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = True DEBUG stream_writer.py:938 send IAC WILL NAWS DEBUG stream_writer.py:2306 send IAC SB NAWS (rows=25, cols=80) IAC SE DEBUG stream_writer.py:3036 local_option[NAWS] = True DEBUG stream_writer.py:3036 pending_option[WILL + NAWS] = False DEBUG stream_writer.py:697 recv IAC DO NEW_ENVIRON DEBUG stream_writer.py:1739 handle_do(NEW_ENVIRON) DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = True DEBUG stream_writer.py:938 send IAC WILL NEW_ENVIRON DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = True DEBUG stream_writer.py:3036 local_option[NEW_ENVIRON] = True DEBUG stream_writer.py:3036 pending_option[WILL + NEW_ENVIRON] = False DEBUG stream_writer.py:697 recv IAC DO CHARSET DEBUG stream_writer.py:1739 handle_do(CHARSET) DEBUG stream_writer.py:3036 pending_option[WILL + CHARSET] = True DEBUG stream_writer.py:938 send IAC WILL CHARSET DEBUG stream_writer.py:3036 local_option[CHARSET] = True DEBUG stream_writer.py:3036 pending_option[WILL + CHARSET] = False DEBUG stream_writer.py:697 recv IAC WILL MSSP DEBUG stream_writer.py:713 WILL MSSP unsolicited DEBUG stream_writer.py:1869 handle_will(MSSP) DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = True DEBUG stream_writer.py:938 send IAC DO MSSP DEBUG stream_writer.py:3036 remote_option[MSSP] = True DEBUG stream_writer.py:3036 pending_option[DO + MSSP] = False DEBUG stream_writer.py:697 recv IAC WILL MCCP2_COMPRESS DEBUG stream_writer.py:713 WILL MCCP2_COMPRESS unsolicited DEBUG stream_writer.py:1869 handle_will(MCCP2_COMPRESS) DEBUG stream_writer.py:3036 remote_option[MCCP2_COMPRESS] = False DEBUG stream_writer.py:938 send IAC DONT MCCP2_COMPRESS WARNING stream_writer.py:1974 Unhandled: WILL MCCP2_COMPRESS. DEBUG stream_writer.py:697 recv IAC WILL MSP DEBUG stream_writer.py:713 WILL MSP unsolicited DEBUG stream_writer.py:1869 handle_will(MSP) DEBUG stream_writer.py:3036 pending_option[DO + MSP] = True DEBUG stream_writer.py:938 send IAC DO MSP DEBUG stream_writer.py:3036 remote_option[MSP] = True DEBUG stream_writer.py:3036 pending_option[DO + MSP] = False DEBUG stream_writer.py:697 recv IAC WILL MXP DEBUG stream_writer.py:713 WILL MXP unsolicited DEBUG stream_writer.py:1869 handle_will(MXP) DEBUG stream_writer.py:3036 pending_option[DO + MXP] = True DEBUG stream_writer.py:938 send IAC DO MXP DEBUG stream_writer.py:3036 remote_option[MXP] = True DEBUG stream_writer.py:3036 pending_option[SB + MXP] = True DEBUG stream_writer.py:3036 pending_option[DO + MXP] = False DEBUG stream_writer.py:697 recv IAC WILL GMCP DEBUG stream_writer.py:713 WILL GMCP unsolicited DEBUG stream_writer.py:1869 handle_will(GMCP) DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = True DEBUG stream_writer.py:938 send IAC DO GMCP DEBUG stream_writer.py:3036 remote_option[GMCP] = True DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = False DEBUG stream_writer.py:689 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:676 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + TTYPE] = False DEBUG stream_writer.py:2203 recv TTYPE SEND: b'' DEBUG stream_writer.py:2214 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG stream_writer.py:689 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:676 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:2031 [SB + TTYPE] unsolicited DEBUG stream_writer.py:2203 recv TTYPE SEND: b'' DEBUG stream_writer.py:2214 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG stream_writer.py:689 begin sub-negotiation SB TTYPE DEBUG stream_writer.py:676 sub-negotiation cmd TTYPE SE completion byte DEBUG stream_writer.py:2031 [SB + TTYPE] unsolicited DEBUG stream_writer.py:2203 recv TTYPE SEND: b'' DEBUG stream_writer.py:2214 send IAC SB TTYPE IS b'xterm-256color' IAC SE DEBUG stream_writer.py:697 recv IAC DONT TTYPE DEBUG stream_writer.py:1832 handle_dont(TTYPE) DEBUG stream_writer.py:3036 local_option[TTYPE] = False DEBUG stream_writer.py:689 begin sub-negotiation SB NEW_ENVIRON DEBUG stream_writer.py:676 sub-negotiation cmd NEW_ENVIRON SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + NEW_ENVIRON] = False DEBUG stream_writer.py:2247 recv NEW_ENVIRON SEND: SYSTEMTYPE DEBUG stream_writer.py:2272 env send: SYSTEMTYPE='' DEBUG stream_writer.py:689 begin sub-negotiation SB CHARSET DEBUG stream_writer.py:676 sub-negotiation cmd CHARSET SE completion byte DEBUG stream_writer.py:2031 [SB + CHARSET] unsolicited DEBUG client.py:266 encoding negotiated: UTF-8 DEBUG stream_writer.py:2111 send IAC SB CHARSET ACCEPTED UTF-8 IAC SE DEBUG stream_writer.py:689 begin sub-negotiation SB MSSP DEBUG stream_writer.py:676 sub-negotiation cmd MSSP SE completion byte DEBUG stream_writer.py:2031 [SB + MSSP] unsolicited DEBUG stream_writer.py:1642 MSSP: {'NAME': 'Materia Magica', 'PLAYERS': '41', 'UPTIME': '1770132550', 'HOSTNAME': 'materiamagica.com', 'PORT': ['4000', '9000', '8000', '6666', '23'], 'CODEBASE': 'Materia Magica 5.0.30', 'CONTACT': 'support@materiamagica.com', 'CREATED': '1996', 'ICON': '', 'IP': '54.200.79.95', 'LANGUAGE': 'English', 'LOCATION': 'United States', 'MINIMUM AGE': '0', 'WEBSITE': 'http://www.materiamagica.com', 'CRAWL DELAY': '-1', 'FAMILY': 'Custom', 'GENRE': 'Fantasy', 'GAMEPLAY': 'Adventure', 'GAMESYSTEM': 'Custom', 'STATUS': 'Live', 'SUBGENRE': 'Medieval Fantasy', 'AREAS': '0', 'HELPFILES': '3512', 'MOBILES': '10612', 'OBJECTS': '19316', 'ROOMS': '10666941', 'CLASSES': '16', 'LEVELS': '250', 'RACES': '15', 'SKILLS': '928', 'ANSI': '1', 'MCCP': '1', 'GMCP': '1', 'ATCP': '1', 'MSP': '1', 'MXP': '1', 'ZMP': '0', 'SSL': '0', 'PUEBLO': '0', 'UTF 8': '0', 'VT100': '0', 'XTERM 256 COLORS': '1', 'MSDP': '0', 'PAY TO PLAY': '0', 'PAY FOR PERKS': '1', 'HIRING BUILDERS': '1', 'HIRING CODERS': '1', 'ADULT MATERIAL': '0', 'MULTICLASSING': '1', 'NEWBIE FRIENDLY': '1', 'PLAYER CLANS': '1', 'PLAYER GUILDS': '1', 'EQUIPMENT SYSTEM': 'Both', 'MULTIPLAYING': 'Restricted', 'PLAYERKILLING': 'Restricted', 'QUEST SYSTEM': 'Automated', 'ROLEPLAYING': 'Encouraged', 'TRAINING SYSTEM': 'Both', 'WORLD ORIGINALITY': 'All Original'} DEBUG stream_writer.py:689 begin sub-negotiation SB MXP DEBUG stream_writer.py:676 sub-negotiation cmd MXP SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + MXP] = False DEBUG stream_writer.py:1651 MXP: b'' DEBUG stream_writer.py:689 begin sub-negotiation SB GMCP DEBUG stream_writer.py:676 sub-negotiation cmd GMCP SE completion byte 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 680, 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 2025, in handle_subnegotiation WARNING client_base.py:495 raise ValueError(f"SE: buffer too short: {buf!r}") WARNING client_base.py:495 ValueError: SE: buffer too short: deque([b'\xc9']) DEBUG client_base.py:460 negotiation complete after 2.00s. DEBUG stream_writer.py:1311 IAC EOR: End of Record (unhandled). DEBUG stream_writer.py:1311 IAC EOR: End of Record (unhandled). DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = True DEBUG stream_writer.py:938 send IAC DO BINARY DEBUG stream_writer.py:3036 pending_option[DO + ECHO] = True DEBUG stream_writer.py:938 send IAC DO ECHO DEBUG stream_writer.py:3036 pending_option[DO + STATUS] = True DEBUG stream_writer.py:938 send IAC DO STATUS DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = True DEBUG stream_writer.py:938 send IAC DO CHARSET DEBUG stream_writer.py:3036 pending_option[DO + COM_PORT_OPTION] = True DEBUG stream_writer.py:938 send IAC DO COM_PORT_OPTION DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = True DEBUG stream_writer.py:938 send IAC DO MSDP DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = True DEBUG stream_writer.py:938 send IAC DO ZMP DEBUG stream_writer.py:3036 pending_option[DO + AARDWOLF] = True DEBUG stream_writer.py:938 send IAC DO AARDWOLF DEBUG stream_writer.py:3036 pending_option[DO + ATCP] = True DEBUG stream_writer.py:938 send IAC DO ATCP INFO fingerprinting.py:737 new server fingerprint c759cbbfcef38037 INFO client_base.py:105 Connection closed to *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug materiamagica.com 23 .. [#scan] measured 2026-02-08 at 05:40 UTC