SV Frame
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 better try some essay writing, 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 callVM_Call(GAME_RUN_FRAME)
for each server frame that can be performed within Template:FieldDoc, where the server frame time isframeMsec
. - 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.