about summary refs log tree commit diff
path: root/src/engine
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-11-08 19:54:18 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-11-08 19:54:18 +0000
commit6475366e5955e71706c8cd37f07452732a5e1458 (patch)
treee645a02ec68ef794e5fbae4d87a9adad10c14197 /src/engine
parent6dd9aead7340080773fbac0996912f7fc18f091b (diff)
downloadzcatch-6475366e5955e71706c8cd37f07452732a5e1458.tar.gz
zcatch-6475366e5955e71706c8cd37f07452732a5e1458.zip
fixed lan browser. fixed major bug in the caused the server not to report correctly
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/client/client.c4
-rw-r--r--src/engine/client/srvbrowse.c8
-rw-r--r--src/engine/server/server.c1
-rw-r--r--src/engine/system.c2
4 files changed, 10 insertions, 5 deletions
diff --git a/src/engine/client/client.c b/src/engine/client/client.c
index 092f6805..43f3fb3d 100644
--- a/src/engine/client/client.c
+++ b/src/engine/client/client.c
@@ -523,8 +523,8 @@ static void client_process_packet(NETPACKET *packet)
 			int size = packet->data_size-sizeof(SERVERBROWSE_LIST);
 			int num = size/sizeof(NETADDR4);
 			NETADDR4 *addrs = (NETADDR4 *)((char*)packet->data+sizeof(SERVERBROWSE_LIST));
-			
 			int i;
+			
 			for(i = 0; i < num; i++)
 			{
 				NETADDR4 addr = addrs[i];
@@ -555,6 +555,8 @@ static void client_process_packet(NETPACKET *packet)
 			SERVER_INFO info = {0};
 			int i;
 
+			dbg_msg("temp", "got server info");
+
 			unpacker_reset(&up, (unsigned char*)packet->data+sizeof(SERVERBROWSE_INFO), packet->data_size-sizeof(SERVERBROWSE_INFO));
 
 			strncpy(info.version, unpacker_get_string(&up), 32);
diff --git a/src/engine/client/srvbrowse.c b/src/engine/client/srvbrowse.c
index b3ff635a..fcbfa629 100644
--- a/src/engine/client/srvbrowse.c
+++ b/src/engine/client/srvbrowse.c
@@ -298,10 +298,10 @@ void client_serverbrowse_refresh(int lan)
 		NETPACKET packet;
 		packet.client_id = -1;
 		mem_zero(&packet, sizeof(packet));
-		packet.address.ip[0] = 0;
-		packet.address.ip[1] = 0;
-		packet.address.ip[2] = 0;
-		packet.address.ip[3] = 0;
+		packet.address.ip[0] = 255;
+		packet.address.ip[1] = 255;
+		packet.address.ip[2] = 255;
+		packet.address.ip[3] = 255;
 		packet.address.port = 8303;
 		packet.flags = PACKETFLAG_CONNLESS;
 		packet.data_size = sizeof(SERVERBROWSE_GETINFO);
diff --git a/src/engine/server/server.c b/src/engine/server/server.c
index 8b591de6..85e0bacb 100644
--- a/src/engine/server/server.c
+++ b/src/engine/server/server.c
@@ -529,6 +529,7 @@ static void server_send_serverinfo(NETADDR4 *addr)
 	}
 	
 	packer_reset(&p);
+	packer_add_raw(&p, SERVERBROWSE_INFO, sizeof(SERVERBROWSE_INFO));
 	packer_add_string(&p, mods_net_version(), 32);
 	packer_add_string(&p, config.sv_name, 64);
 	packer_add_string(&p, config.sv_map, 32);
diff --git a/src/engine/system.c b/src/engine/system.c
index a6fb362c..e0fcc0b5 100644
--- a/src/engine/system.c
+++ b/src/engine/system.c
@@ -450,6 +450,8 @@ int net_udp4_send(NETSOCKET sock, const NETADDR4 *addr, const void *data, int si
 	mem_zero(&sa, sizeof(sa));
 	netaddr4_to_sockaddr(addr, &sa);
 	d = sendto((int)sock, (const char*)data, size, 0, &sa, sizeof(sa));
+	if(d < 0)
+		dbg_msg("net", "sendto error %d %x", d, d);
 	return d;
 }