mirror of
https://github.com/id-Software/Quake.git
synced 2026-03-20 00:49:48 +01:00
The Quake sources as originally release under the GPL license on December 21, 1999
This commit is contained in:
121
QW/server/newnet.txt
Normal file
121
QW/server/newnet.txt
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user