1999Q1/
<!-- MHonArc v2.4.4 -->
<!--X-Subject: Re: [MUD&#45;Dev] How to support 1000+ simultaneous connections,  andsome philosophy. -->
<!--X-From-R13: @nguna T Kbfcr <lbfcrNunjnvv.rqh> -->
<!--X-Date: Thu, 11 Mar 1999 10:40:23 &#45;0800 -->
<!--X-Message-Id: Pine.GSO.4.05.9903110822450.19524&#45;100000@uhunix2 -->
<!--X-Content-Type: text/plain -->
<!--X-Reference: 4.1.19990310185412.03ee2420#pop,darklock.com -->
<!--X-Head-End-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>MUD-Dev message, Re: [MUD-Dev] How to support 1000+ simultaneous connections,  </title>
<!-- meta name="robots" content="noindex,nofollow" -->
<link rev="made" href="mailto:yospe#hawaii,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="msg00532.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00534.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Thread:&nbsp;
[&nbsp;<a href="msg00522.html">Previous</a>
&nbsp;|&nbsp;<a href="msg00536.html">Next</a>
&nbsp;]
&nbsp;&nbsp;&nbsp;&nbsp;
Index:&nbsp;
[&nbsp;<A HREF="author.html#00533">Author</A>
&nbsp;|&nbsp;<A HREF="#00533">Date</A>
&nbsp;|&nbsp;<A HREF="thread.html#00533">Thread</A>
&nbsp;]

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<H1>Re: [MUD-Dev] How to support 1000+ simultaneous connections,  andsome philosophy.</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] How to support 1000+ simultaneous connections,  andsome philosophy.</LI>
<LI><em>From</em>: Nathan F Yospe &lt;<A HREF="mailto:yospe#hawaii,edu">yospe#hawaii,edu</A>&gt;</LI>
<LI><em>Date</em>: Thu, 11 Mar 1999 08:39:34 -1000</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>
On Wed, 10 Mar 1999, Caliban Tiresias Darklock wrote:

:On 07:48 PM 3/10/99 -0700, I personally witnessed Chris Gray jumping up to say:
:&gt;[Petri Virkkula:]
:&gt; &gt;	I would probably go for multiple IP-addresses and multiple
:&gt; &gt;	accepting servers. For example, hostname mud.dom.ain might

:&gt;The problem with that is that then the clients have to connect to one
:&gt;of those 10 ports. You might manage that if you have a special client
:&gt;that has a decent algorithm to balance the use, but if you rely on
:&gt;humans to do it, it won't work - most will use the first one all the
:&gt;time. There isn't any way to know which port is the least busy.

:I've considered this sort of thing myself, and the only way I could think
:of to do it would be to have a UDP connection on a port that checked the
:load and told the client "Use port X" based on who was connected where. The
:client would then make a TCP connect to the provided port. After
:considering it, I thought it would probably be BETTER if your TCP
:connection could send some notification to MOVE to some other port, and
:then the client could connect to that other port and drop the old
:connection based on existing load -- that way if processes 2 and 3 are
:congested and you're on process 1, when process 1 fills up but 2 and 3 get
:some disconnects, you could be shuffled to a lower load process. Basically,
:under that model, you could tell the client where to connect every time and
:then no matter WHAT port the human connects to he'll end up on the
:best-case process.

:Since I detest dedicated clients, I decided not to do this, but it was the
:best I could come up with under the circumstances. You wouldn't need to do
:the IP thing this way; just take connects, and when a process is overloaded
:tell the client to go somewhere else. I would also have a protocol for
:handshaking, where it goes something like this:

Hey, thanks! I *love* it. I'd not even considered the problem myself... there
was no need to with the current state of unreadiness... but in hindsight,
this is brilliant. Of course, I have none of your qualms about a dedicated
client...

Perhaps a few minor alterations:

In the preferences, a default server and port... perhaps linked to the game,
with a reset default configuration for a host-server that provides a list of
known games that support the client and sets the default to a chosen game; I
can always make that more robust. The client should be able to make two or
more connections... I'm still mulling on that.

    {connector 1}

    connect [&lt;server_ip1&gt;|&lt;server_dn1&gt;] &lt;port1&gt;
    &gt;SERV ID=&lt;id1&gt;
    &lt;CONREQ
    &gt;TRANS [&lt;server_ip2&gt;] &lt;port2&gt;
    &lt;TRYING

    {connector 2}

    connect [&lt;server_ip2&gt;] &lt;port2&gt;
    &gt;SERV ID=&lt;id2&gt;
    &lt;CONREQ
    &gt;OK CLIENT ID=&lt;id3&gt;
    &lt;CONFIRM SERV ID=&lt;id2&gt; CLIENT ID=&lt;id3&gt;

    {connector 1}

    &lt;SUCCESS
    &gt;OK BYE

    {connector 2}

    . . .

