25typedef struct server_static_s
54#define MAX_CONNECTFLOODADDRESSES 16
55#define MAX_GETSTATUSFLOODADDRESSES 128
56typedef struct server_floodaddress_s
63typedef struct server_s
157 unsigned short writeentitiestoclient_csqcsendstates[
MAX_EDICTS];
171#define NUM_CSQCENTITIES_PER_FRAME 256
172typedef struct csqcentityframedb_s
180#define NUM_SPAWN_PARMS 16
182typedef struct client_s
254#define NUM_CSQCENTITYDB_FRAMES 256
312#define MOVETYPE_NONE 0
313#define MOVETYPE_ANGLENOCLIP 1
314#define MOVETYPE_ANGLECLIP 2
315#define MOVETYPE_WALK 3
316#define MOVETYPE_STEP 4
317#define MOVETYPE_FLY 5
318#define MOVETYPE_TOSS 6
319#define MOVETYPE_PUSH 7
320#define MOVETYPE_NOCLIP 8
321#define MOVETYPE_FLYMISSILE 9
322#define MOVETYPE_BOUNCE 10
323#define MOVETYPE_BOUNCEMISSILE 11
324#define MOVETYPE_FOLLOW 12
325#define MOVETYPE_FAKEPUSH 13
326#define MOVETYPE_PHYSICS 32
327#define MOVETYPE_FLY_WORLDONLY 33
328#define MOVETYPE_USER_FIRST 128
329#define MOVETYPE_USER_LAST 191
333#define SOLID_TRIGGER 1
335#define SOLID_SLIDEBOX 3
338#define SOLID_CORPSE 5
341#define SOLID_PHYSICS_BOX 32
342#define SOLID_PHYSICS_SPHERE 33
343#define SOLID_PHYSICS_CAPSULE 34
344#define SOLID_PHYSICS_TRIMESH 35
345#define SOLID_PHYSICS_CYLINDER 36
364#define FL_NOTARGET 128
366#define FL_ONGROUND 512
367#define FL_PARTIALGROUND 1024
368#define FL_WATERJUMP 2048
369#define FL_JUMPRELEASED 4096
371#define SPAWNFLAG_NOT_EASY 256
372#define SPAWNFLAG_NOT_MEDIUM 512
373#define SPAWNFLAG_NOT_HARD 1024
374#define SPAWNFLAG_NOT_DEATHMATCH 2048
606#define SV_LockThreadMutex() (void)(svs.threaded ? Thread_LockMutex(svs.threadmutex) : 0)
607#define SV_UnlockThreadMutex() (void)(svs.threaded ? Thread_UnlockMutex(svs.threadmutex) : 0)
char particleeffectname[MAX_PARTICLEEFFECTNAME][64]
GLenum GLenum GLsizei count
GLenum GLuint GLenum GLsizei const GLchar * buf
static memexpandablearray_t models
#define MAX_EDICTS
max number of objects in game world at once (32768 protocol limit)
#define MAX_LIGHTSTYLES
max flickering light styles in level (note: affects savegame format)
#define NET_MAXMESSAGE
max reliable packet size (sent as multiple fragments of MAX_PACKETFRAGMENT)
#define DP_FUNC_PRINTF(n)
#define MAX_SOUNDS
max number of sounds loaded at once
#define MAX_CLIENTNETWORKEYES
max number of locations that can be added to pvs when culling network entities (must be at least 2 fo...
#define MAX_SCOREBOARDNAME
max length of player name in game
#define MAX_QPATH
max length of a quake game pathname
#define MAX_SERVERINFO_STRING
max length of server infostring for PROTOCOL_QUAKEWORLD (512 in QuakeWorld)
#define MAX_PARTICLEEFFECTNAME
maximum number of unique names of particle effects (for particleeffectnum)
#define MAX_MODELS
max number of models loaded at once (including during level transitions)
cvar_t sv_cullentities_stats
void SV_StartThread(void)
cvar_t sv_gameplayfix_swiminbmodels
void SV_PlayerPhysics(void)
int SV_SoundIndex(const char *s, int precachemode)
void SV_SaveSpawnparms(void)
#define MAX_GETSTATUSFLOODADDRESSES
cvar_t sv_gameplayfix_nudgeoutofsolid_separation
cvar_t sv_gameplayfix_delayprojectiles
cvar_t sv_gameplayfix_noairborncorpse_allowsuspendeditems
cvar_t sv_gameplayfix_droptofloorstartsolid_nudgetocorrect
trace_t SV_TracePoint(const vec3_t start, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask)
cvar_t sv_clmovement_maxnetfps
cvar_t sv_allowdownloads_archive
void SV_Begin_f(cmd_state_t *cmd)
cvar_t sv_gameplayfix_consistentplayerprethink
void SV_ReadClientMessage(void)
cvar_t sv_maxairstrafespeed
void SV_BroadcastPrintf(const char *fmt,...) DP_FUNC_PRINTF(1)
cvar_t sv_gameplayfix_easierwaterjump
cvar_t sv_airstopaccelerate
void SV_StartPointSound(vec3_t origin, const char *sample, int volume, float attenuation, float speed)
cvar_t sv_cullentities_trace_enlarge
void SV_ApplyClientMove(void)
void SV_Spawn_f(cmd_state_t *cmd)
cvar_t sv_clmovement_enable
void VM_CustomStats_Clear(void)
cvar_t sv_areagrid_link_SOLID_NOT
cvar_t sv_gameplayfix_impactbeforeonground
void SV_Loadgame_f(cmd_state_t *cmd)
void SV_StartParticle(vec3_t org, vec3_t dir, int color, int count)
qbool SV_CheckBottom(prvm_edict_t *ent)
cvar_t sv_gameplayfix_unstickplayers
cvar_t sv_cullentities_pvs
cvar_t sv_gameplayfix_nudgeoutofsolid
double SV_Frame(double time)
void SV_FlushBroadcastMessages(void)
void SV_StartEffect(vec3_t org, int modelindex, int startframe, int framecount, int framerate)
void SV_SetIdealPitch(void)
void SV_AddCameraEyes(void)
void SV_StartSound(prvm_edict_t *entity, int channel, const char *sample, int volume, float attenuation, qbool reliable, float speed)
cvar_t sv_cullentities_trace_prediction
#define NUM_CSQCENTITIES_PER_FRAME
cvar_t sv_freezenonclients
void VM_SV_UpdateCustomStats(client_t *client, prvm_edict_t *ent, sizebuf_t *msg, int *stats)
cvar_t sv_airspeedlimit_nonqw
void SV_SpawnServer(const char *map)
void SV_Name(int clientnum)
int SV_ModelIndex(const char *s, int precachemode)
cvar_t sv_gameplayfix_nogravityonground
void SV_LinkEdict_TouchAreaGrid_Call(prvm_edict_t *touch, prvm_edict_t *ent)
cvar_t sv_wateraccelerate
void SV_InitOperatorCommands(void)
model_t * SV_GetModelByIndex(int modelindex)
cvar_t sv_gameplayfix_findradiusdistancetobox
void SV_WriteClientdataToMessage(client_t *client, prvm_edict_t *ent, sizebuf_t *msg, int *stats)
trace_t SV_TraceLine(const vec3_t start, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask, float extend)
cvar_t sv_aircontrol_penalty
void VM_SV_MoveToGoal(prvm_prog_t *prog)
void SV_SendServerinfo(client_t *client)
cvar_t sv_allowdownloads_dlcache
cvar_t sv_cullentities_nevercullbmodels
void SV_LinkEdict(prvm_edict_t *ent)
cvar_t sv_legacy_bbox_expand
qbool SV_CanSeeBox(int numsamples, vec_t eyejitter, vec_t enlarge, vec_t entboxexpand, vec3_t eye, vec3_t entboxmins, vec3_t entboxmaxs)
void SV_Savegame_to(prvm_prog_t *prog, const char *name)
void SV_ClientPrint(const char *msg)
void SV_GetEntityMatrix(prvm_prog_t *prog, prvm_edict_t *ent, matrix4x4_t *out, qbool viewmatrix)
cvar_t sv_sound_watersplash
const char * SV_TimingReport(char *buf, size_t buflen)
for output in SV_Status_f
cvar_t sv_gameplayfix_noairborncorpse
#define MAX_CONNECTFLOODADDRESSES
int SV_EntitiesInBox(const vec3_t mins, const vec3_t maxs, int maxedicts, prvm_edict_t **resultedicts)
cvar_t sv_airstrafeaccelerate
void SV_WriteEntitiesToClient(client_t *client, prvm_edict_t *clent, sizebuf_t *msg, int maxsize)
cvar_t sv_gameplayfix_nosquashentities
cvar_t sv_gameplayfix_gravityunaffectedbyticrate
void SV_CheckVelocity(prvm_edict_t *ent)
cvar_t sv_gameplayfix_q2airaccelerate
cvar_t sv_aircontrol_power
cvar_t sv_areagrid_mingridsize
cvar_t sv_gameplayfix_fixedcheckwatertransition
int SV_GetPitchSign(prvm_prog_t *prog, prvm_edict_t *ent)
cvar_t sv_idealpitchscale
void SV_DropClient(qbool leaving, const char *reason,...)
cvar_t sv_gameplayfix_slidemoveprojectiles
int SV_IsLocalServer(void)
void SV_Savegame_f(cmd_state_t *cmd)
cvar_t sv_airstrafeaccel_qw
cvar_t sv_gameplayfix_upwardvelocityclearsongroundflag
int SV_GenericHitSuperContentsMask(const prvm_edict_t *edict)
calculates hitsupercontentsmask for a generic qc entity
void SV_SendClientMessages(void)
void SV_MarkWriteEntityStateToClient(entity_state_t *s, client_t *client)
model_t * SV_GetModelFromEdict(prvm_edict_t *ed)
server_static_t svs
persistant server info
cvar_t sv_cullentities_trace_samples
int SV_PointSuperContents(const vec3_t point)
cvar_t sv_gameplayfix_unstickentities
cvar_t sv_cullentities_trace
cvar_t sv_gameplayfix_droptofloorstartsolid
cvar_t sv_clmovement_inputtimeout
void SV_BroadcastPrint(const char *msg)
cvar_t sv_cullentities_trace_samples_extra
cvar_t sv_allowdownloads_config
cvar_t sv_checkforpacketsduringsleep
cvar_t sv_clmovement_minping
cvar_t sv_allowdownloads_inarchive
cvar_t sv_gameplayfix_downtracesupportsongroundflag
int SV_ParticleEffectIndex(const char *name)
cvar_t sv_gameplayfix_q1bsptracelinereportstexture
cvar_t sv_clmovement_minping_disabletime
void SV_ClientCommands(const char *fmt,...) DP_FUNC_PRINTF(1)
cvar_t sv_airaccel_sideways_friction
cvar_t sv_gameplayfix_nostepmoveonsteepslopes
#define NUM_CSQCENTITYDB_FRAMES
void SV_ConnectClient(int clientnum, netconn_t *netconnection)
qbool SV_PlayerCheckGround(prvm_edict_t *ent)
cvar_t sv_gameplayfix_stepmultipletimes
void SV_PreSpawn_f(cmd_state_t *cmd)
qbool SV_VM_ConsoleCommand(const char *text, size_t textlen)
cvar_t sv_cullentities_trace_delay
cvar_t sv_playerphysicsqc
qbool SV_movestep(prvm_edict_t *ent, vec3_t move, qbool relink, qbool noenemy, qbool settrace)
trace_t SV_TraceBox(const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask, float extend)
traces a box move against worldmodel and all entities in the specified area
cvar_t sv_gameplayfix_blowupfallenzombies
cvar_t sv_gameplayfix_grenadebouncedownslopes
cvar_t sv_gameplayfix_setmodelrealbox
void SV_Physics_ClientMove(void)
cvar_t sv_gameplayfix_stepdown
cvar_t sv_gameplayfix_multiplethinksperframe
void SV_LinkEdict_TouchAreaGrid(prvm_edict_t *ent)
void SV_ClientPrintf(const char *fmt,...) DP_FUNC_PRINTF(1)
int csqcentityframe_lastreset
float clmovement_inputtimeout
this is used by sv_clmovement_inputtimeout code
qbool active
false = empty client slot
qbool begun
false = don't send datagrams
double keepalivetime
keepalive messages must be sent periodically during signon
entityframe_database_t * entitydatabase
unsigned int movesequence
qbool clientconnectcalled
false = don't do ClientDisconnect on drop
int unreliablemsg_splitpoints
float nametime
prevent animated names
double clmovement_disabletimeout
this is used by sv_clmovement_minping code
int rate
requested rate in bytes per second
int sendsignon
1 = send svc_serverinfo and advance to 2, 2 doesn't send, then advances to 0 (allowing unlimited send...
qbool fixangle_angles_set
entityframe5_database_t * entitydatabase5
qbool prespawned
false = don't allow spawn
entityframe4_database_t * entitydatabase4
int latestframenum
latest received clc_ackframe (used to detect packet loss)
int csqcentityframehistory_next
int clientcamera
clientcamera (entity to use as camera)
unsigned int lastmovesequence
int num_skippedentityframes
netconn_t * netconnection
communications handle
int rate_burstsize
temporarily exceed rate by this amount of bytes
int download_expectedposition
next position the client should ack
qfile_t * sv_demo_file
demo recording
qbool spawned
false = don't allow begin
prvm_edict_t * edict
PRVM_EDICT_NUM(clientnum+1)
double connecttime
realtime this client connected
unsigned int movement_highestsequence_seen
float ping
LadyHavoc: can be used for prediction or whatever...
vec3_t wishdir
intended motion calced from cmd
command interpreter state - the tokenizing and execution of commands, as well as pointers to which cv...
unsigned char * csqc_progdata_deflated
struct client_s * clients
client slots
unsigned char * csqc_progdata
qbool changelevel_issued
cleared when at SV_SpawnServer
qbool volatile threadstop
int maxclients
number of svs.clients slots (updated by maxplayers command)
int serverflags
episode completion information
size_t csqc_progsize_deflated
unsigned char * writeentitiestoclient_pvs
world_t world
collision culling data
float perf_acc_offset_max
int writeentitiestoclient_stats_culled_pvs
int writeentitiestoclient_stats_totalentities
int perf_acc_offset_samples
qbool active
false if only a net client
int writeentitiestoclient_cliententitynumber
server_state_t state
some actions are only valid during load
sizebuf_t reliable_datagram
int writeentitiestoclient_numeyes
qbool loadgame
handle connections specially
sizebuf_t * writeentitiestoclient_msg
int writeentitiestoclient_stats_visibleentities
float perf_acc_offset_squared
int writeentitiestoclient_stats_culled_trace
struct model_s * worldmodel
qbool particleeffectnamesloaded
int writeentitiestoclient_clientnumber
protocolversion_t protocol
one of the PROTOCOL_ values