summaryrefslogtreecommitdiffstats
path: root/src/ClientHandle.cpp
diff options
context:
space:
mode:
authorAlexander Harkness <bearbin@gmail.com>2013-12-19 09:02:49 +0100
committerAlexander Harkness <bearbin@gmail.com>2013-12-19 09:02:49 +0100
commit9a29af71516c7e2f8aaaa450fd9981e914fb5bb7 (patch)
tree63186c2bbc3840e120550eaba32f7baa2a55d2a9 /src/ClientHandle.cpp
parentMerge pull request #440 from mc-server/repeaterfixes (diff)
parentDisconnection message no longer shown if ping (diff)
downloadcuberite-9a29af71516c7e2f8aaaa450fd9981e914fb5bb7.tar
cuberite-9a29af71516c7e2f8aaaa450fd9981e914fb5bb7.tar.gz
cuberite-9a29af71516c7e2f8aaaa450fd9981e914fb5bb7.tar.bz2
cuberite-9a29af71516c7e2f8aaaa450fd9981e914fb5bb7.tar.lz
cuberite-9a29af71516c7e2f8aaaa450fd9981e914fb5bb7.tar.xz
cuberite-9a29af71516c7e2f8aaaa450fd9981e914fb5bb7.tar.zst
cuberite-9a29af71516c7e2f8aaaa450fd9981e914fb5bb7.zip
Diffstat (limited to '')
-rw-r--r--src/ClientHandle.cpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp
index 9565fc41f..9550e3afe 100644
--- a/src/ClientHandle.cpp
+++ b/src/ClientHandle.cpp
@@ -998,7 +998,7 @@ void cClientHandle::HandleChat(const AString & a_Message)
// Not a command, broadcast as a simple message:
AString Msg;
- Printf(Msg, "<%s%s%s> %s",
+ Printf(Msg, "%s<%s>%s %s",
m_Player->GetColor().c_str(),
m_Player->GetName().c_str(),
cChatColor::White.c_str(),
@@ -1216,12 +1216,13 @@ void cClientHandle::HandleRespawn(void)
void cClientHandle::HandleDisconnect(const AString & a_Reason)
{
- LOGD("Received d/c packet from \"%s\" with reason \"%s\"", m_Username.c_str(), a_Reason.c_str());
+ LOGD("Received d/c packet from %s with reason \"%s\"", m_Username.c_str(), a_Reason.c_str());
if (!cRoot::Get()->GetPluginManager()->CallHookDisconnect(m_Player, a_Reason))
{
AString DisconnectMessage;
- Printf(DisconnectMessage, "%s disconnected: %s", m_Username.c_str(), a_Reason.c_str());
- m_Player->GetWorld()->BroadcastChat(DisconnectMessage, this);
+ Printf(DisconnectMessage, "%s[LEAVE] %s%s has left the game", cChatColor::Yellow.c_str(), cChatColor::White.c_str(), m_Username.c_str());
+ cRoot::Get()->BroadcastChat(DisconnectMessage);
+ LOGINFO("Player %s has left the game.", m_Username.c_str());
}
m_HasSentDC = true;
Destroy();
@@ -2287,7 +2288,19 @@ void cClientHandle::SocketClosed(void)
{
// The socket has been closed for any reason
- LOGD("Client \"%s\" @ %s disconnected", m_Username.c_str(), m_IPString.c_str());
+ LOGD("Player %s @ %s disconnected", m_Username.c_str(), m_IPString.c_str());
+
+ if (m_Username != "") // Ignore client pings
+ {
+ if (!cRoot::Get()->GetPluginManager()->CallHookDisconnect(m_Player, "Player disconnected"))
+ {
+ AString DisconnectMessage;
+ Printf(DisconnectMessage, "%s[LEAVE] %s%s has left the game", cChatColor::Yellow.c_str(), cChatColor::White.c_str(), m_Username.c_str());
+ cRoot::Get()->BroadcastChat(DisconnectMessage);
+ LOGINFO("Player %s has left the game.", m_Username.c_str());
+ }
+ }
+
Destroy();
}