[WF-General] NEEDED: MetaServer w/ Stage-Chat + Acorn

ajr at ecs.soton.ac.uk ajr at ecs.soton.ac.uk
Mon Jun 18 11:41:22 PDT 2001


On Sun, Jun 17, 2001 at 06:18:14PM -0700, Bryce Harrington wrote:
> On Mon, 18 Jun 2001 ajr at ecs.soton.ac.uk wrote:
> > On Sun, Jun 17, 2001 at 04:52:31PM -0700, Bryce Harrington wrote:
> > All you need to do is add support for the metaserver to stage. This basically
> > involves sending a very small UDP packet to the metaserver every 5 minutes
> > or so. I can give pointers to the required code fragments to anyone
> > who is interested.
> 
> Yes, please!  (Morgenes, I think we should add the above task to the
> list of goals for 0.0.4.)
> 
> > A word of caution. Please make sure that if you do this, you add an option
> > to disable the metaserver support, and change it to be default off
> > in the cvs code, or the metaserver will be clogged with test servers
> > being run by developers. Please also add support for querying a server
> > to stage so that uclient can tell that it is not an Acorn server.
> > Again, I can describe hos this is handled to anyone who wants to know.
> 
> Okay, we'll definitely make it opt-in, and require a config setting be
> placed.  
> 
> It sounds like we should add some kind of query-able tag that informs
> what game is being played, what version is supported, how many people
> are logged in, and how long the server has been running.  IIRC, these
> are all things we intended to show with the metaserver... I assume we
> can convey this info through the metaserver?

No. The ammount of information stored by the metaserver is kept to an
absolute minimum to ensure that it will scale indefinitly. It is
essential that the metaserver is able to function cleanly and smoothly
without consuming excess bandwidth even if there are thousands of
servers running in the world. Currently the client is only able to
get a list of ip nos from the metaserver. It queries the
server by connecting and sending an anonymous Get operation.
The server responds with an Info operation with the following as its
argument:

{"objtype": "object"		// 
 "parents": ["server"]		// Standard atlas syntax for object type
 "server": "cyphesis",		// Obviously this will be "stage"
 "ruleset": "acorn",		// Game rules in use
 "clients": <num_clients>	// Number of client currently connected
 "uptime": <time_in_seconds>	// How long this server has been running
}

This is a fairly clean, and I think fully atlas compliant way of handling
the problem.

> 
> It's kinda cool to see have this chunk of code ready for us to plug
> into.  I think this little endeavor will be a fun project for someone.  
> 
> > I also think it would be wise to delay using this feature in stage for the
> > period immediatly following the release of Acorn 0.4, as it will confuse
> > users if lots of servers are available which are not running Acorn.
> 
> Like I said, right now we would only need it for one or perhaps two
> servers.  I agree that choking the metaserver up with a bunch of test
> stage's would be bad, but then, having so many instances of stage would
> be a problem I would *love* to have.  ;-)  
> 
> But more seriously, I think it might be of valuable to have one or two
> stages in the list on LinuxTag, for several reasons: It proves we are
> making progress towards the next goal, even now; it gives you one more
> thing to demonstrate and show off; it offers folks interested in
> WorldForge another avenue to investigate.  In a sense, if people saw
> more than Acorn, it would enhance understanding of the multi-game nature
> of the project, rather than simply confuse them.  It also may introduce
> an "itch" for LinuxTag goers, who would like to connect uclient to this
> alternate server to see how it compares.  My one concern is if this
> would reduce the stability of the metaserver; if there is any chance of
> this, then what we would do is disable the stage servers for the period
> of LinuxTag (and shortly thereafter).  But I trust that metaserver is
> sufficiently robust that this would not be a problem.
> 

It is my impression that the metaserver code itself is extremely robust,
so I do not think that should be a concern. I see your point about
having other servers on the list being interesting to players, and
providing insight into the depth of the project, and I think
you are right. We will have to make sure the Karsten has time
to ensure that the uclient interface makes in clear which servers are
usable for Acorn though.

Al



More information about the General mailing list