The Savage Soul
===============
.. raw:: html
Connected to The Savage Soul, an LP mud running on Linux.
.t; ;t.
tRBR. ;RBRt
:RBBBBR. :RBBBBR:
:RBBBBBBX .RBBBBBBR:
.RBBBBBBBBY VBBBBBBBBR.
XBBBBBBBBBBi YBBBBBBBBBBX
;BBBBBBBBBBBR: ;RBBBBBBBBBBB;
tBBBBBBBBBBR. :+=: .RBBBBBBBBBBi
XBBBBBBBBBB; ;BBBR; ;BBBBBBBBBBY
::::::::::: tBBBBt :::::::::::
.XBBX.
tI++tt
iBBBBBBi
;BBBBBBBB;
;RBBBBBBBBR;
:RBBBBBBBBBBR:
.RBBBBBBBBBBBBR.
;RBBBBBBBBBBBBR;
:;iYXVVXIt;:
--([{ The Savage Soul
}])--
--==< Scorched Earth >==--
Driver: FluffOS v2.23-ds01 Mudlib: Dead Souls 3.7a7
What name do you wish?
.. raw:: html
savsoul.com:6666
*The Savage Soul: Scorched Earth is a character-skill-based mud set in a magic-rich, zombie-ridden, post-apocalyptic future. Devastated by a full-scale nuclear exchange and transformed by a gene-altering virus, the dark landscape of 2195 Detroit is home to monsters, magic, and dazzling technology. Pl*
Server Info
-----------
- **Codebase**: Dead Souls 3.7a7
- **Family**: LPMud
- **Genre**: Post-Apocalyptic
- **Gameplay**: Questing
- **Players online**: 0 [#scan]_
- **Created**: 2026
- **Status**: Alpha
- **Website**: `http://savsoul.com/ `_
- **Location**: United States
- **Language**: English
Protocol Support
----------------
MUD-specific protocols detected via MSSP flags or
Telnet negotiation.
- **MSSP**: :proto-yes:`Yes` (MSSP)
- **GMCP**: :proto-negotiated:`Negotiated`
- **MSDP**: :proto-no:`No`
- **MCCP**: :proto-no:`No`
- **MCCP2**: :proto-no:`No`
- **MXP**: :proto-no:`No`
- **MSP**: :proto-no:`No`
- **MCP**: :proto-no:`No`
- **ZMP**: :proto-no:`No`
Telnet Fingerprint
------------------
:ref:`cc1ba2195f00eff9... `
*This fingerprint is unique to this server.*
**Options requested from client**: ``GMCP``, ``NAWS``, ``NEW_ENVIRON``, ``TTYPE``
**Data source**: `cc1ba2195f00eff9/5fc6ce972f8045eb.json `_
The complete JSON record collected during the scan,
including Telnet negotiation results and any
MSSP metadata.
.. code-block:: json
{
"server-probe": {
"fingerprint": "cc1ba2195f00eff9",
"fingerprint-data": {
"offered-options": [],
"probed-protocol": "server",
"refused-options": [
"AUTHENTICATION",
"BINARY",
"BM",
"CHARSET",
"COM_PORT",
"DET",
"ECHO",
"ENCRYPT",
"EOR",
"FORWARD_X",
"KERMIT",
"NAMS",
"NAOCRD",
"NAOFFD",
"NAOHTD",
"NAOHTS",
"NAOL",
"NAOLFD",
"NAOP",
"NAOVTD",
"NAOVTS",
"PRAGMA_HEARTBEAT",
"PRAGMA_LOGON",
"RCP",
"RCTE",
"RSP",
"SEND_URL",
"SGA",
"SSPI_LOGON",
"STATUS",
"SUPDUP",
"SUPDUPOUTPUT",
"SUPPRESS_LOCAL_ECHO",
"TLS",
"TN3270E",
"TTYLOC",
"VT3270REGIME",
"X3PAD",
"XAUTH"
],
"requested-options": [
"GMCP",
"NAWS",
"NEW_ENVIRON",
"TTYPE"
]
},
"session_data": {
"banner_after_return": "}])--\r\n\r\n \u001b[1m\u001b[33m--==<\u001b[31m Scorched Earth \u001b[1m\u001b[33m>==--\u001b[0m\r\n \r\n\r\n Driver: FluffOS v2.23-ds01 Mudlib: Dead Souls 3.7a7 \r\n\r\nWhat name do you wish? ",
"banner_before_return": "Connected to The Savage Soul, an LP mud running on Linux.\r\n\u001b[32m .t; ;t. \r\n tRBR. ;RBRt \r\n :RBBBBR. :RBBBBR: \r\n :RBBBBBBX .RBBBBBBR: \r\n .RBBBBBBBBY VBBBBBBBBR. \r\n XBBBBBBBBBBi YBBBBBBBBBBX \r\n ;BBBBBBBBBBBR: ;RBBBBBBBBBBB;\r\n tBBBBBBBBBBR. :+=: .RBBBBBBBBBBi\r\n XBBBBBBBBBB; ;BBBR; ;BBBBBBBBBBY\r\n ::::::::::: tBBBBt :::::::::::\r\n .XBBX. \r\n \r\n tI++tt \r\n iBBBBBBi \r\n ;BBBBBBBB; \r\n ;RBBBBBBBBR; \r\n :RBBBBBBBBBBR: \r\n .RBBBBBBBBBBBBR. \r\n ;RBBBBBBBBBBBBR; \r\n :;iYXVVXIt;: \r\n\r\n \u001b[1m\u001b[33m--([{\u001b[31m The Savage Soul \u001b[1m\u001b[33m",
"encoding": "ascii",
"mssp": {
"ADULT MATERIAL": "0",
"ANSI": "1",
"AREAS": "2",
"CLASSES": "0",
"CODEBASE": "Dead Souls 3.7a7",
"CONTACT": "savagesoul@gmail.com",
"CREATED": "2026",
"DBSIZE": "N/A",
"DESCRIPTION": "The Savage Soul: Scorched Earth is a character-skill-based mud set in a magic-rich, zombie-ridden, post-apocalyptic future. Devastated by a full-scale nuclear exchange and transformed by a gene-altering virus, the dark landscape of 2195 Detroit is home to monsters, magic, and dazzling technology. Player characters in the form of barbaric mutants, powerful sorcerers, worldly \"Zisters,\" 21st Century \"Sleepers,\" androids, robotoids, undead \"Shamblers,\" and cannibalistic \"Morlocks\" will struggle for survival against a nightmarish world and each other.",
"EQUIPMENT SYSTEM": "N/A",
"EXITS": "N/A",
"EXTRA DESCRIPTIONS": "N/A",
"FAMILY": "LPMud",
"FAMILY-NOTES": "descendant of Nightmare",
"GAMEPLAY": "Questing",
"GAMESYSTEM": "The Savage Soul PnP - Modified",
"GENRE": "Post-Apocalyptic",
"HELPFILES": "N/A",
"HELPFILES-NOTES": "each command, and hundreds of other docs",
"HIRING BUILDERS": "1",
"HIRING CODERS": "1",
"HOSTNAME": "173.255.210.234",
"ICON": "http://173.255.210.234:8001/favicon.ico",
"INTERMUD": [
"i3",
"IMC2"
],
"IP": "173.255.210.234",
"LANGUAGE": "English",
"LEVELS": "0",
"LOCATION": "United States",
"MCCP": "0",
"MCP": "0",
"MINIMUM AGE": "13",
"MOBILES": "250",
"MOBILES-NOTES": "npc's can be cloned, so there can be thousands",
"MSP": "0",
"MUDPROGS": "N/A",
"MUDPROGS-NOTES": "doesn't apply, LPMud",
"MUDTRIGS": "N/A",
"MUDTRIGS-NOTES": "doesn't apply, LPMud",
"MULTICLASSING": "0",
"MULTIPLAYING": "Full",
"MXP": "0",
"NAME": "The Savage Soul",
"OBJECTS": "400",
"OBJECTS-NOTES": "objects can be cloned, so there can be thousands",
"PAY FOR PERKS": "0",
"PAY TO PLAY": "0",
"PLAYER CITIES": "0",
"PLAYER CLANS": "0",
"PLAYER CRAFTING": "0",
"PLAYER GUILDS": "0",
"PLAYERKILLING": "Full",
"PLAYERS": "0",
"PORT": "6666",
"PUEBLO": "0",
"QUEST SYSTEM": [
"Automated",
"Integrated"
],
"RACES": "3",
"RACES-NOTES": "not all are playable",
"RESETS": "N/A",
"RESETS-NOTES": "doesn't apply, LPMud",
"ROLEPLAYING": "None",
"ROOMS": "300",
"ROOMS-NOTES": "areas have generated rooms, could be millions",
"SKILLS": "N/A",
"SKILLS-NOTES": "many, custom peculiarities system.",
"SSL": "0",
"STATUS": "Alpha",
"SUBGENRE": "Fantasy",
"TRAINING SYSTEM": "Skill",
"UPTIME": "1756888346",
"VT100": "0",
"WEBSITE": "http://savsoul.com/",
"WHO": "",
"WORLD ORIGINALITY": "Mostly Original",
"XTERM 256 COLORS": "0"
},
"option_states": {
"environ_requested": [],
"server_offered": {
"0x5d": false,
"MSSP": true
},
"server_requested": {
"0x5b": false,
"GMCP": true,
"NAWS": true,
"NEW_ENVIRON": true,
"TTYPE": true
}
},
"timing": {
"probe": 0.5075838565826416,
"total": 1.009044885635376
}
}
},
"sessions": [
{
"connected": "2026-02-08T05:07:49.941074+00:00",
"host": "savsoul.com",
"ip": "173.255.210.234",
"port": 6666
}
]
}
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=savsoul.com port=6666
INFO client_base.py:174 Connected to
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 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 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 GMCP
DEBUG stream_writer.py:1739 handle_do(GMCP)
DEBUG stream_writer.py:3036 pending_option[WILL + GMCP] = True
DEBUG stream_writer.py:938 send IAC WILL GMCP
DEBUG stream_writer.py:3036 local_option[GMCP] = True
DEBUG stream_writer.py:3036 pending_option[WILL + 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 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': '0', 'MUDPROGS-NOTES': "doesn't apply, LPMud", 'LEVELS': '0', 'HELPFILES-NOTES':
'each command, and hundreds of other docs', 'PLAYER CITIES': '0', 'PAY TO PLAY': '0', 'MULTICLASSING': '0', 'WHO': '', 'PORT':
'6666', 'LOCATION': 'United States', 'TRAINING SYSTEM': 'Skill', 'AREAS': '2', 'OBJECTS-NOTES': 'objects can be cloned, so
there can be thousands', 'OBJECTS': '400', 'RESETS-NOTES': "doesn't apply, LPMud", 'XTERM 256 COLORS': '0', 'SKILLS': 'N/A',
'RACES-NOTES': 'not all are playable', 'INTERMUD': ['i3', 'IMC2'], 'HELPFILES': 'N/A', 'HOSTNAME': '173.255.210.234',
'PLAYERKILLING': 'Full', 'SSL': '0', 'RACES': '3', 'GENRE': 'Post-Apocalyptic', 'LANGUAGE': 'English', 'GAMEPLAY': 'Questing',
'DESCRIPTION': 'The Savage Soul: Scorched Earth is a character-skill-based mud set in a magic-rich, zombie-ridden,
post-apocalyptic future. Devastated by a full-scale nuclear exchange and transformed by a gene-altering virus, the dark
landscape of 2195 Detroit is home to monsters, magic, and dazzling technology. Player characters in the form of barbaric
mutants, powerful sorcerers, worldly "Zisters," 21st Century "Sleepers," androids, robotoids, undead "Shamblers," and
cannibalistic "Morlocks" will struggle for survival against a nightmarish world and each other.', 'CONTACT':
'savagesoul@gmail.com', 'VT100': '0', 'PUEBLO': '0', 'QUEST SYSTEM': ['Automated', 'Integrated'], 'ROOMS-NOTES': 'areas have
generated rooms, could be millions', 'HIRING CODERS': '1', 'MUDPROGS': 'N/A', 'FAMILY-NOTES': 'descendant of Nightmare',
'PLAYER CRAFTING': '0', 'FAMILY': 'LPMud', 'PLAYER CLANS': '0', 'IP': '173.255.210.234', 'HIRING BUILDERS': '1',
'ROLEPLAYING': 'None', 'MOBILES-NOTES': "npc's can be cloned, so there can be thousands", 'MUDTRIGS-NOTES': "doesn't apply,
LPMud", 'CREATED': '2026', 'PAY FOR PERKS': '0', 'CLASSES': '0', 'NAME': 'The Savage Soul', 'MSP': '0', 'UPTIME':
'1756888346', 'GAMESYSTEM': 'The Savage Soul PnP - Modified', 'WORLD ORIGINALITY': 'Mostly Original', 'EXTRA DESCRIPTIONS':
'N/A', 'ADULT MATERIAL': '0', 'STATUS': 'Alpha', 'ROOMS': '300', 'MOBILES': '250', 'MUDTRIGS': 'N/A', 'CODEBASE': 'Dead Souls
3.7a7', 'MXP': '0', 'SKILLS-NOTES': 'many, custom peculiarities system.', 'WEBSITE': 'http://savsoul.com/', 'MULTIPLAYING':
'Full', 'RESETS': 'N/A', 'ICON': 'http://173.255.210.234:8001/favicon.ico', 'DBSIZE': 'N/A', 'EQUIPMENT SYSTEM': 'N/A',
'EXITS': 'N/A', 'MCP': '0', 'SUBGENRE': 'Fantasy', 'ANSI': '1', 'MCCP': '0', 'MINIMUM AGE': '13', 'PLAYER GUILDS': '0'}
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 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 + GMCP] = True
DEBUG stream_writer.py:938 send IAC DO GMCP
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 WONT SGA
DEBUG stream_writer.py:1991 handle_wont(SGA)
DEBUG stream_writer.py:3036 remote_option[SGA] = False
DEBUG stream_writer.py:3036 pending_option[DO + SGA] = 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 GMCP
DEBUG stream_writer.py:1991 handle_wont(GMCP)
DEBUG stream_writer.py:3036 remote_option[GMCP] = False
DEBUG stream_writer.py:3036 pending_option[DO + GMCP] = 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 67bffa9d5cf57f36
INFO client_base.py:105 Connection closed to
*Generated by* `telnetlib3-fingerprint `_
.. code-block:: shell
telnetlib3-fingerprint --loglevel=debug savsoul.com 6666
.. [#scan] measured 2026-02-08 at 05:07 UTC