From 214f53b8a77b7f086f2c918ab3f5a83e8274303a Mon Sep 17 00:00:00 2001 From: Jonathan Poncelet Date: Tue, 30 Jul 2019 07:15:49 +0100 Subject: [PATCH] SV_DropClient: Prevented transmission to fake clients --- engine/server/sv_client.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/engine/server/sv_client.c b/engine/server/sv_client.c index 88589d2d..58ecc912 100644 --- a/engine/server/sv_client.c +++ b/engine/server/sv_client.c @@ -545,12 +545,20 @@ void SV_DropClient( sv_client_t *cl, qboolean crash ) if( !crash ) { // add the disconnect - if( !FBitSet( cl->flags, FCL_FAKECLIENT )) + if( !FBitSet( cl->flags, FCL_FAKECLIENT ) ) + { MSG_BeginServerCmd( &cl->netchan.message, svc_disconnect ); + } if( cl->edict && cl->state == cs_spawned ) + { svgame.dllFuncs.pfnClientDisconnect( cl->edict ); - Netchan_TransmitBits( &cl->netchan, 0, NULL ); + } + + if( !FBitSet( cl->flags, FCL_FAKECLIENT ) ) + { + Netchan_TransmitBits( &cl->netchan, 0, NULL ); + } } ClearBits( cl->flags, FCL_FAKECLIENT );