Aelandris
================================================================================ Secrets of Aelandris An original world full of mystery and wonder. The journey to Altheria from the Steppes was long and hard, even for nomads. We did not know the land the way we knew our home, and the Beasts always seemed no more than a day at our tails. We remember those lost on the journey who continue to scout for us from beyond. -- Savra Eldnari, Guide of the Eldekai If you have an existing account, connect to it by typing: connect <username> <password> To create a new account, type: create <username> <password> Enter help for more info and accessibility options. ================================================================================
Server Info
Codebase: Evennia
Family: Evennia
Genre: Fantasy
Gameplay: Roleplaying
Players online: 0 [1]
Created: 2021
Status: Alpha
Website: http://aelandris.org
Location: United States
TLS/SSL: Yes
Protocol Support
MUD-specific protocols detected via MSSP flags or Telnet negotiation. See the glossary for definitions.
MSSP: Yes (MSSP)
GMCP: Yes (MSSP)
MSDP: Yes (MSSP)
MCCP: Yes (MSSP)
MCCP2: No
MXP: Yes (MSSP)
MSP: No
MCP: No
ZMP: No
Telnet Fingerprint
This fingerprint is shared by 5 other servers.
Options offered by server: ECHO, SGA
Options requested from client: LINEMODE, NAWS, TTYPE
Data source: bb1406459022d3be/a00045dc0c230a36.json
The complete JSON record collected during the scan, including Telnet negotiation results and any MSSP metadata.
{
"server-probe": {
"fingerprint": "bb1406459022d3be",
"fingerprint-data": {
"offered-options": [
"ECHO",
"SGA"
],
"probed-protocol": "server",
"refused-options": [
"BINARY",
"CHARSET",
"COM_PORT",
"EOR",
"STATUS"
],
"requested-options": [
"LINEMODE",
"NAWS",
"TTYPE"
],
"scan-type": "quick"
},
"session_data": {
"banner_after_return": "",
"banner_before_return": "\r\n\u001b[1m\u001b[34m================================================================================\u001b[0m\r\n\r\n\u001b[38;5;64mS\u001b[38;5;106mec\u001b[38;5;142mre\u001b[38;5;149mt\u001b[38;5;185ms \u001b[38;5;227mof \u001b[38;5;185mAe\u001b[38;5;149mla\u001b[38;5;142mn\u001b[38;5;106mdr\u001b[38;5;64mis\u001b[0m\r\n\u001b[38;5;25mAn o\u001b[38;5;61mriginal w\u001b[38;5;97morld full\u001b[38;5;133m of myste\u001b[38;5;169mry and wo\u001b[38;5;205mnder.\u001b[0m\r\n\r\n\u001b[38;5;116m The journey to Altheria from the Steppes was long and hard, even for\r\n nomads. We did not know the land the way we knew our home, and the\r\n Beasts always seemed no more than a day at our tails. We remember those\r\n lost on the journey who continue to scout for us from beyond.\u001b[0m\r\n\u001b[38;5;105m -- Savra Eldnari, Guide of the Eldekai\u001b[0m\r\n\r\n\r\nIf you have an existing account, connect to it by typing:\r\n \u001b[1m\u001b[37mconnect <username> <password>\u001b[0m\r\nTo create a new account, type:\r\n \u001b[1m\u001b[37mcreate <username> <password>\u001b[0m\r\n\r\nEnter \u001b[1m\u001b[37mhelp\u001b[0m for more info and accessibility options.\r\n\r\n\u001b[1m\u001b[34m================================================================================\r\n\u001b[0m\r\n",
"encoding": "ascii",
"mssp": {
"ADULT MATERIAL": "0",
"ANSI": "1",
"AREAS": "0",
"ATCP": "0",
"CLASSES": "0",
"CODEBASE": "Evennia",
"CONTACT": "",
"CRAWL DELAY": "-1",
"CREATED": "2021",
"DBSIZE": "0",
"EQUIPMENT SYSTEM": "Skill",
"EXITS": "0",
"EXTRA DESCRIPTIONS": "0",
"FAMILY": "Evennia",
"GAMEPLAY": "Roleplaying",
"GAMESYSTEM": "Custom",
"GENRE": "Fantasy",
"GMCP": "1",
"HELPFILES": "0",
"HIRING BUILDERS": "0",
"HIRING CODERS": "0",
"HOSTNAME": "aelandris.org",
"ICON": "https://aelandris.org/static/website/images/aelandris_logo.png",
"IP": "173.230.156.193",
"LANGUAGE": "English",
"LEVELS": "0",
"LOCATION": "United States",
"MCCP": "1",
"MCP": "0",
"MINIMUM AGE": "0",
"MOBILES": "0",
"MSDP": "1",
"MSP": "0",
"MUDPROGS": "0",
"MUDTRIGS": "0",
"MULTICLASSING": "1",
"MULTIPLAYING": "None",
"MXP": "1",
"NAME": "Aelandris",
"NEWBIE FRIENDLY": "1",
"OBJECTS": "0",
"PAY FOR PERKS": "0",
"PAY TO PLAY": "0",
"PLAYER CITIES": "0",
"PLAYER CLANS": "0",
"PLAYER CRAFTING": "0",
"PLAYER GUILDS": "0",
"PLAYERKILLING": "Restricted",
"PLAYERS": "0",
"PORT": "4000",
"PUEBLO": "0",
"QUEST SYSTEM": "None",
"RACES": "0",
"RESETS": "0",
"ROLEPLAYING": "Enforced",
"ROOMS": "0",
"SKILLS": "0",
"SSL": "1",
"STATUS": "Alpha",
"SUBGENRE": "High Fantasy",
"TRAINING SYSTEM": "Skill",
"UPTIME": "1764545927.4838846",
"UTF-8": "1",
"VT100": "0",
"WEBSITE": "http://aelandris.org",
"WORLD ORIGINALITY": "All Original",
"XTERM 256 COLORS": "1",
"XTERM TRUE COLORS": "0",
"ZMP": "0"
},
"option_states": {
"server_offered": {
"0x56": false,
"0x5b": false,
"GMCP": true,
"MSDP": true,
"MSSP": true,
"SGA": true
},
"server_requested": {
"LINEMODE": true,
"NAWS": true,
"TTYPE": true
}
},
"scan_type": "quick",
"timing": {
"probe": 0.15330243110656738,
"total": 5.659501552581787
}
}
},
"sessions": [
{
"connected": "2026-02-08T17:18:51.478644+00:00",
"host": "aelandris.org",
"ip": "173.230.156.193",
"port": 4000
}
]
}
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=aelandris.org port=4000
INFO client_base.py:174 Connected to <Peer 173.230.156.193 4000>
DEBUG stream_writer.py:692 recv IAC DO LINEMODE
DEBUG stream_writer.py:1733 handle_do(LINEMODE)
DEBUG stream_writer.py:3030 pending_option[WILL + LINEMODE] = True
DEBUG stream_writer.py:933 send IAC WILL LINEMODE
DEBUG stream_writer.py:3030 pending_option[SB + LINEMODE] = True
DEBUG stream_writer.py:3030 local_option[LINEMODE] = True
DEBUG stream_writer.py:3030 pending_option[WILL + LINEMODE] = False
DEBUG stream_writer.py:692 recv IAC WILL SGA
DEBUG stream_writer.py:708 WILL SGA unsolicited
DEBUG stream_writer.py:1863 handle_will(SGA)
DEBUG stream_writer.py:3030 pending_option[DO + SGA] = True
DEBUG stream_writer.py:933 send IAC DO SGA
DEBUG stream_writer.py:3030 remote_option[SGA] = True
DEBUG stream_writer.py:3030 pending_option[DO + SGA] = 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 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 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 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 MSDP
DEBUG stream_writer.py:708 WILL MSDP unsolicited
DEBUG stream_writer.py:1863 handle_will(MSDP)
DEBUG stream_writer.py:3030 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:933 send IAC DO MSDP
DEBUG stream_writer.py:3030 remote_option[MSDP] = True
DEBUG stream_writer.py:3030 pending_option[DO + MSDP] = 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:692 recv IAC WILL MXP
DEBUG stream_writer.py:708 WILL MXP unsolicited
DEBUG stream_writer.py:1863 handle_will(MXP)
DEBUG stream_writer.py:3030 pending_option[DO + MXP] = True
DEBUG stream_writer.py:933 send IAC DO MXP
DEBUG stream_writer.py:3030 remote_option[MXP] = True
DEBUG stream_writer.py:3030 pending_option[DO + MXP] = False
DEBUG stream_writer.py:684 begin sub-negotiation SB LINEMODE
DEBUG stream_writer.py:671 sub-negotiation cmd LINEMODE SE completion byte
DEBUG stream_writer.py:3030 pending_option[SB + LINEMODE] = False
DEBUG stream_writer.py:2498 recv IAC SB LINEMODE LINEMODE-MODE b'\x03' IAC SE
DEBUG stream_writer.py:1241 set Linemode <b'\x07': lit_echo:False, soft_tab:False, ack:True, trapsig:True, remote:False,
local:True>
DEBUG stream_writer.py:1244 send IAC SB LINEMODE LINEMODE-MODE <b'\x07': lit_echo:False, soft_tab:False, ack:True, trapsig:True,
remote:False, local:True> IAC SE
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: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': 'Aelandris', 'PLAYERS': '0', 'UPTIME': '1764545927.4838846', 'PORT': '4000', 'CRAWL
DELAY': '-1', 'CODEBASE': 'Evennia', 'FAMILY': 'Evennia', 'ANSI': '1', 'GMCP': '1', 'ATCP': '0', 'MCCP': '1', 'MCP': '0',
'MSDP': '1', 'MSP': '0', 'MXP': '1', 'PUEBLO': '0', 'SSL': '1', 'UTF-8': '1', 'ZMP': '0', 'VT100': '0', 'XTERM 256 COLORS':
'1', 'HOSTNAME': 'aelandris.org', 'CONTACT': '', 'CREATED': '2021', 'ICON':
'https://aelandris.org/static/website/images/aelandris_logo.png', 'IP': '173.230.156.193', 'LANGUAGE': 'English', 'LOCATION':
'United States', 'MINIMUM AGE': '0', 'WEBSITE': 'http://aelandris.org', 'GENRE': 'Fantasy', 'SUBGENRE': 'High Fantasy',
'GAMEPLAY': 'Roleplaying', 'STATUS': 'Alpha', 'GAMESYSTEM': 'Custom', 'AREAS': '0', 'HELPFILES': '0', 'MOBILES': '0',
'OBJECTS': '0', 'ROOMS': '0', 'CLASSES': '0', 'LEVELS': '0', 'RACES': '0', 'SKILLS': '0', 'XTERM TRUE COLORS': '0', 'PAY TO
PLAY': '0', 'PAY FOR PERKS': '0', 'HIRING BUILDERS': '0', 'HIRING CODERS': '0', 'DBSIZE': '0', 'EXITS': '0', 'EXTRA
DESCRIPTIONS': '0', 'MUDPROGS': '0', 'MUDTRIGS': '0', 'RESETS': '0', 'ADULT MATERIAL': '0', 'MULTICLASSING': '1', 'NEWBIE
FRIENDLY': '1', 'PLAYER CITIES': '0', 'PLAYER CLANS': '0', 'PLAYER CRAFTING': '0', 'PLAYER GUILDS': '0', 'EQUIPMENT SYSTEM':
'Skill', 'MULTIPLAYING': 'None', 'PLAYERKILLING': 'Restricted', 'QUEST SYSTEM': 'None', 'ROLEPLAYING': 'Enforced', 'TRAINING
SYSTEM': 'Skill', 'WORLD ORIGINALITY': 'All Original'}
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 TTYPE
DEBUG stream_writer.py:671 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2025 [SB + TTYPE] unsolicited
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:684 begin sub-negotiation SB TTYPE
DEBUG stream_writer.py:671 sub-negotiation cmd TTYPE SE completion byte
DEBUG stream_writer.py:2025 [SB + TTYPE] unsolicited
DEBUG stream_writer.py:2197 recv TTYPE SEND: b''
DEBUG stream_writer.py:2208 send IAC SB TTYPE IS b'VT100' IAC SE
DEBUG client_base.py:460 negotiation complete after 2.00s.
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 + 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 + MSP] = True
DEBUG stream_writer.py:933 send IAC DO MSP
DEBUG stream_writer.py:3030 pending_option[DO + ZMP] = True
DEBUG stream_writer.py:933 send IAC DO ZMP
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 WILL ECHO
DEBUG stream_writer.py:1863 handle_will(ECHO)
DEBUG stream_writer.py:907 skip DO ECHO; pending_option = True
DEBUG stream_writer.py:3030 remote_option[ECHO] = True
DEBUG stream_writer.py:3030 pending_option[DO + ECHO] = 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 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 ZMP
DEBUG stream_writer.py:1985 handle_wont(ZMP)
DEBUG stream_writer.py:3030 remote_option[ZMP] = False
DEBUG stream_writer.py:3030 pending_option[DO + ZMP] = 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 19be77171c26104c
INFO client_base.py:105 Connection closed to <Peer 173.230.156.193 4000>
Generated by telnetlib3-fingerprint
telnetlib3-fingerprint --loglevel=debug aelandris.org 4000