1998Q4/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: [MUD&#45;Dev] Re: Trusting the Client (Re: Laws of Online World Design) -->
<!--X-From-R13: "Oqnz X. Fubeagba" <nqnzNcubravk.Bevaprgba.SRG> -->
<!--X-Date: Wed, 14 Oct 1998 11:04:12 &#45;0700 -->
<!--X-Message-Id: 19981014140116.B15958#flagstaff,Princeton.EDU -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: jleonard#divcom,slimy.com -->
<!--X-Reference: 199810141733.KAA25663#under,engr.sgi.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, [MUD-Dev] Re: Trusting the Client (Re: Laws of Online World De</title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:adam#phoenix,Princeton.EDU">
</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="msg00203.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00205.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00203.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00206.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00204">Author</A>
&nbsp;|&nbsp;<A HREF="#00204">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00204">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</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: Trusting the Client (Re: Laws of Online World Design)</LI>
<LI><em>From</em>: "Adam J. Thornton" &lt;<A HREF="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</A>&gt;</LI>
<LI><em>Date</em>: Wed, 14 Oct 1998 14:01:16 -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>
On Wed, Oct 14, 1998 at 10:33:07AM -0700, J C Lawrence wrote:
&gt;   1) Computation is done on the client.
&gt;   2) All random numbers for all computations originate fromthe
&gt; server.
&gt;   3) Cross-check consistancy statements for all computations are
&gt; sent to the server from the client for all data commits for
&gt; veracity checking.
&gt; Is it absolutely secure?  No.  It is tighter however.

But it's also awfully chatty.

And how easy is it to do the veracity checking without actually performing
the calculation on the server?  If you do the calculation on the server,
then you may as well get rid of your veracity protocol, and it's my guess
(just a guess) that the bandwidth requirements would remain about the same.

AFAICT the major bottleneck is going to be network speed, not computation.
So I've been working on ways to reduce the traffic between client and
server.  The approach I'm trying now, which looks like it might work, is to
separate object data and its representation data.  That is, the server
gives the client an object tree representing the section of the world
currently visible.  Then the client asks its representation server for the
representation data (text, graphical, sound, whatever--determined via
negotiation between the client and the server).  Using a protocol
shamelessly plagiarized from NNTP, the client and server determine which
resources need to be downloaded and which already exist in the local
cache.  When the representation server can't satisfy a request, *then* it
passes the request off to the appropriate master server, which is in the
hands of the people running the game.

This means that only the object trees have to be updated frequently across
the wider net.  Which should keep bandwidth pretty reasonable, since the
size of a serialized representation of these trees is small compared to the
size of, say, 16-bit tile resources.

This lets you put the representational data much closer to the client:
locally mounted CD, or one CD or HD mounted on a LAN, for instance.  The
only danger I see is that the client can use a completely different set of
representational data than the server intends.  But so what?  If I say my
game is set in a Generic Fantasy setting and you want Space Opera tilesets,
that's your business.  It'll look a little weird when I add a new creature
for which you don't have a corresponding tile, and so your server goes out
and gets the master tile, which doesn't look at all good in a Space Opera
setting, but that's hardly my problem.

Adam
-- 
adam#princeton,edu 
"There's a border to somewhere waiting, and a tank full of time." - J. Steinman


</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="00206" HREF="msg00206.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></strong>
<ul compact><li><em>From:</em> Marc Hernandez &lt;marc#jb,com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00203" HREF="msg00203.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></STRONG>
<UL><LI><EM>From:</EM> J C Lawrence &lt;claw#under,engr.sgi.com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00203.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00205.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00203.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00206.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00204"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00204"><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: Trusting the Client (Re: Laws of Online World Design)</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00185" HREF="msg00185.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Tue 13 Oct 1998, 21:36 GMT
</LI>
<LI><strong><A NAME="00190" HREF="msg00190.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></strong>, 
Hal Black <a href="mailto:hal#moos,ml.org">hal#moos,ml.org</a>, Tue 13 Oct 1998, 22:59 GMT
</LI>
<LI><strong><A NAME="00197" HREF="msg00197.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></strong>, 
Jon Leonard <a href="mailto:jleonard#divcom,slimy.com">jleonard#divcom,slimy.com</a>, Wed 14 Oct 1998, 08:06 GMT
<UL>
<LI><strong><A NAME="00203" HREF="msg00203.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></strong>, 
J C Lawrence <a href="mailto:claw#under,engr.sgi.com">claw#under,engr.sgi.com</a>, Wed 14 Oct 1998, 17:35 GMT
<UL>
<LI><strong><A NAME="00204" HREF="msg00204.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></strong>, 
Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Wed 14 Oct 1998, 18:04 GMT
<UL>
<LI><strong><A NAME="00206" HREF="msg00206.html">[MUD-Dev] Re: Trusting the Client (Re: Laws of Online World Design)</A></strong>, 
Marc Hernandez <a href="mailto:marc#jb,com">marc#jb,com</a>, Wed 14 Oct 1998, 19:23 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</ul>
</LI>
<LI><strong><A NAME="00166" HREF="msg00166.html">[MUD-Dev] Re: DNS adventure</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Tue 13 Oct 1998, 04:33 GMT
<UL>
<LI><strong><A NAME="00167" HREF="msg00167.html">[MUD-Dev] Re: DNS adventure</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Tue 13 Oct 1998, 04:49 GMT
</LI>
<LI><strong><A NAME="00168" HREF="msg00168.html">[MUD-Dev] Re: DNS adventure</A></strong>, 
Adam J. Thornton <a href="mailto:adam#phoenix,Princeton.EDU">adam#phoenix,Princeton.EDU</a>, Tue 13 Oct 1998, 05:11 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>