[MUD-Dev] Re: MUD clients, testing

Scatter scatter at thevortex.com
Fri Nov 13 09:45:24 New Zealand Daylight Time 1998


You wrote on mud-dev about your telnet code:
>If you use a client other than those, can you please give it a try by
>pointing it at mud.graysage.edmonton.ab.ca port 6666, and let me know
>the results? If there is a UNIX version of that client that compiles
>and runs on Linux, a pointer to an ftp site for it would be nice, too.

I dropped by this morning with a couple of versions of OS/2 telnet
(the command line 'telnet' program and the GUI version 'telnetpm')=20
- both experience a couple of problems. The negotiation settings
they end up with are:

** sendBinary: FALSE
** receiveBinary: FALSE
** server echo: TRUE
** suppress goahead: TRUE
** use end of record: TRUE
** terminal type is 'vt220'
** display height 25 width 80
** ever send GA: FALSE
** attempt password blanking: TRUE
** use SUPGA on password blanking: TRUE
** erase prompts: TRUE

The problem is a spurious character after each prompt - it looks like

input> =EF

The spurious character is ascii 139. This character doesn't appear
when I use the OS/2 port of tinyfugue so I'm guessing it's a stray
GA or similar part of telnet protocol that telnet isn't expecting?

There is another problem where OS/2 telnet will stop local-echoing
when the server offers WILL ECHO but does not start local-echoing
when the server offers WONT ECHO - but this is course a bug in the
telnet program itself.

>The results of my testing, some common problems and how to fix them, and
>general user documentation of my telnet code, can be found at
>    ftp://ftp.myrias.com/pub/cg/MUD/telnet.txt

Interesting reading - I have an extra point about GA. You mention
there is no use for it these days apart from the negotiation switch
to pseudo-linemode.

This is not entirely correct. LP muds generally send telnet GA
to mark the end of the command prompt. This is then used by=20
mud clients to detect when a prompt is sent and (for example)
display the prompt in the command entry window instead of
the main window. Tinyfugue supports this, for example (in
addition to supporting EOR used for the same purpose). I find
this invaluable as it means much less clutter in the main
window! If you have a version of tinyfugue lying around,=20
read '/help prompts' and '/help protocol' for an explanation.

>A note to DevMUD folks: have I gone overboard here? Should some of the
>stuff be ripped out before the code is usable for DevMUD? Should the
>defaults be different (e.g. don't do WILL ECHO on startup)?

Generally, mud clients don't expect the mud server to echo -
normally a mud server will default to WONT ECHO and then use
WILL ECHO only to disable local echoing for password entry.
This is probably why tinyfugue doesn't echo when you connect
to your server with it - it won't switch to character-mode
as it doesn't support it, but it does stop local-echoing.
The server echo can't be received until the line is sent, at
which point the echo is not so useful!

You'll probably find the vast majority of mud clients=20
behave this way - supporting line-mode only. The telnet
protocol implementation is most mud clients is incredibly
minimal, usually supporting only echo negotiation - some
(like GMud for Windows) not even that. With this in mind,
if you want your server to work with these clients, you need
to default to options that will work with them cos negotiation
will fall on deaf ears.

Scatter ///\oo/\\\

More information about the MUD-Dev mailing list