Fixed bug when kicking during game.
This commit is contained in:
@@ -168,7 +168,14 @@ AbstractServerGameStateReceiving::Process(ServerGameThread &server)
|
|||||||
}
|
}
|
||||||
else if (packet->ToNetPacketKickPlayer())
|
else if (packet->ToNetPacketKickPlayer())
|
||||||
{
|
{
|
||||||
server.MoveSessionToLobby(session, NTF_NET_REMOVED_KICKED);
|
// Only admins are allowed to kick.
|
||||||
|
if (session.playerData->GetRights() == PLAYER_RIGHTS_ADMIN)
|
||||||
|
{
|
||||||
|
NetPacketKickPlayer::Data kickPlayerData;
|
||||||
|
packet->ToNetPacketKickPlayer()->GetData(kickPlayerData);
|
||||||
|
|
||||||
|
server.InternalKickPlayer(kickPlayerData.playerId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Chat text is always allowed.
|
// Chat text is always allowed.
|
||||||
else if (packet->ToNetPacketSendChatText())
|
else if (packet->ToNetPacketSendChatText())
|
||||||
@@ -330,17 +337,6 @@ ServerGameStateInit::InternalProcess(ServerGameThread &server, SessionWrapper se
|
|||||||
server.SetState(ServerGameStateWaitAck::Instance());
|
server.SetState(ServerGameStateWaitAck::Instance());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (packet->ToNetPacketKickPlayer())
|
|
||||||
{
|
|
||||||
// Only admins are allowed to kick.
|
|
||||||
if (session.playerData->GetRights() == PLAYER_RIGHTS_ADMIN)
|
|
||||||
{
|
|
||||||
NetPacketKickPlayer::Data kickPlayerData;
|
|
||||||
packet->ToNetPacketKickPlayer()->GetData(kickPlayerData);
|
|
||||||
|
|
||||||
server.InternalKickPlayer(kickPlayerData.playerId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
server.SessionError(session, ERR_SOCK_INVALID_PACKET);
|
server.SessionError(session, ERR_SOCK_INVALID_PACKET);
|
||||||
|
|||||||
Reference in New Issue
Block a user