Aelandris
=========
.. raw:: html
================================================================================
S ec re t s of Ae la n dr is
An o riginal w orld full of myste ry and wo nder.
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.
================================================================================
.. raw:: html
aelandris.org:4000
⎘
🔒
Server Info
-----------
- **Codebase**: Evennia
- **Family**: Evennia
- **Genre**: Fantasy
- **Gameplay**: Roleplaying
- **Players online**: 0 [#scan]_
- **Created**: 2021
- **Status**: Alpha
- **Website**: `http://aelandris.org `_
- **Location**: United States
- **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-yes:`Yes` (MSSP)
- **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:`bb1406459022d3be... `
*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.
.. code-block:: json
{
"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 \u001b[0m\r\nTo create a new account, type:\r\n \u001b[1m\u001b[37mcreate \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.
.. code-block:: text
DEBUG client.py:770 Fingerprint client: host=aelandris.org port=4000
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: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 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 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 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 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 MSDP
DEBUG stream_writer.py:713 WILL MSDP unsolicited
DEBUG stream_writer.py:1869 handle_will(MSDP)
DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = True
DEBUG stream_writer.py:938 send IAC DO MSDP
DEBUG stream_writer.py:3036 remote_option[MSDP] = True
DEBUG stream_writer.py:3036 pending_option[DO + MSDP] = 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: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: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: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 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': '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: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 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 client_base.py:460 negotiation complete after 2.00s.
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 + 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 + MSP] = True
DEBUG stream_writer.py:938 send IAC DO MSP
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
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 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 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 ZMP
DEBUG stream_writer.py:1991 handle_wont(ZMP)
DEBUG stream_writer.py:3036 remote_option[ZMP] = False
DEBUG stream_writer.py:3036 pending_option[DO + ZMP] = 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:746 connection for server fingerprint 19be77171c26104c
INFO client_base.py:105 Connection closed to
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug aelandris.org 4000
.. [#scan] measured 2026-02-08 at 17:18 UTC