Add 1st user name to kick log

This commit is contained in:
Benau 2019-01-22 00:22:56 +08:00
parent 2d219f29cc
commit bf05035904
2 changed files with 14 additions and 8 deletions

View File

@ -982,7 +982,7 @@ void ServerLobby::update(int ticks)
{ {
for (unsigned i = 0; i < race_manager->getNumPlayers(); i++) for (unsigned i = 0; i < race_manager->getNumPlayers(); i++)
{ {
const RemoteKartInfo& rki = race_manager->getKartInfo(i); RemoteKartInfo& rki = race_manager->getKartInfo(i);
std::shared_ptr<NetworkPlayerProfile> player = std::shared_ptr<NetworkPlayerProfile> player =
rki.getNetworkPlayerProfile().lock(); rki.getNetworkPlayerProfile().lock();
if (player) if (player)
@ -1003,7 +1003,6 @@ void ServerLobby::update(int ticks)
Log::info("ServerLobby", "%s hasn't live-joined within" Log::info("ServerLobby", "%s hasn't live-joined within"
" 60 seconds, remove it.", " 60 seconds, remove it.",
peer->getAddress().toString().c_str()); peer->getAddress().toString().c_str());
RemoteKartInfo& rki = race_manager->getKartInfo(i);
rki.makeReserved(); rki.makeReserved();
continue; continue;
} }
@ -1012,9 +1011,10 @@ void ServerLobby::update(int ticks)
{ {
if (w && w->getKart(i)->hasFinishedRace()) if (w && w->getKart(i)->hasFinishedRace())
continue; continue;
Log::info("ServerLobby", "%s has been idle for more than" Log::info("ServerLobby", "%s %s has been idle for more than"
" %d seconds, kick.", " %d seconds, kick.",
peer->getAddress().toString().c_str(), sec); peer->getAddress().toString().c_str(),
StringUtils::wideToUtf8(rki.getPlayerName()).c_str(), sec);
peer->kick(); peer->kick();
} }
} }

View File

@ -774,13 +774,19 @@ void STKHost::mainLoop()
if (p.second->isValidated() && if (p.second->isValidated() &&
p.second->getConnectedTime() > 5.0f && ap > max_ping) p.second->getConnectedTime() > 5.0f && ap > max_ping)
{ {
std::string player_name;
if (!p.second->getPlayerProfiles().empty())
{
player_name = StringUtils::wideToUtf8
(p.second->getPlayerProfiles()[0]->getName());
}
if (ServerConfig::m_kick_high_ping_players && if (ServerConfig::m_kick_high_ping_players &&
!p.second->isDisconnected()) !p.second->isDisconnected())
{ {
Log::info("STKHost", "%s with ping %d is higher" Log::info("STKHost", "%s %s with ping %d is higher"
" than %d ms, kick.", " than %d ms, kick.",
p.second->getAddress().toString().c_str(), p.second->getAddress().toString().c_str(),
ap, max_ping); player_name.c_str(), ap, max_ping);
p.second->setWarnedForHighPing(true); p.second->setWarnedForHighPing(true);
p.second->setDisconnected(true); p.second->setDisconnected(true);
std::lock_guard<std::mutex> lock(m_enet_cmd_mutex); std::lock_guard<std::mutex> lock(m_enet_cmd_mutex);
@ -790,10 +796,10 @@ void STKHost::mainLoop()
} }
else if (!p.second->hasWarnedForHighPing()) else if (!p.second->hasWarnedForHighPing())
{ {
Log::info("STKHost", "%s with ping %d is higher" Log::info("STKHost", "%s %s with ping %d is higher"
" than %d ms.", " than %d ms.",
p.second->getAddress().toString().c_str(), p.second->getAddress().toString().c_str(),
ap, max_ping); player_name.c_str(), ap, max_ping);
p.second->setWarnedForHighPing(true); p.second->setWarnedForHighPing(true);
NetworkString msg(PROTOCOL_LOBBY_ROOM); NetworkString msg(PROTOCOL_LOBBY_ROOM);
msg.setSynchronous(true); msg.setSynchronous(true);