SV Frame

From ioquake3 wiki
Jump to: navigation, search

SV_Frame() performs all of the server-side processing required for a single frame of gameplay. It takes a single parameter, msec, which is the number of milliseconds that have elapsed since the last frame was generated. If the process is running as a dedicated server, this number may be quite small. If the process is running with a client that is rendering with a slow graphics card, however, this number may be rather large. The basic flow of SV_Frame() is as follows:

  • add msec to Template:FieldDoc.
  • calculate frameMsec, which is the number of milliseconds per server frame. The calculation is based on the value of sv_fps.
  • call SV_BotFrame() to allow bots to perform their actions for this frame.
  • if Template:FieldDoc >= frameMsec, repeatedly call VM_Call(GAME_RUN_FRAME) for each server frame that can be performed within Template:FieldDoc, where the server frame time is frameMsec.
  • call SV_CheckTimeouts() to see if we've lost any clients.
  • call SV_SendClientMessages() to send snapshots to clients.
  • call SV_MasterHeartbeat() to update the master servers ("master.quake3arena.com") about the server's current status.

See also