Net protocols for MUDing (was: Moore's Law sucks)
s001gmu at nova.wright.edu
s001gmu at nova.wright.edu
Mon Feb 23 16:16:10 CET 1998
On Mon, 23 Feb 1998 coder at ibm.net wrote:
>
> On 20/02/98 at 02:35 AM, Jon Leonard <jleonard at divcom.umop-ap.com> said:
> >On Sun, Feb 15, 1998 at 11:55:11PM +0000, coder at ibm.net wrote: > On
> >14/02/98 at 01:58 AM, Adam Wiggins <nightfall at user2.inficad.com> said: >
>
> >> It makes a lot more sense to me to move away from TCP for MUD clients, and
> >> instead look to UDP and design the client and server to be tolerant of
> >> dropped packets. Sure, things will get a bit jerky of occassion, but it
> >> sure beats waiting for the time-out and re-send of a dropped packet.
>
> >I'd be extremely reluctant to do this. It's very easy to redesign TCP
> >badly, and nearly impossible to do better.
>
> No, you misunderstand.
>
> I am proposing that MUD clients move to a protocol and data model which is
> tolerant of data loss. If packets get lost, or arrive far to late, the
> client won't care and will continue to offer a decent representation of
> what is happening in the game. The main problem with telnet lag is *not*
> latency but dropped packets -- the whole damn client freezes while
> awaiting the lost packet. Instead have the client be predictive and work
> on a best-effort basis. It works with the data it gets, and ignores or
> attempts to generate the data it never sees for whatever reason.
>
> Raph has commented that UOL's client does this in some areas.
Any interested parties may want to look at the IEEE DIS (Distributed
Interactive Simulation) standard (Std. 1278.1-1995 and related docs). It
deals heavily with maintaining the simulation state across multiple
machines with unreliable network connections. Nothing overly
revolutionary, but it lays out a lot of things in one place.
I've been working with it a lot at work the past year or so and will
probably unconscoiusly steal a lot of it's ideas. :)
> >For example, TCP has some fairly nice properties for slowing
> >transmissions during times of high load. Running a UDP MUD on an
> >overloaded network could easily be a major contributor to that overload,
> >and keep it from getting better.
>
> The key feature of TCP which I'd remove would be the error correction.
> Given a predictive client its both unecessary and counter-productive.
it makes for very odd entity behavior if you leave it in... aye. :)
-Greg
More information about the mud-dev-archive
mailing list