cvar_t sv_allowdownloads_config = {0, "sv_allowdownloads_config", "0", "whether to allow downloads of config files (cfg)"};
cvar_t sv_allowdownloads_dlcache = {0, "sv_allowdownloads_dlcache", "0", "whether to allow downloads of dlcache files (dlcache/)"};
cvar_t sv_allowdownloads_inarchive = {0, "sv_allowdownloads_inarchive", "0", "whether to allow downloads from archives (pak/pk3)"};
-cvar_t sv_areagrid_mingridsize = {CVAR_NOTIFY, "sv_areagrid_mingridsize", "64", "minimum areagrid cell size, smaller values work better for lots of small objects, higher values for large objects"};
+cvar_t sv_areagrid_mingridsize = {CVAR_NOTIFY, "sv_areagrid_mingridsize", "128", "minimum areagrid cell size, smaller values work better for lots of small objects, higher values for large objects"};
cvar_t sv_checkforpacketsduringsleep = {0, "sv_checkforpacketsduringsleep", "0", "uses select() function to wait between frames which can be interrupted by packets being received, instead of Sleep()/usleep()/SDL_Sleep() functions which do not check for packets"};
cvar_t sv_clmovement_enable = {0, "sv_clmovement_enable", "1", "whether to allow clients to use cl_movement prediction, which can cause choppy movement on the server which may annoy other players"};
cvar_t sv_clmovement_minping = {0, "sv_clmovement_minping", "0", "if client ping is below this time in milliseconds, then their ability to use cl_movement prediction is disabled for a while (as they don't need it)"};
SZ_Clear (&client->netconnection->message);
MSG_WriteByte (&client->netconnection->message, svc_print);
- dpsnprintf (message, sizeof (message), "\nServer: %s build %s (progs %i crc)", gamename, buildstring, prog->filecrc);
+ dpsnprintf (message, sizeof (message), "\nServer: %s build %s (progs %i crc)\n", gamename, buildstring, prog->filecrc);
MSG_WriteString (&client->netconnection->message,message);
SV_StopDemoRecording(client); // to split up demos into different files
numcsqcsendstates = 0;
for (i = 0;i < sv.numsendentities;i++)
{
- if (sv.sententities[sv.sendentities[i].number] == sv.sententitiesmark)
+ s = &sv.sendentities[i];
+ if (sv.sententities[s->number] == sv.sententitiesmark)
{
- if(sv.sendentities[i].active == ACTIVE_NETWORK)
+ if(s->active == ACTIVE_NETWORK)
{
- s = &sv.writeentitiestoclient_sendstates[numsendstates++];
- *s = sv.sendentities[i];
- if (s->exteriormodelforclient && s->exteriormodelforclient == sv.writeentitiestoclient_cliententitynumber)
- s->flags |= RENDER_EXTERIORMODEL;
+ if (s->exteriormodelforclient)
+ {
+ if (s->exteriormodelforclient == sv.writeentitiestoclient_cliententitynumber)
+ s->flags |= RENDER_EXTERIORMODEL;
+ else
+ s->flags &= ~RENDER_EXTERIORMODEL;
+ }
+ sv.writeentitiestoclient_sendstates[numsendstates++] = s;
}
else if(sv.sendentities[i].active == ACTIVE_SHARED)
- sv.writeentitiestoclient_csqcsendstates[numcsqcsendstates++] = sv.sendentities[i].number;
+ sv.writeentitiestoclient_csqcsendstates[numcsqcsendstates++] = s->number;
else
- Con_Printf("entity %d is in sv.sendentities and marked, but not active, please breakpoint me\n", sv.sendentities[i].number);
+ Con_Printf("entity %d is in sv.sendentities and marked, but not active, please breakpoint me\n", s->number);
}
}
extension = FS_FileExtension(host_client->download_name);
// host_client is asking to download a specified file
- if (developer.integer >= 100)
- Con_Printf("Download request for %s by %s\n", host_client->download_name, host_client->name);
+ if (developer_extra.integer)
+ Con_DPrintf("Download request for %s by %s\n", host_client->download_name, host_client->name);
if(is_csqc)
{
svs.csqc_progdata = NULL;
svs.csqc_progdata_deflated = NULL;
- Con_Print("Loading csprogs.dat\n");
-
sv.csqc_progname[0] = 0;
svs.csqc_progdata = FS_LoadFile(csqc_progname.string, sv_mempool, false, &progsize);
if(progsize > 0)
{
size_t deflated_size;
-
+
sv.csqc_progsize = (int)progsize;
sv.csqc_progcrc = CRC_Block(svs.csqc_progdata, progsize);
strlcpy(sv.csqc_progname, csqc_progname.string, sizeof(sv.csqc_progname));
- Con_Printf("server detected csqc progs file \"%s\" with size %i and crc %i\n", sv.csqc_progname, sv.csqc_progsize, sv.csqc_progcrc);
+ Con_DPrintf("server detected csqc progs file \"%s\" with size %i and crc %i\n", sv.csqc_progname, sv.csqc_progsize, sv.csqc_progcrc);
- Con_Print("Compressing csprogs.dat\n");
+ Con_DPrint("Compressing csprogs.dat\n");
//unsigned char *FS_Deflate(const unsigned char *data, size_t size, size_t *deflated_size, int level, mempool_t *mempool);
svs.csqc_progdata_deflated = FS_Deflate(svs.csqc_progdata, progsize, &deflated_size, -1, sv_mempool);
svs.csqc_progsize_deflated = (int)deflated_size;
if(svs.csqc_progdata_deflated)
{
- Con_Printf("Deflated: %g%%\n", 100.0 - 100.0 * (deflated_size / (float)progsize));
+ Con_DPrintf("Deflated: %g%%\n", 100.0 - 100.0 * (deflated_size / (float)progsize));
Con_DPrintf("Uncompressed: %u\nCompressed: %u\n", (unsigned)sv.csqc_progsize, (unsigned)svs.csqc_progsize_deflated);
}
else
- Con_Printf("Cannot compress - need zlib for this. Using uncompressed progs only.\n");
+ Con_DPrintf("Cannot compress - need zlib for this. Using uncompressed progs only.\n");
}
}