From 0023db327bc1db00068284b70e1db45857aeee35 Mon Sep 17 00:00:00 2001 From: Travis Bradshaw Date: Tue, 31 Jan 2012 14:32:09 -0600 Subject: The Quake sources as originally release under the GPL license on December 21, 1999 --- QW/server/newnet.txt | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 QW/server/newnet.txt (limited to 'QW/server/newnet.txt') diff --git a/QW/server/newnet.txt b/QW/server/newnet.txt new file mode 100644 index 0000000..9df49d1 --- /dev/null +++ b/QW/server/newnet.txt @@ -0,0 +1,121 @@ +registered clients will auto-kick unregistered clients + +central clearingghouse for active servers + +server logon messages + +problem with reconnect to same server out of order packets + +acknowledge all command line parameters + +annoying pause on intermission screen + +seperate accept/reject list for server packets and client packets + +server compile time should be part of connect message and status + +allocate new cvars during file parse + +remote console should be able to do cvar setting/reading + +make punchangle a client side operation + +remove sys_printf +remove host_client + +packet filter list +client move by test final pos and test 1/16 down +simulate world first, then clients, clients explicitly sim weapon projectiles +allow remote locations to subscribe to console output + + + +client zombie state? +seperate command ques for client and server? +worry about partial connection during level change +worry about zombie state for if(!state) constructs + +make sound/ and models/ implicit in data types + +int sequence +int reliable_sequence; +bit reliable_payload; + +consumption +renewable resources +depletable resources +rate of extraction + + +how can you influence other characters +how can you communicate + + +login +logoff +disconnection + +client to server +---------------- +last good received server time +milliseconds since last move frame +angles +movement +buttonstates +impulse + + +server to client +---------------- +last movemessage received +origin +velocity + + +build movement +send movement packet to server +set player position to last known good +execute all unaknowledged movement packets + + +needs to know all things that can effect movement + +movement context +---------------- +origin +velocity +size + +run move command (context, move) + + + +#define MAX_MOVEMESSAGES 64 + +typedef struct +{ + double time; // client time when sent + byte milliseconds; +} movemessage_t; + +int ack_movemessage; +int current_movemessage; + +movemessage_t movemessages[MAX_MOVEMESSAGES]; + +void CL_Frame (void) +{ + get all pending server messages + + latency = cl.time - movemessage[last].time; + + movetime = cl.time - cl.oldtime; + get movemessage + + send packet to server +} + + + + +does not adress interpolating other object's movement -- cgit v1.2.3