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

View File

@ -774,13 +774,19 @@ void STKHost::mainLoop()
if (p.second->isValidated() &&
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 &&
!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.",
p.second->getAddress().toString().c_str(),
ap, max_ping);
player_name.c_str(), ap, max_ping);
p.second->setWarnedForHighPing(true);
p.second->setDisconnected(true);
std::lock_guard<std::mutex> lock(m_enet_cmd_mutex);
@ -790,10 +796,10 @@ void STKHost::mainLoop()
}
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.",
p.second->getAddress().toString().c_str(),
ap, max_ping);
player_name.c_str(), ap, max_ping);
p.second->setWarnedForHighPing(true);
NetworkString msg(PROTOCOL_LOBBY_ROOM);
msg.setSynchronous(true);