private void RemoveClient(SocketState state)
 {
     lock (gameController) {
         gameController.PlayerDisconnected(clientToPlayerMap[state.ID]);
         clients.Remove(state.ID);
         clientToPlayerMap.Remove(state.ID);
         // send the message again that has the latest game world state with the disconnected and dead
         SendMessageToEveryClient(gameController.SerializeGameWorld());
     }
 }