MidnightSun =========== .. raw:: html .. raw:: html

midnightsun2.org:3000 🔒

*Once you enter a land where even the sun does not go to sleep ... will you?* Server Info ----------- - **Codebase**: Midnight Sun - **Family**: LPMud - **Genre**: Adventure - **Gameplay**: Adventure - **Players online**: 6 [#scan]_ - **Uptime**: 0 days - **Status**: Live - **Website**: `https://midnightsun2.org `_ - **Location**: Netherlands - **Language**: English - **TLS/SSL**: 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-no:`No` - **MCP**: :proto-no:`No` - **ZMP**: :proto-no:`No` Telnet Fingerprint ------------------ :ref:`41f1b903f14f87bc... ` *This fingerprint is shared by 2 other servers.* **Options offered by server**: ``ECHO``, ``SGA`` **Options requested from client**: ``LINEMODE``, ``NAWS``, ``NEW_ENVIRON``, ``SGA``, ``TTYPE`` **Data source**: `41f1b903f14f87bc/e89f921e23d6fd16.json `_ The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata. .. code-block:: json { "server-probe": { "fingerprint": "41f1b903f14f87bc", "fingerprint-data": { "offered-options": [ "ECHO", "SGA" ], "probed-protocol": "server", "refused-options": [ "AUTHENTICATION", "BINARY", "BM", "CHARSET", "COM_PORT", "DET", "ENCRYPT", "EOR", "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": [ "LINEMODE", "NAWS", "NEW_ENVIRON", "SGA", "TTYPE" ] }, "session_data": { "banner_after_return": "ter your name to login or:\r\n\r\n ? - Shows this screen. s - Shows game status.\r\n c - Create a new character. w - Shows the current users.\r\n r - List the rules. a - Shows the active administrators.\r\n q - Quits the game. g - Login as guest for a look around.\r\n\r\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\r\nWhat is your name: ", "banner_before_return": "-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\r\n _/ _/\r\n _/_/ _/_/ _/ _/ _/ _/ _/\r\n _/ _/ _/ _/ _/ _/ _/\r\n _/ _/ _/ _/ _/_/_/ _/_/_/ _/ _/_/_/ _/_/_/ _/_/\r\n _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/\r\n _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/\r\n _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/ _/ _/ _/_/\r\n _/\r\n _/_/_/_/_/_/_/_/_/\r\n _/\r\n _/\r\n _/_/_/_/_/ _/ _/ _/_/_/\r\n _/ _/ _/ _/ _/\r\n _/ _/ _/ _/ _/\r\n _/_/_/_/_/_/_/ _/_/_/ _/ _/\r\n\r\n ...a medieval adventure under a never setting sun.\r\n\r\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\r\n\r\nEn", "encoding": "ascii", "mssp": { "ADULT MATERIAL": "0", "ANSI": "1", "AREAS": "92", "CLASSES": "10", "CODEBASE": "Midnight Sun", "CONTACT": "midnight@midnightsun2.org", "DBSIZE": "N/A", "DESCRIPTION": "Once you enter a land where even the sun does not go to sleep ... will you?", "EQUIPMENT SYSTEM": "N/A", "EXITS": "N/A", "EXTRA DESCRIPTIONS": "N/A", "FAMILY": "LPMud", "GAMEPLAY": "Adventure", "GAMESYSTEM": "Custom", "GENRE": "Adventure", "GMCP": "1", "HELPFILES": "N/A", "HIRING BUILDERS": "1", "HIRING CODERS": "1", "HOSTNAME": "midnightsun2.org", "ICON": "https://midnightsun2.org/favicon.ico", "IP": "37.48.115.77", "LANGUAGE": "English", "LEVELS": "30", "LOCATION": "Netherlands", "MCCP": "1", "MCP": "0", "MINIMUM AGE": "0", "MOBILES": "N/A", "MSP": "0", "MUDPROGS": "N/A", "MUDTRIGS": "N/A", "MULTICLASSING": "0", "MULTIPLAYING": "Limited", "MXP": "1", "NAME": "MidnightSun", "OBJECTS": "N/A", "PAY FOR PERKS": "0", "PAY TO PLAY": "0", "PLAYER CITIES": "0", "PLAYER CLANS": "0", "PLAYER CRAFTING": "0", "PLAYER GUILDS": "0", "PLAYERKILLING": "Limited", "PLAYERS": "6", "PORT": "3000", "PUEBLO": "0", "QUEST SYSTEM": "Automated\tIntegrated", "RACES": "N/A", "RESETS": "N/A", "ROLEPLAYING": "Encouraged", "ROOMS": "12121", "SKILLS": "N/A", "SSL": "1", "STATUS": "Live", "SUBGENRE": "Medieval Fantasy", "TRAINING SYSTEM": "Skill", "UPTIME": "1770461191", "VT100": "1", "WEBSITE": "https://midnightsun2.org", "WORLD ORIGINALITY": "All Original", "XTERM 256 COLORS": "0" }, "option_states": { "environ_requested": [], "server_offered": { "0x56": false, "0x5d": false, "GMCP": true, "MSSP": true }, "server_requested": { "0x5b": false, "LINEMODE": true, "NAWS": true, "NEW_ENVIRON": true, "SGA": true, "TTYPE": true } }, "timing": { "probe": 0.15313124656677246, "total": 0.6549193859100342 } } }, "sessions": [ { "connected": "2026-02-08T06:32:14.891163+00:00", "host": "midnightsun2.org", "ip": "37.48.115.77", "port": 3000 } ] } 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=midnightsun2.org port=3000 INFO client_base.py:174 Connected to DEBUG stream_writer.py:697 recv IAC DO LINEMODE DEBUG stream_writer.py:1739 handle_do(LINEMODE) DEBUG stream_writer.py:3036 pending_option[WILL + LINEMODE] = True DEBUG stream_writer.py:938 send IAC WILL LINEMODE DEBUG stream_writer.py:3036 pending_option[SB + LINEMODE] = True DEBUG stream_writer.py:3036 local_option[LINEMODE] = True DEBUG stream_writer.py:3036 pending_option[WILL + LINEMODE] = False DEBUG stream_writer.py:689 begin sub-negotiation SB LINEMODE DEBUG stream_writer.py:676 sub-negotiation cmd LINEMODE SE completion byte DEBUG stream_writer.py:3036 pending_option[SB + LINEMODE] = False DEBUG stream_writer.py:2504 recv IAC SB LINEMODE LINEMODE-MODE b'\x03' IAC SE DEBUG stream_writer.py:1246 set Linemode DEBUG stream_writer.py:1249 send IAC SB LINEMODE LINEMODE-MODE IAC SE DEBUG stream_writer.py:697 recv IAC DO SGA DEBUG stream_writer.py:1739 handle_do(SGA) DEBUG stream_writer.py:3036 pending_option[WILL + SGA] = True DEBUG stream_writer.py:938 send IAC WILL SGA DEBUG stream_writer.py:3036 local_option[SGA] = True DEBUG stream_writer.py:3036 pending_option[WILL + 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 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 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 DO MXP DEBUG stream_writer.py:1739 handle_do(MXP) DEBUG stream_writer.py:3036 pending_option[WILL + MXP] = True DEBUG stream_writer.py:938 send IAC WILL MXP DEBUG stream_writer.py:3036 pending_option[SB + MXP] = True DEBUG stream_writer.py:3036 local_option[MXP] = True DEBUG stream_writer.py:3036 pending_option[WILL + MXP] = 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 ZMP DEBUG stream_writer.py:713 WILL ZMP unsolicited DEBUG stream_writer.py:1869 handle_will(ZMP) DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = True DEBUG stream_writer.py:938 send IAC DO ZMP DEBUG stream_writer.py:3036 remote_option[ZMP] = True DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = 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 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:2249 recv NEW_ENVIRON SEND (all) DEBUG stream_writer.py:2272 env send: LANG='C', TERM='xterm-256color', LINES=25, COLUMNS=80, COLORTERM='' 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: {'PLAYERS': '11', 'LEVELS': '30', 'PLAYER CITIES': '0', 'PAY TO PLAY': '0', 'MULTICLASSING': '0', 'PORT': '3000', 'TRAINING SYSTEM': 'Skill', 'LOCATION': 'Netherlands', 'AREAS': '92', 'OBJECTS': 'N/A', 'XTERM 256 COLORS': '0', 'SKILLS': 'N/A', 'HELPFILES': 'N/A', 'PLAYERKILLING': 'Limited', 'HOSTNAME': 'midnightsun2.org', 'SSL': '1', 'RACES': 'N/A', 'GENRE': 'Adventure', 'GAMEPLAY': 'Adventure', 'LANGUAGE': 'English', 'DESCRIPTION': 'Once you enter a land where even the sun does not go to sleep ... will you?', 'CONTACT': 'midnight@midnightsun2.org', 'VT100': '1', 'PUEBLO': '0', 'QUEST SYSTEM': 'Automated\tIntegrated', 'HIRING CODERS': '1', 'MUDPROGS': 'N/A', 'PLAYER CRAFTING': '0', 'PLAYER CLANS': '0', 'FAMILY': 'LPMud', 'IP': '37.48.115.77', 'HIRING BUILDERS': '1', 'ROLEPLAYING': 'Encouraged', 'PAY FOR PERKS': '0', 'CLASSES': '10', 'NAME': 'MidnightSun', 'MSP': '0', 'UPTIME': '1770517075', 'WORLD ORIGINALITY': 'All Original', 'EXTRA DESCRIPTIONS': 'N/A', 'GAMESYSTEM': 'Custom', 'ADULT MATERIAL': '0', 'ROOMS': '12121', 'STATUS': 'Live', 'GMCP': '1', 'MUDTRIGS': 'N/A', 'MOBILES': 'N/A', 'CODEBASE': 'Midnight Sun', 'MXP': '1', 'MULTIPLAYING': 'Limited', 'WEBSITE': 'https://midnightsun2.org', 'RESETS': 'N/A', 'ICON': 'https://midnightsun2.org/favicon.ico', 'EQUIPMENT SYSTEM': 'N/A', 'EXITS': 'N/A', 'DBSIZE': 'N/A', 'MCP': '0', 'MCCP': '1', 'ANSI': '1', 'SUBGENRE': 'Medieval Fantasy', 'PLAYER GUILDS': '0', 'MINIMUM AGE': '0'} DEBUG client_base.py:463 negotiation failed after 4.00s. DEBUG client_base.py:470 failed-reply: 'SB MXP' DEBUG stream_writer.py:1292 IAC GA: Go-Ahead (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 + SGA] = True DEBUG stream_writer.py:938 send IAC DO SGA 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 + EOR] = True DEBUG stream_writer.py:938 send IAC DO EOR 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 + MSP] = True DEBUG stream_writer.py:938 send IAC DO MSP DEBUG stream_writer.py:3036 pending_option[DO + MXP] = True DEBUG stream_writer.py:938 send IAC DO MXP 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 DEBUG stream_writer.py:697 recv IAC WONT BINARY DEBUG stream_writer.py:1991 handle_wont(BINARY) DEBUG stream_writer.py:3036 remote_option[BINARY] = False DEBUG stream_writer.py:3036 pending_option[DO + BINARY] = False DEBUG stream_writer.py:697 recv IAC WILL SGA DEBUG stream_writer.py:1869 handle_will(SGA) DEBUG stream_writer.py:912 skip DO SGA; pending_option = True 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 WILL ECHO DEBUG stream_writer.py:1869 handle_will(ECHO) DEBUG stream_writer.py:912 skip DO ECHO; pending_option = True DEBUG stream_writer.py:3036 remote_option[ECHO] = True DEBUG stream_writer.py:3036 pending_option[DO + ECHO] = False DEBUG stream_writer.py:697 recv IAC WONT STATUS DEBUG stream_writer.py:1991 handle_wont(STATUS) DEBUG stream_writer.py:3036 remote_option[STATUS] = False DEBUG stream_writer.py:3036 pending_option[DO + STATUS] = False DEBUG stream_writer.py:697 recv IAC WONT CHARSET DEBUG stream_writer.py:1991 handle_wont(CHARSET) DEBUG stream_writer.py:3036 remote_option[CHARSET] = False DEBUG stream_writer.py:3036 pending_option[DO + CHARSET] = False DEBUG stream_writer.py:697 recv IAC WONT EOR DEBUG stream_writer.py:1991 handle_wont(EOR) DEBUG stream_writer.py:3036 remote_option[EOR] = False DEBUG stream_writer.py:3036 pending_option[DO + EOR] = False DEBUG stream_writer.py:697 recv IAC WONT COM_PORT_OPTION DEBUG stream_writer.py:1991 handle_wont(COM_PORT_OPTION) DEBUG stream_writer.py:3036 remote_option[COM_PORT_OPTION] = False DEBUG stream_writer.py:3036 pending_option[DO + COM_PORT_OPTION] = False DEBUG stream_writer.py:697 recv IAC WONT MSDP DEBUG stream_writer.py:1991 handle_wont(MSDP) DEBUG stream_writer.py:3036 remote_option[MSDP] = False DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = False DEBUG stream_writer.py:697 recv IAC WONT MSP DEBUG stream_writer.py:1991 handle_wont(MSP) DEBUG stream_writer.py:3036 remote_option[MSP] = False DEBUG stream_writer.py:3036 pending_option[DO + MSP] = False DEBUG stream_writer.py:697 recv IAC WONT MXP DEBUG stream_writer.py:1991 handle_wont(MXP) DEBUG stream_writer.py:3036 remote_option[MXP] = False DEBUG stream_writer.py:3036 pending_option[DO + MXP] = False DEBUG stream_writer.py:697 recv IAC WONT AARDWOLF DEBUG stream_writer.py:1991 handle_wont(AARDWOLF) DEBUG stream_writer.py:3036 remote_option[AARDWOLF] = False DEBUG stream_writer.py:3036 pending_option[DO + AARDWOLF] = False DEBUG stream_writer.py:697 recv IAC WONT ATCP DEBUG stream_writer.py:1991 handle_wont(ATCP) DEBUG stream_writer.py:3036 remote_option[ATCP] = False DEBUG stream_writer.py:3036 pending_option[DO + ATCP] = False INFO fingerprinting.py:737 new server fingerprint f9b3f33571e02f38 INFO client_base.py:105 Connection closed to *Generated by* `telnetlib3-fingerprint `_ .. code-block:: shell telnetlib3-fingerprint --loglevel=debug midnightsun2.org 3000 .. [#scan] measured 2026-02-08 at 06:32 UTC