aboutsummaryrefslogtreecommitdiffstats
path: root/QW/server/newnet.txt
diff options
context:
space:
mode:
authorTravis Bradshaw <travis.bradshaw@idsoftware.com>2012-01-31 14:32:09 -0600
committerTravis Bradshaw <travis.bradshaw@idsoftware.com>2012-01-31 14:32:09 -0600
commit0023db327bc1db00068284b70e1db45857aeee35 (patch)
tree01dd8366d20bd674741cfe8ceb069d82a2e33973 /QW/server/newnet.txt
downloadquake-pum-0023db327bc1db00068284b70e1db45857aeee35.tar.gz
The Quake sources as originally release under the GPL license on December 21, 1999
Diffstat (limited to 'QW/server/newnet.txt')
-rw-r--r--QW/server/newnet.txt121
1 files changed, 121 insertions, 0 deletions
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