if (!host_client->active)
{
// a command caused an error
- SV_DropClient (false);
+ SV_DropClient (false, "Connection closing");
return;
}
if (sv_message.badread)
{
Con_Print("SV_ReadClientMessage: badread\n");
- SV_DropClient (false);
+ SV_DropClient (false, "An internal server error occurred");
return;
}
Con_Printf("SV_ReadClientMessage: unknown command char %i (at offset 0x%x)\n", netcmd, sv_message.readcount);
if (developer_networking.integer)
Com_HexDumpToConsole(sv_message.data, sv_message.cursize);
- SV_DropClient (false);
+ SV_DropClient (false, "Unknown message sent to the server");
return;
case clc_nop:
break;
case clc_disconnect:
- SV_DropClient (false); // client wants to disconnect
+ SV_DropClient (true, sv.protocol == PROTOCOL_DARKPLACES8
+ ? MSG_ReadString(&sv_message, sv_readstring, sizeof(sv_readstring))
+ : "Disconnect by user"); // client wants to disconnect
return;
case clc_move: