diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-10 21:54:52 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-10 21:54:52 +0000 |
| commit | 548a919ea379a3b9d1d9e41cf4dad6b4779fd3e6 (patch) | |
| tree | 85666198fed3d4803f3ec3373c134d12bde9329b /src/tools/fake_server.c | |
| parent | 2f969d9d6fece689e05857580ffb1843439e5fbb (diff) | |
| download | zcatch-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.c | 29 |
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); } } |