On Wed, Apr 29, 2009 at 12:46 AM, James Cameron <quozl at us.netrek.org> wrote:
> Whoops.  While you are there, does it use TCP only or UDP?
>
Looks like TCP only.  From MetaServerParser.m:
 // connect and create a stream
 LLTCPSocket *socket = [[LLTCPSocket alloc] init];


I don't see any reason why failure of meta2 would break the client,
the code seems to add any new servers found from metaserver2 (result2)
to the list of servers.  Assuming that the result2 is properly
initialized so that count = 0.  I didn't check the data initialization
due to lack of knowledge of how objective C works.  From
MetaServerTableDataSource.m:

 // add the new server in result2 to metaServerServers
 for (int i=0; i < [result2 count]; i++) {
 	MetaServerEntry *entry = [result2 objectAtIndex:i];
 	if ([self findServer:[entry address]]) {
 		// server already there
 		//LLLog(@"MetaServerTableDataSource.refreshServers: duplicate entry
for %@", [entry address]);
 	} else {
 		// new, must add
 		LLLog(@"MetaServerTableDataSource.refreshServers: new entry for
%@", [entry address]);
 			[metaServerServers addObject:entry];
 	}
 }