summaryrefslogtreecommitdiffstats
path: root/source/cClientHandle.cpp
diff options
context:
space:
mode:
authorfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-03-09 14:42:28 +0100
committerfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-03-09 14:42:28 +0100
commitf43b65cf53274d1bbb43e2041ce72ff9eb68a7c8 (patch)
tree6799433ae65c4d4331bbfd6bcabe5bac38f6376c /source/cClientHandle.cpp
parentUsing the _DEBUG macro for *nix debug builds as well; trying to force 8-byte alignment on critical sections ( http://forum.mc-server.org/showthread.php?tid=384 ) (diff)
downloadcuberite-f43b65cf53274d1bbb43e2041ce72ff9eb68a7c8.tar
cuberite-f43b65cf53274d1bbb43e2041ce72ff9eb68a7c8.tar.gz
cuberite-f43b65cf53274d1bbb43e2041ce72ff9eb68a7c8.tar.bz2
cuberite-f43b65cf53274d1bbb43e2041ce72ff9eb68a7c8.tar.lz
cuberite-f43b65cf53274d1bbb43e2041ce72ff9eb68a7c8.tar.xz
cuberite-f43b65cf53274d1bbb43e2041ce72ff9eb68a7c8.tar.zst
cuberite-f43b65cf53274d1bbb43e2041ce72ff9eb68a7c8.zip
Diffstat (limited to '')
-rw-r--r--source/cClientHandle.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp
index c722b4305..cf6c3fb5f 100644
--- a/source/cClientHandle.cpp
+++ b/source/cClientHandle.cpp
@@ -84,6 +84,12 @@
+int cClientHandle::s_ClientCount = 0;
+
+
+
+
+
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// cClientHandle:
@@ -104,7 +110,11 @@ cClientHandle::cClientHandle(const cSocket & a_Socket, int a_ViewDistance)
, m_State(csConnected)
, m_LastStreamedChunkX(0x7fffffff) // bogus chunk coords to force streaming upon login
, m_LastStreamedChunkZ(0x7fffffff)
+ , m_UniqueID(0)
{
+ s_ClientCount++; // Not protected by CS because clients are always constructed from the same thread
+ m_UniqueID = s_ClientCount;
+
cTimer t1;
m_LastPingTime = t1.GetNowTime();
@@ -696,7 +706,7 @@ void cClientHandle::HandleLogin(cPacket_Login * a_Packet)
// Schedule for authentication; until then, let them wait (but do not block)
m_State = csAuthenticating;
- cRoot::Get()->GetAuthenticator().Authenticate(m_Username, cRoot::Get()->GetServer()->GetServerID());
+ cRoot::Get()->GetAuthenticator().Authenticate(GetUniqueID(), GetUsername(), cRoot::Get()->GetServer()->GetServerID());
}