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:
frameMsec, which is the number of milliseconds per server frame. The calculation is based on the value of sv_fps.
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
SV_CheckTimeouts()to see if we've lost any clients.
SV_SendClientMessages()to send snapshots to clients.
SV_MasterHeartbeat()to update the master servers ("master.quake3arena.com") about the server's current status.