The server now skips spurious empty lines from client negotiation bytes during the name prompt, only closing on actual connection loss. This makes the login flow robust against clients that send IAC bytes with trailing CRLF during negotiation. Also fixed tintin++ CATCH handlers to use proper \} syntax matching the documented examples.
41 lines
1.3 KiB
Text
41 lines
1.3 KiB
Text
#NOP TinTin++ config for the MUD server
|
|
#NOP usage: tt++ mud.tin
|
|
#split 0 1
|
|
|
|
#NOP initialize MSDP variables for status bar (before connection)
|
|
#variable {MSDP_HEALTH} {-}
|
|
#variable {MSDP_HEALTH_MAX} {-}
|
|
#variable {MSDP_STAMINA} {-}
|
|
#variable {MSDP_STAMINA_MAX} {-}
|
|
|
|
#NOP protocol negotiation: tintin++ does NOT auto-negotiate MSDP or
|
|
#NOP GMCP. CATCH intercepts before the default DONT response, and
|
|
#NOP #send handles hex escapes natively (no raw option needed).
|
|
#EVENT {CATCH IAC WILL GMCP} {#send {\xFF\xFD\xC9\}}
|
|
#EVENT {CATCH IAC WILL MSDP} {#send {\xFF\xFD\x45\}}
|
|
|
|
#NOP store incoming MSDP variables and refresh status bar
|
|
#EVENT {IAC SB MSDP} {
|
|
#variable {MSDP_%0} {%1};
|
|
#showme {[HP: $MSDP_HEALTH/$MSDP_HEALTH_MAX] [ST: $MSDP_STAMINA/$MSDP_STAMINA_MAX]} {-2}
|
|
}
|
|
|
|
#NOP reconnect after disconnect. defined before #session so it
|
|
#NOP persists in the startup session when the mud session dies.
|
|
#alias {reconnect} {#session mud localhost 6789}
|
|
|
|
#session mud localhost 6789
|
|
|
|
#NOP fly shortcuts: f + direction
|
|
#alias {fn} {fly north}
|
|
#alias {fs} {fly south}
|
|
#alias {fe} {fly east}
|
|
#alias {fw} {fly west}
|
|
#alias {fne} {fly northeast}
|
|
#alias {fnw} {fly northwest}
|
|
#alias {fse} {fly southeast}
|
|
#alias {fsw} {fly southwest}
|
|
|
|
#NOP combat shortcuts
|
|
#alias {o} {sweep}
|
|
#alias {r} {roundhouse}
|