diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-07-06 11:21:21 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-07-06 11:21:21 +0000 |
| commit | 9d632dd826c8a312095de0f56df66b2580d336cb (patch) | |
| tree | 3fdde543c94323d6c698d278a58bf18e3c385776 /src/engine/server | |
| parent | 3705064b109580103a3d13f44693503da9927281 (diff) | |
| download | zcatch-9d632dd826c8a312095de0f56df66b2580d336cb.tar.gz zcatch-9d632dd826c8a312095de0f56df66b2580d336cb.zip | |
major update. server clean up and much added documentation
Diffstat (limited to 'src/engine/server')
| -rw-r--r-- | src/engine/server/es_register.c | 14 | ||||
| -rw-r--r-- | src/engine/server/es_server.c | 25 |
2 files changed, 21 insertions, 18 deletions
diff --git a/src/engine/server/es_register.c b/src/engine/server/es_register.c index cec0fa19..a85900aa 100644 --- a/src/engine/server/es_register.c +++ b/src/engine/server/es_register.c @@ -29,7 +29,7 @@ static void register_new_state(int state) register_state_start = time_get(); } -static void register_send_fwcheckresponse(NETADDR4 *addr) +static void register_send_fwcheckresponse(NETADDR *addr) { NETCHUNK packet; packet.client_id = -1; @@ -40,7 +40,7 @@ static void register_send_fwcheckresponse(NETADDR4 *addr) netserver_send(net, &packet); } -static void register_send_heartbeat(NETADDR4 addr) +static void register_send_heartbeat(NETADDR addr) { static unsigned char data[sizeof(SERVERBROWSE_HEARTBEAT) + 2]; unsigned short port = config.sv_port; @@ -62,7 +62,7 @@ static void register_send_heartbeat(NETADDR4 addr) netserver_send(net, &packet); } -static void register_send_count_request(NETADDR4 addr) +static void register_send_count_request(NETADDR addr) { NETCHUNK packet; packet.client_id = -1; @@ -75,13 +75,13 @@ static void register_send_count_request(NETADDR4 addr) typedef struct { - NETADDR4 addr; + NETADDR addr; int count; int valid; int64 last_send; } MASTERSERVER_INFO; -static MASTERSERVER_INFO masterserver_info[MAX_MASTERSERVERS] = {{{{0}}}}; +static MASTERSERVER_INFO masterserver_info[MAX_MASTERSERVERS] = {{{0}}}; static int register_registered_server = -1; void register_update() @@ -111,7 +111,7 @@ void register_update() int i; for(i = 0; i < MAX_MASTERSERVERS; i++) { - NETADDR4 addr = mastersrv_get(i); + NETADDR addr = mastersrv_get(i); masterserver_info[i].addr = addr; masterserver_info[i].count = 0; @@ -229,7 +229,7 @@ static void register_got_count(NETCHUNK *p) for(i = 0; i < MAX_MASTERSERVERS; i++) { - if(net_addr4_cmp(&masterserver_info[i].addr, &p->address) == 0) + if(net_addr_comp(&masterserver_info[i].addr, &p->address) == 0) { masterserver_info[i].count = count; break; diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c index ac1a79a1..72da4f5d 100644 --- a/src/engine/server/es_server.c +++ b/src/engine/server/es_server.c @@ -147,8 +147,8 @@ int snap_new_id() { int id; int64 now = time_get(); - dbg_assert(snap_id_inited == 1, "requesting id too soon"); - + if(!snap_id_inited) + snap_init_id(); /* process timed ids */ while(snap_first_timed_id != -1 && snap_ids[snap_first_timed_id].timeout < now) @@ -433,7 +433,7 @@ static void server_do_snap() break; } } - + /* create delta */ { static PERFORMACE_INFO scope = {"delta", 0}; @@ -453,16 +453,18 @@ static void server_do_snap() { static PERFORMACE_INFO scope = {"compress", 0}; + /*char buffer[512];*/ perf_start(&scope); snapshot_size = intpack_compress(deltadata, deltasize, compdata); + + /*str_hex(buffer, sizeof(buffer), compdata, snapshot_size); + dbg_msg("", "deltasize=%d -> %d : %s", deltasize, snapshot_size, buffer);*/ + perf_end(); } - numpackets = (snapshot_size+max_size-1)/max_size; - - for(n = 0, left = snapshot_size; left; n++) { int chunk = left < max_size ? left : max_size; @@ -776,7 +778,7 @@ static void server_process_client_packet(NETCHUNK *packet) } } -static void server_send_serverinfo(NETADDR4 *addr, int lan) +static void server_send_serverinfo(NETADDR *addr, int lan) { NETCHUNK packet; PACKER p; @@ -904,10 +906,9 @@ static int server_load_map(const char *mapname) static int server_run() { - NETADDR4 bindaddr; + NETADDR bindaddr; net_init(); - snap_init_id(); /* */ console_register_print_callback(server_send_rcon_line_authed); @@ -920,9 +921,11 @@ static int server_run() } /* start server */ - if(config.sv_bindaddr[0] && net_host_lookup(config.sv_bindaddr, config.sv_port, &bindaddr) == 0) + /* TODO: IPv6 support */ + if(config.sv_bindaddr[0] && net_host_lookup(config.sv_bindaddr, &bindaddr, NETTYPE_IPV4) == 0) { /* sweet! */ + bindaddr.port = config.sv_port; } else { @@ -1108,7 +1111,7 @@ static void con_kick(void *result, void *user_data) static void con_status(void *result, void *user_data) { int i; - NETADDR4 addr; + NETADDR addr; for(i = 0; i < MAX_CLIENTS; i++) { if(clients[i].state == SRVCLIENT_STATE_INGAME) |