engine: client: lie about sv_version for GoldSrc protocol

This commit is contained in:
Alibek Omarov 2024-10-11 00:07:19 +03:00
parent 3320f776ce
commit 869578f1ba

View file

@ -2133,7 +2133,7 @@ and sent it back to the server
*/ */
void CL_ParseCvarValue( sizebuf_t *msg, const qboolean ext, const connprotocol_t proto ) void CL_ParseCvarValue( sizebuf_t *msg, const qboolean ext, const connprotocol_t proto )
{ {
const char *cvarName, *response; const char *cvarName, *response = NULL;
convar_t *cvar; convar_t *cvar;
int requestID; int requestID;
@ -2141,26 +2141,36 @@ void CL_ParseCvarValue( sizebuf_t *msg, const qboolean ext, const connprotocol_t
requestID = MSG_ReadLong( msg ); requestID = MSG_ReadLong( msg );
cvarName = MSG_ReadString( msg ); cvarName = MSG_ReadString( msg );
cvar = Cvar_FindVar( cvarName );
if( cvar ) if( proto == PROTO_GOLDSRC )
{ {
if( cvar->flags & FCVAR_PRIVILEGED ) if( !Q_stricmp( cvarName, "sv_version" ))
response = "CVAR is privileged"; response = "1.1.2.2/Stdio,48,10211";
else if( cvar->flags & FCVAR_SERVER ) }
response = "CVAR is server-only";
else if( cvar->flags & FCVAR_PROTECTED ) if( !response )
response = "CVAR is protected"; {
cvar = Cvar_FindVar( cvarName );
if( cvar )
{
if( cvar->flags & FCVAR_PRIVILEGED )
response = "CVAR is privileged";
else if( cvar->flags & FCVAR_SERVER )
response = "CVAR is server-only";
else if( cvar->flags & FCVAR_PROTECTED )
response = "CVAR is protected";
else
response = cvar->string;
}
else if( proto == PROTO_LEGACY )
{
response = "Not Found";
}
else else
response = cvar->string; {
} response = "Bad CVAR request";
else if( proto == PROTO_LEGACY ) }
{
response = "Not Found";
}
else
{
response = "Bad CVAR request";
} }
if( ext ) if( ext )