[MUD-Dev] Multilevel server concept

Emil Eifrem emil at eifrem.com
Thu Apr 6 21:58:40 CEST 2000


At 10:06 PM 6/4/00, Draymoor wrote:
>I was just doing some design brainstorming and came upon an idea for a
>multilayer server system.
>I don't know how viable this is, or if it's already used, comments
>suggestions please?
>
>Anyway, the idea is such:
>
>There are two types of servers for a mud. One is the primary server. This
>world server basicly has all the game logic, player data, etc. This is like
>most standard muds. There is also another type of server called the router
>server. This server can reside anywhere and is what players connect to.
>These servers basicly bounce messages between the world server and the
>players.

MUME has been doing this for quite a while, I believe, and it seems to have
worked well for them (or at least that's what my friend who played there
told me about two years ago). We plan to do the same for Jamu, mainly as a
mean to reduce latency. Some notes on our implementation:

   - The distributors (the player connection points) transmit player data
     using UDP.

   - All player input is ganged up and compressed into one packet that is
     sent to the collector (the "real" mud server) when it's "full" (with
     full meaning it's as close to 1500 (MTU) as possible) or at the least
     every MIN_TIMESLICE. MIN_TIMESLICE varies depending on the connection
     between the collector and distributor but should be between 50 - 200ms.

   - We roll our own protocol which includes compression and some CRC and
     flow control.

   - You can't connect directly to the mud anymore, rather, we have a
     distributor on the mud server that listens on the old port. A nice side
     effect of this (as you pointed out) is that we encapsulate the physical
     location of the mud server and can vary it at will.

   - A distributor is very lightweight and should easily fit into the
     smallest/cheapest of the account offers of all these mud hosting
     service companies.

Unfortunately, Jamu isn't quite there yet and we haven't done more than
some initial testing -- so I really can't give you any feedback on how this
system works under real circumstances. I'm pretty convinced that it will
ease the burden on the main mud server/collector but I'm not certain that
it will ease the player's perception of lag. Maybe someone from the MUME
gang can jump in and share their experiences?

- - -
Emil Eifrem   [ emil at eifrem.com || www.eifrem.com || www.javamud.org ]




_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list