mu*index
lezen
platte tekst
thema

protocol

TTYPE en MTTS

Hoe een client een server vertelt wat hij is en wat hij kan — inclusief, als de client dat wil zeggen, dat er een schermlezer in gebruik is.

https://www.mudhalla.net/tintin/protocols/mtts/

Gemeten adoptie

0 van 886 vermelde spellen — 0.0%

De spellen die hier niet meetellen zijn geen spellen zonder het protocol. Een spel telt mee wanneer we zijn server de optie in een handshake hebben zien aanbieden; de rest zijn servers die het ons niet aangeboden hebben en servers waarvan we de handshake niet gelezen hebben, en welke van beide het is kunnen we niet zeggen.

Spellen die we TTYPE en MTTS in een handshake hebben zien aanbieden, naar de codebase waarvan we vaststelden dat ze erop draaien.
codebase bood het aan vastgesteld
AresMUSH 0 18
CircleMUD 0 47
CobraMUSH 0 2
CoffeeMUD 0 32
DikuMUD 0 35
Evennia 0 11
FluffOS 0 28
MUCK 0 24
PennMUSH 0 34
RhostMUSH 0 40
ROM 0 55
SMAUG 0 20
tbaMUD 0 5
TinyMUSH 0 9

TTYPE is telnet-optie 24, uit RFC 1091: de server vraagt de client welke terminal hij is, en de client antwoordt. Historisch was het antwoord VT100 of ANSI.

MTTS — de Mud Terminal Type Standard — legt daar een afspraak overheen. Een client antwoordt drie keer: zijn naam, zijn terminaltype, en dan MTTS <bitmask>, waarbij de bits mogelijkheden opgeven. 256 kleuren, true colour, UTF-8, MNES, MSP over out-of-band — en, opvallend genoeg, MTTS_SCREEN_READER.

Het schermlezerbit

Bij die laatste is het de moeite waard even stil te staan, want het is de enige plek in de protocolstapel van deze hobby waar toegankelijkheid een eersterangsbegrip is.

Een client die het zet, vertelt de server dat er een schermlezer in gebruik is, en een server die dat opmerkt kan zich aanpassen: ASCII-kunst onderdrukken, de decoratieve kaderlijnen rond een kamerbeschrijving weglaten, een tabel anders opmaken. Zowel TinTin++ als Blightmud adverteert het, en Mudlet heeft er een instelling voor.

Of een bepaald spel er iets mee doet is een andere vraag, en niet een die deze site kan meten — we kunnen een server niet vragen wat hij anders zou doen.

Wat een crawler hier verplicht is

Een crawler maakt zichzelf via TTYPE bekend, en dat hoort ook. De onze doet dat, met een URL met informatie, zodat een beheerder die zijn logboeken leest kan achterhalen wie er verbinding met zijn spel gemaakt heeft en hoe hij ons kan vragen te stoppen. Een crawler die ANSI antwoordt en verder niets, is anoniem van opzet, en daar is geen goede reden voor.

Wat we meten

Servers die met ons over TTYPE onderhandeld hebben. Let op: dit is een van de weinige opties waarbij wij de partij zijn die gevraagd wordt, dus een cijfer hier is een telling van servers die de moeite namen te vragen.

Zie ook

  • CHARSET De telnet-optie uit RFC 2066 om een codering af te spreken. De reden dat namen met accenten in een spel de reis overleven, en de bron van een paar subtiele fouten wanneer hij ontbreekt.
  • TinTin++ Een terminalclient met een eigen scripttaal, op elk platform inclusief telefoons, en een gedocumenteerde schermlezermodus.
  • Blightmud Een moderne terminalclient in Rust, met Lua-scripting, ingebouwde tekst-naar-spraak en een schermlezermodus die zichzelf aan de server bekendmaakt.