From 6a318d50007f839e65a2aa135784b5b5d9936441 Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sun, 25 May 2025 20:29:16 +0500 Subject: [PATCH] engine: server: check for master servers addresses in connectionless packet handler, and it it matches, only reply to M2S messages --- engine/server/sv_client.c | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/engine/server/sv_client.c b/engine/server/sv_client.c index d8b41207..fa558eb5 100644 --- a/engine/server/sv_client.c +++ b/engine/server/sv_client.c @@ -3183,6 +3183,20 @@ void SV_ConnectionlessPacket( netadr_t from, sizebuf_t *msg ) return; } + if( NET_IsMasterAdr( from )) + { + if( !Q_strcmp( pcmd, M2S_CHALLENGE )) + { + SV_AddToMaster( from, msg ); + } + else if( !Q_strcmp( pcmd, M2S_NAT_CONNECT )) + { + SV_ConnectNatClient( from ); + } + + return; + } + if( !Q_strcmp( pcmd, A2S_GOLDSRC_INFO ) || pcmd[0] == A2S_GOLDSRC_PLAYERS || pcmd[0] == A2S_GOLDSRC_RULES ) { SV_SourceQuery_HandleConnnectionlessPacket( pcmd, from ); @@ -3195,14 +3209,6 @@ void SV_ConnectionlessPacket( netadr_t from, sizebuf_t *msg ) { SV_Info( from, Q_atoi( Cmd_Argv( 1 ))); } - else if( !Q_strcmp( pcmd, M2S_CHALLENGE )) - { - SV_AddToMaster( from, msg ); - } - else if( !Q_strcmp( pcmd, M2S_NAT_CONNECT )) - { - SV_ConnectNatClient( from ); - } else if( !Q_strcmp( pcmd, C2S_BANDWIDTHTEST )) { SV_TestBandWidth( from );