Browse Source

engine: server: check if we got info request from master server, that acts as a bridge for NAT servers

pull/2/head
Alibek Omarov 2 years ago
parent
commit
602f23fbdf
  1. 7
      engine/server/sv_client.c

7
engine/server/sv_client.c

@ -3116,17 +3116,12 @@ void SV_ConnectionlessPacket( netadr_t from, sizebuf_t *msg )
else if( !Q_strcmp( pcmd, "s" )) SV_AddToMaster( from, msg ); else if( !Q_strcmp( pcmd, "s" )) SV_AddToMaster( from, msg );
else if( !Q_strcmp( pcmd, "T" "Source" )) SV_TSourceEngineQuery( from ); else if( !Q_strcmp( pcmd, "T" "Source" )) SV_TSourceEngineQuery( from );
else if( !Q_strcmp( pcmd, "i" )) NET_SendPacket( NS_SERVER, 5, "\xFF\xFF\xFF\xFFj", from ); // A2A_PING else if( !Q_strcmp( pcmd, "i" )) NET_SendPacket( NS_SERVER, 5, "\xFF\xFF\xFF\xFFj", from ); // A2A_PING
else if (!Q_strcmp( pcmd, "c" )) else if( !Q_strcmp( pcmd, "c" ) && Cvar_VariableInteger( "sv_nat" ) && NET_IsFromMasters( from ))
{
qboolean sv_nat = Cvar_VariableInteger( "sv_nat" );
if( sv_nat )
{ {
netadr_t to; netadr_t to;
if( NET_StringToAdr( Cmd_Argv( 1 ), &to ) && !NET_IsReservedAdr( to )) if( NET_StringToAdr( Cmd_Argv( 1 ), &to ) && !NET_IsReservedAdr( to ))
SV_Info( to, PROTOCOL_VERSION ); SV_Info( to, PROTOCOL_VERSION );
} }
}
else if( svgame.dllFuncs.pfnConnectionlessPacket( &from, args, buf, &len )) else if( svgame.dllFuncs.pfnConnectionlessPacket( &from, args, buf, &len ))
{ {
// user out of band message (must be handled in CL_ConnectionlessPacket) // user out of band message (must be handled in CL_ConnectionlessPacket)

Loading…
Cancel
Save