From 61e761fdc2bfa5c77002d68bb24e0470def37b48 Mon Sep 17 00:00:00 2001 From: Vincent Date: Sat, 29 Nov 2014 00:36:15 -0800 Subject: issue 1253 - prevent multiple logins with same username --- src/Server.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/Server.cpp') diff --git a/src/Server.cpp b/src/Server.cpp index bbb5ecff3..157bad43e 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -201,6 +201,7 @@ bool cServer::InitServer(cIniFile & a_SettingsIni, bool a_ShouldAuth) m_Description = a_SettingsIni.GetValueSet("Server", "Description", "MCServer - in C++!"); m_MaxPlayers = a_SettingsIni.GetValueSetI("Server", "MaxPlayers", 100); m_bIsHardcore = a_SettingsIni.GetValueSetB("Server", "HardcoreEnabled", false); + m_bAllowMultiLogin = a_SettingsIni.GetValueSetB("Server", "AllowMultiLogin", false); m_PlayerCount = 0; m_PlayerCountDiff = 0; @@ -303,6 +304,22 @@ int cServer::GetNumPlayers(void) const +std::list cServer::GetUsernames() +{ + std::list usernames; + cCSLock Lock(m_CSClients); + for (ClientList::iterator itr = m_Clients.begin(); itr != m_Clients.end(); ++itr) + { + std::string username = (*itr)->GetUsername(); + usernames.insert(usernames.begin(),username); + } + return usernames; +} + + + + + void cServer::PrepareKeys(void) { LOGD("Generating protocol encryption keypair..."); -- cgit v1.2.3 From a7bf2725c8bd5f8ec3e03584af87a7055cb15a60 Mon Sep 17 00:00:00 2001 From: Vincent Date: Sat, 29 Nov 2014 11:22:03 -0800 Subject: fixed naming of strings and changed from i to I --- src/Server.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/Server.cpp') diff --git a/src/Server.cpp b/src/Server.cpp index 157bad43e..ed02500ff 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -304,13 +304,13 @@ int cServer::GetNumPlayers(void) const -std::list cServer::GetUsernames() +std::list cServer::GetUsernames() { - std::list usernames; + std::list usernames; cCSLock Lock(m_CSClients); for (ClientList::iterator itr = m_Clients.begin(); itr != m_Clients.end(); ++itr) { - std::string username = (*itr)->GetUsername(); + AString username = (*itr)->GetUsername(); usernames.insert(usernames.begin(),username); } return usernames; -- cgit v1.2.3 From 8edfd7829505d43c7d6bf7fcc582e0d7cb29e1d5 Mon Sep 17 00:00:00 2001 From: Vincent Date: Sun, 7 Dec 2014 12:41:42 -0800 Subject: changed from using iterator to auto for server and clienthandle --- src/Server.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Server.cpp') diff --git a/src/Server.cpp b/src/Server.cpp index ed02500ff..15c9521b9 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -308,9 +308,9 @@ std::list cServer::GetUsernames() { std::list usernames; cCSLock Lock(m_CSClients); - for (ClientList::iterator itr = m_Clients.begin(); itr != m_Clients.end(); ++itr) + for (auto client : m_Clients) { - AString username = (*itr)->GetUsername(); + AString username = (client)->GetUsername(); usernames.insert(usernames.begin(),username); } return usernames; -- cgit v1.2.3 From 6de07d4a39096f19c075695824aa87a1907e4edc Mon Sep 17 00:00:00 2001 From: Vincent Date: Mon, 8 Dec 2014 00:45:29 -0800 Subject: Fixed compile errors --- src/Server.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/Server.cpp') diff --git a/src/Server.cpp b/src/Server.cpp index 15c9521b9..a1dd27c57 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -304,16 +304,17 @@ int cServer::GetNumPlayers(void) const -std::list cServer::GetUsernames() +bool cServer::IsPlayerInQueue(AString a_Username) { - std::list usernames; cCSLock Lock(m_CSClients); for (auto client : m_Clients) { - AString username = (client)->GetUsername(); - usernames.insert(usernames.begin(),username); + if ((client->GetUsername()).compare(a_Username) == 0) + { + return true; + } } - return usernames; + return false; } -- cgit v1.2.3