[CF-Devel] Metaserver information.

Michael Toennies mtx93 at tzi.de
Fri Nov 10 06:14:07 CST 2000


>
     
       I was doing some work on the addition of metaserver reporting.
     
     >
     
      The basic plan
     
     >
     
      is that servers that decide to do so will contact the metaserver
     
     >
     
      telling it that
     
     >
     
      they are alive.  Then people can just look at the metaserver and see what
     
     >
     
      servers are out there and which one they want to connect to.
     
     >
     
     
     >
     
       So the question I have is what information should be reported to the
     
     >
     
      metaserver.  What I have so far:
     
     >
     
     
     >
     
      hostname of server.  Note that the metaserver will determine IP
     
     >
     
      address on its
     
     >
     
      own based on where the packet comes from.
     
     >
     
     
     >
     
      number of active players on server.
     
     >
     
     
     >
     
      short description/note:  Settable by server admin - this is a
     
     >
     
      brief message of
     
     >
     
      less than 100 characters that will be reported to the metaserver.
     
     >
     
       This could be
     
     >
     
      something like 'latest CVS version.  No player killing.  located in n.
     
     >
     
      california'.
     
     >
     
     
     >
     
       The last time the server has sent a message will be tracked by
     
     >
     
      the metaserver,
     
     >
     
      so it will report that information - if the last packet received
     
     >
     
      was more than a
     
     >
     
      few hours, you could probably bet that that server is down for
     
     >
     
      now.  But the
     
     >
     
      main point is that the server doesn't need to report uptime to
     
     >
     
      the metaserver.
     
     
Isn't it easier to let the metaserver "ping" the servers all 5-10 minutes?
If he don't get x times in a row no contact, the meta drop the server.

This makes the list very up to date and the server must report only one time
(when he starts) to the meta.


>
     
       Is there any data I'm missing or other data people think might
     
     >
     
      be useful?
     
     >
     
      Since there is already a comment that the server admin can set
     
     >
     
      up, this would
     
     >
     
      basically be data that the program has readily available.  One
     
     >
     
      thought I had
     
     >
     
      would be for the server to send the protocol versions - this
     
     >
     
      could be used to
     
     >
     
      get a rough idea of the server version, but I'm not really sure
     
     >
     
      how useful that
     
     >
     
      is and if it may be more confusing (what does 1026 mean for example).
     
     
What also is urgent needed, mainly for new players, is a value for the
connection speed - from her client side of course!

As i start, i must do some test, which server is playable and which not.
To connect from europe to an asian server for example will bring
you most times a lag of 300-500 ms, that makes playing very nasty and will
put cf to a newbie in a bad mind.

So, after a player starts a client, the client must receive the server datas
(ip, port, version, etc.) from the meta and then he must show the client
connect to
the listed servers.

Most games i know present a small bar from red to green and poll all servers
in the
list after one. What is better: Ping the host or implement a special "ping
connect"
to the server itself?

The point for a "ping connect" is, that many cf servers will not run stand
alone
on their machines, perhaps a normal ping will show a much better connect
then the real
server has in his task, and a stand alone server on a smaller line will be
faster.

This should be tested.

MichToen


    
    


More information about the crossfire mailing list