[MUD-Dev] Re: An Introduction

Chris Gray cg at ami-cg.GraySage.Edmonton.AB.CA
Wed Jul 8 08:14:09 CEST 1998


[Jeroen Ruigrok:]

 >When developing a Multi-User Environment, do you find knowledge of how operating
 >systems work handy? I mean, as far as I see it now, a lot of status flags, Inter
 >Proces Communication and user interoperability resembles the way modern
 >operating systems work. I am
 >currently delving into the book Modern Operating Systems 2nd Ed. by Andrew S.
 >Tanenbaum and find many similiarities between mud operations and Operating
 >Systems. Any thoughts on this matter?

I agree with this. The lower level parts of a MUD server basically
provide a number of services to a bunch of clients, and maintain the
illusion of servicing all of them at the same time. The MUD usually
also has background activities happening (NPC activities and other
timed or randomly triggered events).

 >Also, which books are recommended to start with network programming, preferably
 >TCP/IP based and for C/C++. Also, if ye know of an OS independant booktitle, it
 >would be preferred, as I am at the moment working on Windows NT, and have to
 >wait with installing FreeBSD when my extra HD arrives...

I wouldn't worry too much about which OS you are working on, so long
as you keep your goals in mind. If you want to write a server that
will port to UNIX as well as Windows NT, just avoid using things that
are specific to the Win32 API. The simplest way to do that is to do
everything through the older winsock-1 calls, and the compatibility
libraries. Don't use any system functions whose names start with a
capital letter (the specific Win32 functions). Also, either don't use
any of the myriad typedefs that the MS environment uses, or keep them
hidden inside a header file of your own, so that you can replace them
with something else for other systems. By these things, I mean all the
stuff like DWORD, LPVOID, LPCSTRING, etc. etc. Also watch out for any
of the language extensions that MS has, such as using unions from
inside of structs without the enclosing tags.

--
Chris Gray     cg at ami-cg.GraySage.Edmonton.AB.CA




More information about the mud-dev-archive mailing list