This should help with error handling and process management.

:The obvious extension to this is to manage distributed machines. 

Yes; and possibly to use this to pass clients to remote servers when
their character has been transfered as well. (I use a "geographical"
mapping of location to server-space. This would work quite well for
me.)

:Um, that's about all for the moment. Maybe this will help someone ;)

-- 

Nathan F. Yospe - Born in the year of the tiger, riding it forever after
University of Hawaii at Manoa, Dept of Physics, second year senior (joy)
(On Call) Associate Algorithm Developer, Textron Systems Corp, Maui Ops.
yospe#hawaii.edu <A  HREF="http://www2.hawaii.edu/~yospe">http://www2.hawaii.edu/~yospe</A> Non commercial email only



_______________________________________________
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="00536" HREF="msg00536.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  and some philosophy.</A></strong>
<ul compact><li><em>From:</em> Caliban Tiresias Darklock &lt;caliban#darklock,com&gt;</li></ul>
</UL></LI></UL>
<!--X-Follow-Ups-End-->
<!--X-References-->
<UL><LI><STRONG>References</STRONG>:
<UL>
<LI><STRONG><A NAME="00522" HREF="msg00522.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></STRONG>
<UL><LI><EM>From:</EM> Caliban Tiresias Darklock &lt;caliban#darklock,com&gt;</LI></UL></LI>
</UL></LI></UL>
<!--X-References-End-->
<!--X-BotPNI-->
<UL>
<LI>Prev by Date:
<STRONG><A HREF="msg00532.html">RE: [MUD-Dev] How to support 1000+ simultaneous connections, and some  philosophy.</A></STRONG>
</LI>
<LI>Next by Date:
<STRONG><A HREF="msg00534.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></STRONG>
</LI>
<LI>Prev by thread:
<STRONG><A HREF="msg00522.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></STRONG>
</LI>
<LI>Next by thread:
<STRONG><A HREF="msg00536.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  and some philosophy.</A></STRONG>
</LI>
<LI>Index(es):
<UL>
<LI><A HREF="index.html#00533"><STRONG>Date</STRONG></A></LI>
<LI><A HREF="thread.html#00533"><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] How to support 1000+ simultaneous connections, and some philosophy.</STRONG>, <EM>(continued)</EM>
<ul compact>
<LI><strong><A NAME="00516" HREF="msg00516.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Wed 10 Mar 1999, 14:47 GMT
<UL>
<LI><strong><A NAME="00525" HREF="msg00525.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Ben Greear <a href="mailto:greear#cyberhighway,net">greear#cyberhighway,net</a>, Thu 11 Mar 1999, 03:24 GMT
</LI>
</UL>
</LI>
<LI><strong><A NAME="00521" HREF="msg00521.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Chris Gray <a href="mailto:cg#ami-cg,GraySage.Edmonton.AB.CA">cg#ami-cg,GraySage.Edmonton.AB.CA</a>, Thu 11 Mar 1999, 02:51 GMT
<UL>
<LI><strong><A NAME="00522" HREF="msg00522.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Thu 11 Mar 1999, 03:13 GMT
<UL>
<LI><strong><A NAME="00533" HREF="msg00533.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  andsome philosophy.</A></strong>, 
Nathan F Yospe <a href="mailto:yospe#hawaii,edu">yospe#hawaii,edu</a>, Thu 11 Mar 1999, 18:40 GMT
<UL>
<LI><strong><A NAME="00536" HREF="msg00536.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections,  and some philosophy.</A></strong>, 
Caliban Tiresias Darklock <a href="mailto:caliban#darklock,com">caliban#darklock,com</a>, Thu 11 Mar 1999, 21:30 GMT
<UL>
<LI><strong><A NAME="00540" HREF="msg00540.html">[MUD-Dev] Multiple clients (was Re: How to support 1000+ simultaneous connections)</A></strong>, 
Matthew D. Fuller <a href="mailto:fullermd#futuresouth,com">fullermd#futuresouth,com</a>, Fri 12 Mar 1999, 02:21 GMT
<UL>
<LI><strong><A NAME="00549" HREF="msg00549.html">Re: [MUD-Dev] Multiple clients (was Re: How to support 1000+ simultaneous connec</A></strong>, 
Marc Bowden <a href="mailto:ryumo#merit,edu">ryumo#merit,edu</a>, Fri 12 Mar 1999, 12:17 GMT
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
</UL>
</LI>
<LI><strong><A NAME="00528" HREF="msg00528.html">Re: [MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.</A></strong>, 
Oliver Jowett <a href="mailto:icecube#ihug,co.nz">icecube#ihug,co.nz</a>, Thu 11 Mar 1999, 04:28 GMT
</LI>
</UL>
</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>