diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-10 15:32:30 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-02-10 15:32:30 +0000 |
| commit | 294cbe18c17cd20f70f965e7f89a3250ef39b990 (patch) | |
| tree | db942402bd39bfb8336e2a2d134f96f2ad5b2ab1 /src/engine/server/es_server.c | |
| parent | acffe66ebe63f3ecc970db0feab33a6e85a7d1f4 (diff) | |
| download | zcatch-294cbe18c17cd20f70f965e7f89a3250ef39b990.tar.gz zcatch-294cbe18c17cd20f70f965e7f89a3250ef39b990.zip | |
done some more latency work. added the extra message for projectiles to reduce latency
Diffstat (limited to 'src/engine/server/es_server.c')
| -rw-r--r-- | src/engine/server/es_server.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c index 8d805e42..9c2aac41 100644 --- a/src/engine/server/es_server.c +++ b/src/engine/server/es_server.c @@ -642,6 +642,9 @@ static void server_process_client_packet(NETPACKET *packet) clients[cid].current_input++; clients[cid].current_input %= 200; + + /* call the mod with the fresh input data */ + mods_client_direct_input(cid, clients[cid].latestinput.data); } else if(msg == NETMSG_CMD) { @@ -653,6 +656,12 @@ static void server_process_client_packet(NETPACKET *packet) console_execute(cmd); } } + else if(msg == NETMSG_PING) + { + msg_pack_start_system(NETMSG_PING_REPLY, 0); + msg_pack_end(); + server_send_msg(cid); + } else { dbg_msg("server", "strange message cid=%d msg=%d data_size=%d", cid, msg, packet->data_size); @@ -948,7 +957,7 @@ static int server_run() { if(clients[c].inputs[i].game_tick == server_tick()) { - mods_client_input(c, clients[c].inputs[i].data); + mods_client_predicted_input(c, clients[c].inputs[i].data); break; } } @@ -986,7 +995,7 @@ static int server_run() lastheartbeat = t+time_per_heartbeat; } } - + { static PERFORMACE_INFO scope = {"net", 0}; perf_start(&scope); @@ -1025,6 +1034,10 @@ static int server_run() config.sv_status = 0; } + /* wait for incomming data */ + net_socket_read_wait(netserver_socket(net), 5); + + /* if(config.dbg_hitch) { thread_sleep(config.dbg_hitch); @@ -1032,7 +1045,7 @@ static int server_run() } else thread_sleep(1); - + */ } } |