diff options
author | Vincent <vincent.leung60@gmail.com> | 2014-12-08 09:16:09 +0100 |
---|---|---|
committer | Vincent <vincent.leung60@gmail.com> | 2014-12-08 09:16:09 +0100 |
commit | ed09e76023436c9414356921bc761618b3bb9341 (patch) | |
tree | aa3cd9fcd3fd2f80b5eba4a96193e1cbd4f928ac | |
parent | Moved the check into a new function and just calls that function and a blank FindAndDoWithPlayer added. (diff) | |
download | cuberite-ed09e76023436c9414356921bc761618b3bb9341.tar cuberite-ed09e76023436c9414356921bc761618b3bb9341.tar.gz cuberite-ed09e76023436c9414356921bc761618b3bb9341.tar.bz2 cuberite-ed09e76023436c9414356921bc761618b3bb9341.tar.lz cuberite-ed09e76023436c9414356921bc761618b3bb9341.tar.xz cuberite-ed09e76023436c9414356921bc761618b3bb9341.tar.zst cuberite-ed09e76023436c9414356921bc761618b3bb9341.zip |
-rw-r--r-- | src/ClientHandle.cpp | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/src/ClientHandle.cpp b/src/ClientHandle.cpp index 025588485..e60bb5373 100644 --- a/src/ClientHandle.cpp +++ b/src/ClientHandle.cpp @@ -1790,30 +1790,33 @@ void cClientHandle::HandleKeepAlive(int a_KeepAliveID) bool cClientHandle::CheckMultiLogin(void) { - std::list<AString> usernamesServer = cRoot::Get()->GetServer()->GetUsernames(); - - for (auto item : usernamesServer) + if (!(cRoot::Get()->GetServer()->IsAllowMultiLogin())) { - if ((item).compare(a_Username) == 0) + std::list<AString> usernamesServer = cRoot::Get()->GetServer()->GetUsernames(); + + for (auto item : usernamesServer) { - Kick("A player of the username is already logged in"); - return false; + if ((item).compare(a_Username) == 0) + { + Kick("A player of the username is already logged in"); + return false; + } } - } - class cCallback : - public cPlayerListCallback - { - virtual bool Item(cPlayer * a_Player) override + class cCallback : + public cPlayerListCallback { - return true; - } - } Callback; + virtual bool Item(cPlayer * a_Player) override + { + return true; + } + } Callback; - if (cRoot::Get()->GetDefaultWorld()->DoWithPlayer(a_Username, Callback)) - { - Kick("A player of the username is already logged in"); - return false; + if (cRoot::Get()->GetDefaultWorld()->DoWithPlayer(a_Username, Callback)) + { + Kick("A player of the username is already logged in"); + return false; + } } return true; @@ -1833,13 +1836,9 @@ bool cClientHandle::HandleHandshake(const AString & a_Username) return false; } } + + return CheckMultiLogin(); - if (!(cRoot::Get()->GetServer()->IsAllowMultiLogin())) - { - return CheckMultiLogin(); - } - - return true; } |