diff --git a/evennia/server/portal/ssh.py b/evennia/server/portal/ssh.py index 745ddb172c..9da30e1c88 100644 --- a/evennia/server/portal/ssh.py +++ b/evennia/server/portal/ssh.py @@ -127,6 +127,10 @@ class SshProtocol(Manhole, _BASE_SESSION_CLASS): self.width = width self.height = height + # Set color defaults + for color in ("ANSI", "XTERM256", "TRUECOLOR"): + self.protocol_flags[color] = True + # initialize the session client_address = self.getClientAddress() client_address = client_address.host if client_address else None diff --git a/evennia/server/portal/ttype.py b/evennia/server/portal/ttype.py index 8125277644..532d43f8a4 100644 --- a/evennia/server/portal/ttype.py +++ b/evennia/server/portal/ttype.py @@ -19,6 +19,10 @@ SEND = bytes([1]) # b"\x01" # terminal capabilities and their codes MTTS = [ + (2048, "SSL"), + (1024, "MSLP"), + (512, "MNES"), + (256, "TRUECOLOR"), (128, "PROXY"), (64, "SCREENREADER"), (32, "OSC_COLOR_PALETTE"), diff --git a/evennia/server/portal/webclient.py b/evennia/server/portal/webclient.py index fe79d56221..cc11f1d1f9 100644 --- a/evennia/server/portal/webclient.py +++ b/evennia/server/portal/webclient.py @@ -131,6 +131,9 @@ class WebSocketClient(WebSocketServerProtocol, _BASE_SESSION_CLASS): self.protocol_flags["CLIENTNAME"] = f"Evennia Webclient (websocket{browserstr})" self.protocol_flags["UTF-8"] = True self.protocol_flags["OOB"] = True + self.protocol_flags["TRUECOLOR"] = True + self.protocol_flags["XTERM256"] = True + self.protocol_flags["ANSI"] = True # watch for dead links self.transport.setTcpKeepAlive(1)