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]; } }