1.) The metaserver script could be modified to work in a distributed environment. The easiest way I could think of would be to make a proxy version. Eg, nominate one of those IP addresses as the master, and run the existing script. The proxies would then run on all the other ip addresses. They'd periodically probe the master server (or the master server perhaps pushes updates to them). Likewise, any server updates would get passed onto the master.
The proxies would hold cache the server information, so if a client connected and request the list of servers, it would just send it from its cache (so if the master was done, the cache these proxies hold would still be valid).
2.) I might have few suggestions regarding the current metaserver setup. First of all, I think having client cache of the metaserver dump would be a very good idea (tm). It could be set to "backup", "1h", "1 day" etc. The first would mean that the client only uses the cached version if it can't connect the metaserver.
3.) Anyway, the another regarding statistics would be to a) modify the current script to log all requests with timestamp and ip (you can flame me now and b) have another script that generates nifty statistics from the log. It could for example draw mrtg-styled graphs of requests & unique requests (from different hosts).
Note: the context is from the original "poster", not me personally..
