diff --git a/src/Common.cpp b/src/Common.cpp index 7bfae72..5216c81 100644 --- a/src/Common.cpp +++ b/src/Common.cpp @@ -142,6 +142,7 @@ std::string Version::AsString() { void LogChatMessage(const std::string& name, int id, const std::string& msg) { std::stringstream ss; + ss << ThreadName(); ss << "[CHAT] "; if (id != -1) { ss << "(" << id << ") <" << name << ">"; @@ -149,6 +150,7 @@ void LogChatMessage(const std::string& name, int id, const std::string& msg) { ss << name << ""; } ss << msg; + Application::Console().Write(ss.str()); } std::string GetPlatformAgnosticErrorString() { diff --git a/src/LuaAPI.cpp b/src/LuaAPI.cpp index fba9264..d420d9a 100644 --- a/src/LuaAPI.cpp +++ b/src/LuaAPI.cpp @@ -118,15 +118,11 @@ bool LuaAPI::MP::TriggerClientEvent(int PlayerID, const std::string& EventName, void LuaAPI::MP::DropPlayer(int ID, std::optional MaybeReason) { auto MaybeClient = GetClient(Engine->Server(), ID); if (!MaybeClient || MaybeClient.value().expired()) { + beammp_lua_error("Tried to drop client with id " + std::to_string(ID) + ", who doesn't exist"); return; } auto c = MaybeClient.value().lock(); - if (!Engine->Network().Respond(*c, "C:Server:You have been Kicked from the server! Reason: " + MaybeReason.value_or("No reason"), true)) { - // Ignore - } - c->SetStatus(-2); - beammp_info("Closing socket due to kick"); - CloseSocketProper(c->GetTCPSock()); + LuaAPI::MP::Engine->Network().ClientKick(*c, MaybeReason.value_or("No reason")); } void LuaAPI::MP::SendChatMessage(int ID, const std::string& Message) { diff --git a/src/TConsole.cpp b/src/TConsole.cpp index 6efebd9..bc6e285 100644 --- a/src/TConsole.cpp +++ b/src/TConsole.cpp @@ -107,7 +107,6 @@ TConsole::TConsole() { void TConsole::Write(const std::string& str) { auto ToWrite = GetDate() + str; mCommandline.write(ToWrite); - // TODO write to logfile, too } void TConsole::WriteRaw(const std::string& str) { diff --git a/src/TNetwork.cpp b/src/TNetwork.cpp index 53b1087..326f735 100644 --- a/src/TNetwork.cpp +++ b/src/TNetwork.cpp @@ -458,6 +458,7 @@ void TNetwork::ClientKick(TClient& c, const std::string& R) { if (c.GetDownSock()) CloseSocketProper(c.GetDownSock()); } + void TNetwork::Looper(const std::weak_ptr& c) { while (!c.expired()) { auto Client = c.lock();