<!-- MHonArc v2.4.4 --> <!--X-Subject: RE: [MUD-Dev] Languages for MUD drivers --> <!--X-From-R13: "Wna [npvagbfu" <vznaNvfflfgrzf.pb.am> --> <!--X-Date: Wed, 17 Nov 1999 15:48:41 -0800 --> <!--X-Message-Id: 000f01bf3154$f38ed020$0201a8c0@granite --> <!--X-Content-Type: text/plain --> <!--X-Reference: 3832EA02.F3F568D4@classic-games.com --> <!--X-Head-End--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <html> <head> <title>MUD-Dev message, RE: [MUD-Dev] Languages for MUD drivers</title> <!-- meta name="robots" content="noindex,nofollow" --> <link rev="made" href="mailto:iman@issystems.co.nz"> </head> <body background="/backgrounds/paperback.gif" bgcolor="#ffffff" text="#000000" link="#0000FF" alink="#FF0000" vlink="#006000"> <font size="+4" color="#804040"> <strong><em>MUD-Dev<br>mailing list archive</em></strong> </font> <br> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] <br clear=all><hr> <!--X-Body-Begin--> <!--X-User-Header--> <!--X-User-Header-End--> <!--X-TopPNI--> Date: [ <a href="msg00323.html">Previous</a> | <a href="msg00325.html">Next</a> ] Thread: [ <a href="msg00299.html">Previous</a> | <a href="msg00369.html">Next</a> ] Index: [ <A HREF="author.html#00324">Author</A> | <A HREF="#00324">Date</A> | <A HREF="thread.html#00324">Thread</A> ] <!--X-TopPNI-End--> <!--X-MsgBody--> <!--X-Subject-Header-Begin--> <H1>RE: [MUD-Dev] Languages for MUD drivers</H1> <HR> <!--X-Subject-Header-End--> <!--X-Head-of-Message--> <UL> <LI><em>To</em>: <<A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A>></LI> <LI><em>Subject</em>: RE: [MUD-Dev] Languages for MUD drivers</LI> <LI><em>From</em>: "Ian Macintosh" <<A HREF="mailto:iman#issystems,co.nz">iman#issystems,co.nz</A>></LI> <LI><em>Date</em>: Thu, 18 Nov 1999 12:39:12 +1300</LI> <LI><em>Importance</em>: Normal</LI> <LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#kanga,nu</A></LI> <LI><em>Sender</em>: <A HREF="mailto:mud-dev-admin#kanga,nu">mud-dev-admin#kanga,nu</A></LI> </UL> <!--X-Head-of-Message-End--> <!--X-Head-Body-Sep-Begin--> <HR> <!--X-Head-Body-Sep-End--> <!--X-Body-of-Message--> <PRE> > From: Greg Miller > Sent: Thursday, 18 November 1999 06:47 > > Ian Macintosh wrote: > > Distributed processing support can be handled by > running multiple > > processes and interconnecting them. I've always > thought that this is > > a better way of handling large systems and a large > number of users. > > ie, segment areas (zones) onto different servers and > link them. > > I've always thought this was an extraordinarily poor > way to handle it... > Unless you have a truly enormous number of players, > don't you end up > shifting areas from server to server as players and > groups move, in > order to achieve load balancing? Wouldn't event-based > distribution work > much more cleanly? I'd agree with that Greg. But that is really dependant on how you design your software. In the first place, I am, as you say, trying to load balance, but not to the nth degree. Rather, I want to find logical breakpoints where I can split the 'world', and thereby achieve a fairly equitable load sharing. Of course, what this means in the normal Aber/Diku derivatives that we all seem to run, is that you would put different zones/areas on different servers. What you really should do though, to my mind, is segment the functionality. Now perhaps that is what you are alluding to when you talk about event-based distribution, although I read that as saying that the exact same command could be processed on any particular server, depending on that servers load at the time. By segmenting functionality, I'm talking about taking certain portions of the program known to eat CPU, and putting that on one or more servers. To go totally haywire on the concept, think of the following. Server A. Handles player network connections, traffic, command parsing and player state Server B. Controls part 1 of the virtual world, with static object (fountains, stones, doors) plus the mobiles, but no mob code Server C. Controls part 2 ... as above ... Server D. Controls part 3 ... as above ... Server E. AI for X mobiles (mob code) Server F. AI for X mobiles (mob code) Server C. Path finding code Server D. Combat handling code You could of course split those tasks any way you like, but the concept should be clear from the example. What you really want to do is ensure that any particular part of the project can be handled by one or more servers in your server farm. If you do that right, you don't need to concern yourself too much about where the right place to split would be. If you find you allocated too few servers for the mob AI for example, you just add another server and split them into 3 groups instead of 2. Of course, I'm not talking about a trivial system in this example, but rather one capable of handling over 1,000 simultaneous players. For something more in the line of what I'm doing at the moment, one server with 4 separate processes does the job. The reason why I believe this is better than using RPC or whatever to load balance based on events, is that I can't get away from the requirement that one system has to be the master, or own, a particular piece of the MUD. i.e., Server B handles Midgaard, and as such, if *anyone* or *any server* wants to know the exact state of Market Square, it must find out here. If there are two servers possibly handling the same piece of real estate, who's version is the right one? Likewise, Server E controls the Grand Mistress of Magic sitting on her throne in the High Tower of Sorcery. If you want to know her status, you find that out by querying Server E. I hope I make some sense :-) Regards, Ian Macintosh. _______________________________________________ MUD-Dev maillist - MUD-Dev#kanga,nu <A HREF="http://www.kanga.nu/lists/listinfo/mud-dev">http://www.kanga.nu/lists/listinfo/mud-dev</A> </PRE> <!--X-Body-of-Message-End--> <!--X-MsgBody-End--> <!--X-Follow-Ups--> <HR> <ul compact><li><strong>Follow-Ups</strong>: <ul> <li><strong><A NAME="00416" HREF="msg00416.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong> <ul compact><li><em>From:</em> J C Lawrence <claw@cp.net></li></ul> <li><strong><A NAME="00369" HREF="msg00369.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong> <ul compact><li><em>From:</em> Greg Miller <gmiller@classic-games.com></li></ul> </UL></LI></UL> <!--X-Follow-Ups-End--> <!--X-References--> <UL><LI><STRONG>References</STRONG>: <UL> <LI><STRONG><A NAME="00299" HREF="msg00299.html">Re: [MUD-Dev] Languages for MUD drivers</A></STRONG> <UL><LI><EM>From:</EM> Greg Miller <gmiller@classic-games.com></LI></UL></LI> </UL></LI></UL> <!--X-References-End--> <!--X-BotPNI--> <UL> <LI>Prev by Date: <STRONG><A HREF="msg00323.html">RE: [MUD-Dev] code base inquiry</A></STRONG> </LI> <LI>Next by Date: <STRONG><A HREF="msg00325.html">Distribution schemes (was Re: [MUD-Dev] Languages for MUD drivers)</A></STRONG> </LI> <LI>Prev by thread: <STRONG><A HREF="msg00299.html">Re: [MUD-Dev] Languages for MUD drivers</A></STRONG> </LI> <LI>Next by thread: <STRONG><A HREF="msg00369.html">Re: [MUD-Dev] Languages for MUD drivers</A></STRONG> </LI> <LI>Index(es): <UL> <LI><A HREF="index.html#00324"><STRONG>Date</STRONG></A></LI> <LI><A HREF="thread.html#00324"><STRONG>Thread</STRONG></A></LI> </UL> </LI> </UL> <!--X-BotPNI-End--> <!--X-User-Footer--> <!--X-User-Footer-End--> <ul><li>Thread context: <BLOCKQUOTE><UL> <LI><STRONG>Re: [MUD-Dev] Languages for MUD drivers</STRONG>, <EM>(continued)</EM> <ul compact> <LI><strong><A NAME="00264" HREF="msg00264.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong>, Joey Hess <a href="mailto:joey@kitenet.net">joey@kitenet.net</a>, Tue 16 Nov 1999, 03:46 GMT </LI> <LI><strong><A NAME="00268" HREF="msg00268.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong>, bruce <a href="mailto:bruce@puremagic.com">bruce@puremagic.com</a>, Tue 16 Nov 1999, 05:49 GMT </LI> <LI><strong><A NAME="00288" HREF="msg00288.html">RE: [MUD-Dev] Languages for MUD drivers</A></strong>, Ian Macintosh <a href="mailto:iman@issystems.co.nz">iman@issystems.co.nz</a>, Wed 17 Nov 1999, 16:31 GMT <UL> <LI><strong><A NAME="00299" HREF="msg00299.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong>, Greg Miller <a href="mailto:gmiller@classic-games.com">gmiller@classic-games.com</a>, Wed 17 Nov 1999, 21:24 GMT <UL> <LI><strong><A NAME="00324" HREF="msg00324.html">RE: [MUD-Dev] Languages for MUD drivers</A></strong>, Ian Macintosh <a href="mailto:iman@issystems.co.nz">iman@issystems.co.nz</a>, Wed 17 Nov 1999, 23:48 GMT <UL> <LI><strong><A NAME="00369" HREF="msg00369.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong>, Greg Miller <a href="mailto:gmiller@classic-games.com">gmiller@classic-games.com</a>, Thu 18 Nov 1999, 18:23 GMT <UL> <LI><strong><A NAME="00418" HREF="msg00418.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong>, J C Lawrence <a href="mailto:claw@cp.net">claw@cp.net</a>, Sat 20 Nov 1999, 01:18 GMT </LI> </UL> </LI> <LI><strong><A NAME="00416" HREF="msg00416.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong>, J C Lawrence <a href="mailto:claw@cp.net">claw@cp.net</a>, Sat 20 Nov 1999, 01:01 GMT </LI> </UL> </LI> <LI><strong><A NAME="00388" HREF="msg00388.html">Re: [MUD-Dev] Languages for MUD drivers</A></strong>, J C Lawrence <a href="mailto:claw@cp.net">claw@cp.net</a>, Fri 19 Nov 1999, 00:30 GMT </LI> </UL> </LI> </UL> </LI> </ul> </LI> </UL></BLOCKQUOTE> </ul> <hr> <center> [ <a href="../">Other Periods</a> | <a href="../../">Other mailing lists</a> | <a href="/search.php3">Search</a> ] </center> <hr> </body> </html>