1998Q2/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Multi&#45;Server games -->
<!--X-From-R13: [V <zvpunryNfcnegn.znvafgernz.arg> -->
<!--X-Date: Sat, 27 Jun 1998 06:15:25 &#45;0700 -->
<!--X-Message-Id: 3594B842.793F4E0C#sparta,mainstream.net -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 19980624071311.33887#thelonious,new.ox.ac.uk -->
<!--X-Reference: Pine.LNX.3.96.980624212850.5085A&#45;100000#shamen,cyberhighway.net -->
<!--X-Reference: 19980625064255.24706#thelonious,new.ox.ac.uk -->
<!--X-Reference: 3593ECCD.10BCDEA8#sparta,mainstream.net -->
<!--X-Reference: 19980627111815.55920#thelonious,new.ox.ac.uk -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Multi-Server games</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:michael#sparta,mainstream.net">
</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>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
<br clear=all><hr>
<!--X-Body-Begin-->
<!--X-User-Header-->
<!--X-User-Header-End-->
<!--X-TopPNI-->

Date:&nbsp;
[&nbsp;<a href="msg01232.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01234.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg01232.html">Previous</a>
&nbsp;|&nbsp;<a href="msg01244.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#01233">Author</A>
&nbsp;|&nbsp;<A HREF="#01233">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#01233">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Multi-Server games</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>: [MUD-Dev] Re: Multi-Server games</LI>
<LI><em>From</em>: MH &lt;<A HREF="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</A>&gt;</LI>
<LI><em>Date</em>: Sat, 27 Jun 1998 05:15:46 -0400</LI>
<LI><em>Reply-To</em>: <A HREF="mailto:mud-dev#kanga,nu">mud-dev#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>
Jo Dillon wrote:
&gt; 
&gt; MH (michael#sparta,mainstream.net) spake thusly:
&gt; &gt; Just keep the player/object on the original server until the new server
&gt; &gt; verifies that it has taken possession of the player/object.  Something
&gt; &gt; along the lines of:
&gt; &gt;
&gt; &gt; The international highway:
&gt; &gt;
&gt; &gt; You see a signpost here, marking where Bubbaland leaves off and
&gt; &gt; Boffoworld begins.
&gt; &gt;
&gt; &gt; &gt; walk east  (to Boffoland)
&gt; &gt;
&gt; &gt; &lt;remote server SEGV's&gt;
&gt; &gt; &lt;local server fails to recieve confirmation of remote server's
&gt; &gt; acceptance of player&gt;
&gt; &gt; &lt;local server puts player back where he/she was, takes necessary visual
&gt; &gt; steps&gt;
&gt; &gt;
&gt; &gt; Suddenly, a great chasm appears between you and Boffoland.  You won't be
&gt; &gt; going *there* for a while...
&gt; &gt;
&gt; &gt; &gt; curse
&gt; &gt; You swear angrily.
&gt; 
&gt;   This is exactly what I do, as a matter of fact. But what if things fail
&gt; halfway through transferring a group of objects? (I.e. Bubba is transported
&gt; but failure happens halfway through transferring the things he's carrying?)

If the local server is going to send things as a group, it can do
something like this:

&lt;local-to-remote: Sending objects..&gt;
&lt;send:Buffa, foo, bar&gt;
&lt;local-to-remote: End Send&gt;
&lt;remote-server: pick up any sockets associated with the objects&gt;
&lt;remote-to-local: transfer successful&gt;
&lt;local server: wipe objects from local database&gt;

Basicly, when the local server sends stuff over to a remote server, it
sends things until it is finished, and then asks for confirmation. 
Alternatively, it gets confirmation after each object, but does not wipe
its own copy until it has recieved confirmation on the very last object
to be sent.  If something happens halfway through, Bubba finds that he's
still on the local server, staring out over the chasm.

&gt; And what happens if something nasty happens between the time when the
&gt; object is linked into the new node's database and the acknowledgement is
&gt; sent?

That depends on what you mean by the word "nasty".  If the remote server
SEGV's, then whatever is in its database is moot, as far as the players
are concerned, and Bubba will be looking at his chasm again.  If the
remote server just messes up somehow, and fails to send confirmation, I
suppose that having two copies of Bubba could be inconvienient.  This is
basicly avoided by making sure that there is no way out of the
recieve-data-and-confirm function without sending a confirm or fail
signal.

Alternatively, you could concieveably tag each object with a special
server key, which identifies which server it origniated on, etc.  I'm
thinking about this sort of thing myself.  I want to design a system
where the client is really just a server attached to the main server(s),
and handling a relatively few objects like the player and his
possessions.  Since I'm not going to be stingy about the source, there
has to be some kind of verification process for all objects, lest
someone hack his way into having a massively powerful sword.  I was
thinking about having servers use pgp to encrypt the raw data associated
with an object, and attach a segment of that output to the object to
serve as a "signature", to verify that it has not been changed since the
server last saw it.


-- 
Michael Hohensee       michael#mainstream,net
<A  HREF="http://www.geocities.com/SiliconValley/Heights/9025/">http://www.geocities.com/SiliconValley/Heights/9025/</A>
      Finger me for my PGP Public Key, or use: 
<A  HREF="http://sparta.mainstream.net/michael/pgpkey.txt">http://sparta.mainstream.net/michael/pgpkey.txt</A>


</PRE>

<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<HR>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="01189" HREF="msg01189.html">[MUD-Dev] Re: In game bulletin boards vs. Web based.</A></STRONG>
<UL><LI><EM>From:</EM> Jo Dillon &lt;emily#thelonious,new.ox.ac.uk&gt;</LI></UL></LI>
<LI><STRONG><A NAME="01198" HREF="msg01198.html">[MUD-Dev] Re: Multi-Server games</A></STRONG>
<UL><LI><EM>From:</EM> Ben Greear &lt;greear#cyberhighway,net&gt;</LI></UL></LI>
<LI><STRONG><A NAME="01202" HREF="msg01202.html">[MUD-Dev] Re: Multi-Server games</A></STRONG>
<UL><LI><EM>From:</EM> Jo Dillon &lt;emily#thelonious,new.ox.ac.uk&gt;</LI></UL></LI>
<LI><STRONG><A NAME="01227" HREF="msg01227.html">[MUD-Dev] Re: Multi-Server games</A></STRONG>
<UL><LI><EM>From:</EM> MH &lt;michael#sparta,mainstream.net&gt;</LI></UL></LI>
<LI><STRONG><A NAME="01232" HREF="msg01232.html">[MUD-Dev] Re: Multi-Server games</A></STRONG>
<UL><LI><EM>From:</EM> Jo Dillon &lt;emily#thelonious,new.ox.ac.uk&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg01232.html">[MUD-Dev] Re: Multi-Server games</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg01234.html">[MUD-Dev] Re: WIRED: Kilers have more fun</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg01232.html">[MUD-Dev] Re: Multi-Server games</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg01244.html">[MUD-Dev] Re: Multi-Server games</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#01233"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#01233"><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>[MUD-Dev] Re: Multi-Server games</STRONG>, <EM>(continued)</EM>
<ul compact>
<ul compact>
<ul compact>
<ul compact>
<LI><strong><A NAME="01198" HREF="msg01198.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Thu 25 Jun 1998, 04:34 GMT
<UL>
<LI><strong><A NAME="01202" HREF="msg01202.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Thu 25 Jun 1998, 06:43 GMT
<UL>
<LI><strong><A NAME="01227" HREF="msg01227.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
MH <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Fri 26 Jun 1998, 22:47 GMT
<UL>
<LI><strong><A NAME="01232" HREF="msg01232.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
Jo Dillon <a href="mailto:emily#thelonious,new.ox.ac.uk">emily#thelonious,new.ox.ac.uk</a>, Sat 27 Jun 1998, 11:19 GMT
<UL>
<LI><strong><A NAME="01233" HREF="msg01233.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
MH <a href="mailto:michael#sparta,mainstream.net">michael#sparta,mainstream.net</a>, Sat 27 Jun 1998, 13:15 GMT
</LI>
<LI><strong><A NAME="01244" HREF="msg01244.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Mon 29 Jun 1998, 17:34 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="01264" HREF="msg01264.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
Vadim Tkachenko <a href="mailto:vt#freehold,crocodile.org">vt#freehold,crocodile.org</a>, Tue 30 Jun 1998, 04:47 GMT
<UL>
<LI><strong><A NAME="01284" HREF="msg01284.html">[MUD-Dev] Re: Multi-Server games</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Wed 01 Jul 1998, 05:52 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</ul>
</ul>
<LI><strong><A NAME="00920" HREF="msg00920.html">[MUD-Dev] RE: In game bulletin boards vs. Web based.</A></strong>, 
Koster, Raph <a href="mailto:rkoster#origin,ea.com">rkoster#origin,ea.com</a>, Tue 09 Jun 1998, 20:31 GMT
</LI>
</ul>
</LI>
</UL></BLOCKQUOTE>

</ul>
<hr>
<center>
[&nbsp;<a href="../">Other Periods</a>
&nbsp;|&nbsp;<a href="../../">Other mailing lists</a>
&nbsp;|&nbsp;<a href="/search.php3">Search</a>
&nbsp;]
</center>
<hr>
</body>
</html>