From 1dbdb8ed912ff235538b9b2dc75575cadc3a5566 Mon Sep 17 00:00:00 2001 From: madmaxoft Date: Tue, 29 Apr 2014 23:10:50 +0200 Subject: [PATCH] Delayed sending the KeepAlive packet for 3 seconds after login. This should alleviate #889. --- src/ClientHandle.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index f3588c253..2362abe1e 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -336,6 +336,11 @@ void cClientHandle::Authenticate(const AString & a_Name, const AString & a_UUID) // Send scoreboard data World->GetScoreBoard().SendTo(*this); + + // Delay the first ping until the client "settles down" + // This should fix #889, "BadCast exception, cannot convert bit to fm" error in client + cTimer t1; + m_LastPingTime = t1.GetNowTime() + 3000; // Send the first KeepAlive packet in 3 seconds cRoot::Get()->GetPluginManager()->CallHookPlayerSpawned(*m_Player); }