[MUD-Dev] How to support 1000+ simultaneous connections, and some philosophy.

Jason Spangler stormwind at wombatgames.com
Wed Mar 10 21:45:28 New Zealand Daylight Time 1999

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

You can use a central server/process that handles the connect for a short amount
of time (such as for authentication, I'll call this the login server as it is in
UO), then hand the client off (force it to close the first connection and open a
new one) to a one of many other processes that handle the user's session for a
long period of time (I'll call these user servers since that is what they are
called in UO).

The user server that the login server hands the user off to can be chosen based
on load, thus allowing you to keep the load balances across all user servers. 
Also, the login server can tell the user server to expect a login from a
specific user, so users can't mess with the client and force it to use a
different login server than told.

This has the advantages of allowing you to have user servers on separate
machines (necessary for the load that UO handles).  

Disclaimer: I do longer work at Origin or on UO.

MUD-Dev maillist  -  MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list