mirror of
https://github.com/YGGverse/xash3d-fwgs.git
synced 2025-03-13 06:21:08 +00:00
engine: server: port old engine's fullupdate ratelimit, but simplify it
This commit is contained in:
parent
243c3cc80f
commit
a4997d0647
@ -471,6 +471,7 @@ extern convar_t sv_userinfo_enable_penalty;
|
||||
extern convar_t sv_userinfo_penalty_time;
|
||||
extern convar_t sv_userinfo_penalty_multiplier;
|
||||
extern convar_t sv_userinfo_penalty_attempts;
|
||||
extern convar_t sv_fullupdate_penalty_time;
|
||||
|
||||
//===========================================================
|
||||
//
|
||||
|
@ -3090,10 +3090,18 @@ void SV_ExecuteClientCommand( sv_client_t *cl, const char *s )
|
||||
|
||||
if( !u->name && sv.state == ss_active )
|
||||
{
|
||||
qboolean fullupdate = !Q_strcmp( Cmd_Argv( 0 ), "fullupdate" );
|
||||
|
||||
if( fullupdate )
|
||||
{
|
||||
if( sv_fullupdate_penalty_time.value && host.realtime < cl->fullupdate_next_calltime )
|
||||
return;
|
||||
}
|
||||
|
||||
// custom client commands
|
||||
svgame.dllFuncs.pfnClientCommand( cl->edict );
|
||||
|
||||
if( !Q_strcmp( Cmd_Argv( 0 ), "fullupdate" ))
|
||||
if( fullupdate )
|
||||
{
|
||||
// resend the ambient sounds for demo recording
|
||||
SV_RestartAmbientSounds();
|
||||
@ -3103,6 +3111,9 @@ void SV_ExecuteClientCommand( sv_client_t *cl, const char *s )
|
||||
SV_RestartStaticEnts();
|
||||
// resend the viewentity
|
||||
SV_UpdateClientView( cl );
|
||||
|
||||
if( sv_fullupdate_penalty_time.value )
|
||||
cl->fullupdate_next_calltime = host.realtime + sv_fullupdate_penalty_time.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ CVAR_DEFINE_AUTO( sv_userinfo_enable_penalty, "1", FCVAR_ARCHIVE, "enable penalt
|
||||
CVAR_DEFINE_AUTO( sv_userinfo_penalty_time, "0.3", FCVAR_ARCHIVE, "initial penalty time" );
|
||||
CVAR_DEFINE_AUTO( sv_userinfo_penalty_multiplier, "2", FCVAR_ARCHIVE, "penalty time multiplier" );
|
||||
CVAR_DEFINE_AUTO( sv_userinfo_penalty_attempts, "4", FCVAR_ARCHIVE, "if max attempts count was exceeded, penalty time will be increased" );
|
||||
|
||||
CVAR_DEFINE_AUTO( sv_fullupdate_penalty_time, "1", FCVAR_ARCHIVE, "allow fullupdate command only once in this timewindow (set 0 to disable)" );
|
||||
|
||||
//============================================================================
|
||||
/*
|
||||
@ -938,6 +938,7 @@ void SV_Init( void )
|
||||
Cvar_RegisterVariable( &sv_userinfo_penalty_time );
|
||||
Cvar_RegisterVariable( &sv_userinfo_penalty_multiplier );
|
||||
Cvar_RegisterVariable( &sv_userinfo_penalty_attempts );
|
||||
Cvar_RegisterVariable( &sv_fullupdate_penalty_time );
|
||||
|
||||
// when we in developer-mode automatically turn cheats on
|
||||
if( host_developer.value ) Cvar_SetValue( "sv_cheats", 1.0f );
|
||||
|
Loading…
x
Reference in New Issue
Block a user