about summary refs log tree commit diff
path: root/src/engine/client/ec_srvbrowse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/client/ec_srvbrowse.c')
-rw-r--r--src/engine/client/ec_srvbrowse.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/engine/client/ec_srvbrowse.c b/src/engine/client/ec_srvbrowse.c
index 74d09b8d..0a6ebbf8 100644
--- a/src/engine/client/ec_srvbrowse.c
+++ b/src/engine/client/ec_srvbrowse.c
@@ -4,6 +4,7 @@
 #include <engine/e_client_interface.h>
 #include <engine/e_config.h>
 #include <engine/e_memheap.h>
+#include <engine/e_engine.h>
 
 #include <mastersrv/mastersrv.h>
 
@@ -341,18 +342,27 @@ void client_serverbrowse_refresh(int lan)
 	}
 	else
 	{
-		NETADDR4 master_server;
+		NETADDR4 addr;
 		NETPACKET p;
-
-		net_host_lookup(config.masterserver, MASTERSERVER_PORT, &master_server);
+		int i;
+		
+		/*net_host_lookup(config.masterserver, MASTERSERVER_PORT, &master_server);*/
 
 		mem_zero(&p, sizeof(p));
 		p.client_id = -1;
-		p.address = master_server;
 		p.flags = PACKETFLAG_CONNLESS;
 		p.data_size = sizeof(SERVERBROWSE_GETLIST);
 		p.data = SERVERBROWSE_GETLIST;
-		netclient_send(net, &p);	
+		
+		for(i = 0; i < MAX_MASTERSERVERS; i++)
+		{
+			addr = mastersrv_get(i);
+			if(!addr.ip[0] && !addr.ip[1] && !addr.ip[2] && !addr.ip[3])
+				continue;
+			
+			p.address = addr;
+			netclient_send(net, &p);	
+		}
 
 		if(config.debug)
 			dbg_msg("client", "requesting server list");