[MUD-Dev] TECH DGN: Re: a few mud server design questions (long)

Robert Zubek rob at cs.northwestern.edu
Sat Jul 28 03:05:58 CEST 2001


Joe Andrieu writes:

 > Are you separating your system into a "Driver" and "Mudlib"?

not quite that cut, but close. i'm not going to have a simulation
sandbox - objects will be written in the same language as the server
- but world objects and the event handler will be separated from
each other, and from the network connection handler.

i'm hoping to be able to handle each player connection (including
text interfacing and parsing) in its own thread, thus letting the
main event handler run at a much coarser granularity.

 > Second, I'm assuming you are just going to use CLOS to manage the
 > object-oriented side of this puzzle.

CLOS or something similar - i haven't yet decided on the particular
lisp dialect or implementation. i'll need to download a few and play
with their networking and threading code, as well as figure out some
way to fake object persistency - but all that will have to wait till
after IJCAI. :)

 > With this assumption, we can assume that any cascade of method
 > calls triggered by a Tick happen effectively in unit time, e.g.,
 > simultaneously.  Given that, you can also look into whether or
 > not you want to enable rollback should inconsistent events occur
 > during the tick. A non-trivial task, but one that has its merits
 > (although I don't know if anyone has done it at the granularity
 > of a tick.)

i agree, the main engine should not deal with fine-grained
asynchronous events such as network connection handling, and that
all the events it handles should either be immediate, or explicitly
implement some kind of cooperative yielding.

i'm hoping to avoid having to deal with concurrenty problems on the
level of a single tick by just processing all events serially. i
realize this doesn't solve consistency problems with
temporally-extended events, though...

rob

--
Robert Zubek 
rob at cs.northwestern.edu
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list