home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 113 / EnigmaAmiga113CD.iso / software / sviluppo / quakeworld_src / server / newnet.txt < prev    next >
Text File  |  2000-06-17  |  2KB  |  122 lines

  1. registered clients will auto-kick unregistered clients
  2.  
  3. central clearingghouse for active servers
  4.  
  5. server logon messages
  6.  
  7. problem with reconnect to same server out of order packets
  8.  
  9. acknowledge all command line parameters
  10.  
  11. annoying pause on intermission screen
  12.  
  13. seperate accept/reject list for server packets and client packets
  14.  
  15. server compile time should be part of connect message and status
  16.  
  17. allocate new cvars during file parse
  18.  
  19. remote console should be able to do cvar setting/reading
  20.  
  21. make punchangle a client side operation
  22.  
  23. remove sys_printf
  24. remove host_client
  25.  
  26. packet filter list
  27. client move by test final pos and test 1/16 down
  28. simulate world first, then clients, clients explicitly sim weapon projectiles
  29. allow remote locations to subscribe to console output
  30.  
  31.  
  32.  
  33. client zombie state?
  34. seperate command ques for client and server?
  35. worry about partial connection during level change
  36. worry about zombie state for if(!state) constructs
  37.  
  38. make sound/ and models/ implicit in data types
  39.  
  40. int        sequence
  41. int        reliable_sequence;
  42. bit        reliable_payload;
  43.  
  44. consumption
  45. renewable resources
  46. depletable resources
  47. rate of extraction
  48.  
  49.  
  50. how can you influence other characters
  51. how can you communicate
  52.  
  53.  
  54. login
  55. logoff
  56. disconnection
  57.  
  58. client to server
  59. ----------------
  60. last good received server time
  61. milliseconds since last move frame
  62. angles
  63. movement
  64. buttonstates
  65. impulse
  66.  
  67.  
  68. server to client
  69. ----------------
  70. last movemessage received
  71. origin
  72. velocity
  73.  
  74.  
  75. build movement
  76. send movement packet to server
  77. set player position to last known good
  78. execute all unaknowledged movement packets
  79.  
  80.  
  81. needs to know all things that can effect movement
  82.  
  83. movement context
  84. ----------------
  85. origin
  86. velocity
  87. size
  88.  
  89. run move command (context, move)
  90.  
  91.  
  92.  
  93. #define    MAX_MOVEMESSAGES    64
  94.  
  95. typedef struct
  96. {
  97.     double    time;        // client time when sent
  98.     byte    milliseconds;
  99. } movemessage_t;
  100.  
  101. int        ack_movemessage;
  102. int        current_movemessage;
  103.  
  104. movemessage_t    movemessages[MAX_MOVEMESSAGES];
  105.  
  106. void CL_Frame (void)
  107. {
  108.     get all pending server messages
  109.     
  110.     latency = cl.time - movemessage[last].time;
  111.  
  112.     movetime = cl.time - cl.oldtime;
  113.     get movemessage
  114.     
  115.     send packet to server
  116. }
  117.  
  118.  
  119.  
  120.  
  121. does not adress interpolating other object's movement
  122.