diff options
author | lapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2011-12-24 00:58:54 +0100 |
---|---|---|
committer | lapayo94@gmail.com <lapayo94@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2011-12-24 00:58:54 +0100 |
commit | ad610e63ba6ff21b84b455d310052985ecb78585 (patch) | |
tree | aa371ec6f4895d48fb828bf28e1111aaf7b5d9d5 /source/cClientHandle.cpp | |
parent | Added thread names to cThread so when debugging in Visual Studio you actually know what thread you're looking at (diff) | |
download | cuberite-ad610e63ba6ff21b84b455d310052985ecb78585.tar cuberite-ad610e63ba6ff21b84b455d310052985ecb78585.tar.gz cuberite-ad610e63ba6ff21b84b455d310052985ecb78585.tar.bz2 cuberite-ad610e63ba6ff21b84b455d310052985ecb78585.tar.lz cuberite-ad610e63ba6ff21b84b455d310052985ecb78585.tar.xz cuberite-ad610e63ba6ff21b84b455d310052985ecb78585.tar.zst cuberite-ad610e63ba6ff21b84b455d310052985ecb78585.zip |
Diffstat (limited to 'source/cClientHandle.cpp')
-rw-r--r-- | source/cClientHandle.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp index 8374a8045..548dafeb6 100644 --- a/source/cClientHandle.cpp +++ b/source/cClientHandle.cpp @@ -395,9 +395,10 @@ void cClientHandle::HandlePacket( cPacket* a_Packet ) case E_PING: // Somebody tries to retreive information about the server
{
LOGINFO("Got ping");
- char NumPlayers[8];
- sprintf_s(NumPlayers, 8, "%i", cRoot::Get()->GetWorld()->GetNumPlayers() );
- std::string response = std::string("MCServer! - It's OVER 9000!" + cChatColor::Delimiter + NumPlayers + cChatColor::Delimiter + "9001" );
+ char NumPlayers[8], cMaxPlayers[8];
+ sprintf_s(NumPlayers, 8, "%i", cRoot::Get()->GetWorld()->GetNumPlayers());
+ sprintf_s(cMaxPlayers, 8, "%i", cRoot::Get()->GetWorld()->GetMaxPlayers());
+ std::string response = std::string(cRoot::Get()->GetWorld()->GetDescription() + cChatColor::Delimiter + NumPlayers + cChatColor::Delimiter + cMaxPlayers );
Kick( response.c_str() );
}
break;
@@ -407,6 +408,11 @@ void cClientHandle::HandlePacket( cPacket* a_Packet ) m_pState->Username = PacketData->m_Username;
LOG("HANDSHAKE %s", GetUsername() );
cPacket_Chat Connecting(m_pState->Username + " is connecting.");
+
+ if (cRoot::Get()->GetWorld()->GetNumPlayers() == cRoot::Get()->GetWorld()->GetMaxPlayers()) {
+ Kick("The server is currently full :( -- Try again later");
+ break;
+ }
cRoot::Get()->GetServer()->Broadcast( Connecting, this );
// Give a server handshake thingy back
|