about summary refs log tree commit diff
path: root/src/tools/fake_server.c
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-10 21:54:52 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-02-10 21:54:52 +0000
commit548a919ea379a3b9d1d9e41cf4dad6b4779fd3e6 (patch)
tree85666198fed3d4803f3ec3373c134d12bde9329b /src/tools/fake_server.c
parent2f969d9d6fece689e05857580ffb1843439e5fbb (diff)
downloadzcatch-548a919ea379a3b9d1d9e41cf4dad6b4779fd3e6.tar.gz
zcatch-548a919ea379a3b9d1d9e41cf4dad6b4779fd3e6.zip
merged 0.3.4 changes to trunk
Diffstat (limited to 'src/tools/fake_server.c')
-rw-r--r--src/tools/fake_server.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/src/tools/fake_server.c b/src/tools/fake_server.c
index c81dfaaa..a2af1a0a 100644
--- a/src/tools/fake_server.c
+++ b/src/tools/fake_server.c
@@ -45,20 +45,29 @@ int player_scores[16] = {0};
 int num_players = 0;
 int max_players = 0;
 
-static void send_heartbeats()
-{
-	int i = 0;
 
-	NETPACKET p;
-	p.client_id = -1;
-	p.flags = PACKETFLAG_CONNLESS;
-	p.data_size = sizeof(SERVERBROWSE_HEARTBEAT);
-	p.data = SERVERBROWSE_HEARTBEAT;
 
+static void send_heartbeats()
+{
+	static unsigned char data[sizeof(SERVERBROWSE_HEARTBEAT) + 2];
+	NETPACKET packet;
+	int i;
+	
+	mem_copy(data, SERVERBROWSE_HEARTBEAT, sizeof(SERVERBROWSE_HEARTBEAT));
+	
+	packet.client_id = -1;
+	packet.flags = PACKETFLAG_CONNLESS;
+	packet.data_size = sizeof(SERVERBROWSE_HEARTBEAT) + 2;
+	packet.data = &data;
+
+	/* supply the set port that the master can use if it has problems */	
+	data[sizeof(SERVERBROWSE_HEARTBEAT)] = 0;
+	data[sizeof(SERVERBROWSE_HEARTBEAT)+1] = 0;
+	
 	for(i = 0; i < num_masters; i++)
 	{
-		p.address = master_servers[i];
-		netserver_send(net, &p);
+		packet.address = master_servers[i];
+		netserver_send(net, &packet);
 	}
 }