From a9969e500b088f27fd033383d8af71f2ec8275d0 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Fri, 5 Jul 2019 21:22:35 -0500 Subject: [PATCH] ls tweaks --- common/string_util.cpp | 1 - loginserver/client.cpp | 22 ++++++++++++++++------ loginserver/database.cpp | 4 ++-- loginserver/world_server.cpp | 2 +- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/common/string_util.cpp b/common/string_util.cpp index 953fcada5..7a2a5b445 100644 --- a/common/string_util.cpp +++ b/common/string_util.cpp @@ -249,7 +249,6 @@ void ParseAccountString(const std::string &s, std::string &account, std::string account = split[1]; } else if(split.size() == 1) { - loginserver = "eqemu"; account = split[0]; } } diff --git a/loginserver/client.cpp b/loginserver/client.cpp index c9a762da4..df43a8693 100644 --- a/loginserver/client.cpp +++ b/loginserver/client.cpp @@ -198,9 +198,14 @@ void Client::Handle_Login(const char *data, unsigned int size) char *login_packet_buffer = nullptr; - unsigned int db_account_id = 0; - std::string db_loginserver = "eqemu"; - std::string db_account_password_hash; + unsigned int db_account_id = 0; + + std::string db_loginserver = "local"; + if (server.options.CanAutoLinkAccounts()) { + db_loginserver = "eqemu"; + } + + std::string db_account_password_hash; std::string outbuffer; outbuffer.resize(size - 12); @@ -310,7 +315,12 @@ void Client::Handle_Play(const char *data) auto sequence_in = (unsigned int) play->Sequence; if (server.options.IsTraceOn()) { - LogInfo("Play received from client, server number {0} sequence {1}", server_id_in, sequence_in); + LogInfo( + "Play received from client [{0}] server number {1} sequence {2}", + GetAccountName(), + server_id_in, + sequence_in + ); } this->play_server_id = (unsigned int) play->ServerNumber; @@ -373,9 +383,9 @@ void Client::AttemptLoginAccountCreation( const std::string &loginserver ) { - if (loginserver == "eqemu") { + LogInfo("Attempting login account creation via '{0}'", loginserver); - LogInfo("Attempting login account creation via '{0}'", loginserver); + if (loginserver == "eqemu") { if (!server.options.CanAutoLinkAccounts()) { LogInfo("CanAutoLinkAccounts disabled - sending failed login"); diff --git a/loginserver/database.cpp b/loginserver/database.cpp index 2bc6d9387..19f69e5cb 100644 --- a/loginserver/database.cpp +++ b/loginserver/database.cpp @@ -192,7 +192,7 @@ bool Database::GetLoginTokenDataFromToken( unsigned int Database::GetFreeID(const std::string &loginserver) { auto query = fmt::format( - "SELECT MAX(LoginServerID) + 1 FROM {0} WHERE AccountLoginServer='{1}'", + "SELECT IFNULL(MAX(LoginServerID), 0) + 1 FROM {0} WHERE AccountLoginServer='{1}'", server.options.GetAccountTable(), EscapeString(loginserver) ); @@ -204,7 +204,7 @@ unsigned int Database::GetFreeID(const std::string &loginserver) auto row = results.begin(); - return atol(row[0]); + return std::stoi(row[0]); } /** diff --git a/loginserver/world_server.cpp b/loginserver/world_server.cpp index 77be8513b..23308c93b 100644 --- a/loginserver/world_server.cpp +++ b/loginserver/world_server.cpp @@ -798,7 +798,7 @@ void WorldServer::SendClientAuth( LogInfo( "Sending Client Authentication Response ls_account_id [{0}] ls_name [{1}] name [{2}] key [{3}] ls_admin [{4}] " - " world_admin [{5}] ip [{6}] local [{7}]", + "world_admin [{5}] ip [{6}] local [{7}]", client_auth.lsaccount_id, client_auth.lsname, client_auth.name,