Files
caliverse_server/GameServer/MessageQueue/PacketHandler/NtfUserKickPacketHandler.cs
2025-05-01 07:20:41 +09:00

38 lines
1.2 KiB
C#

using Google.Protobuf;
using Google.Protobuf.WellKnownTypes;
using ServerCore;
using ServerBase;
using ServerCommon;
using ServerCommon.BusinessLogDomain;
using MetaAssets;
namespace GameServer.PacketHandler;
[PacketHandler("", typeof(ServerMessage.Types.MOS2GS_NTF_USER_KICK), typeof(NtfUserKickPacketHandler), typeof(RabbitMQ4Game))]
public class NtfUserKickPacketHandler : PacketRecvHandler
{
public override async Task<Result> onProcessPacket(ISession session, IMessage recvMessage)
{
var msg = recvMessage as ServerMessage;
ArgumentNullException.ThrowIfNull(msg);
Log.getLogger().info($"NtfUserKickPacketHandler");
var user_guid = msg.NtfUserKick.UserGuid;
var kick_reason_msg = msg.NtfUserKick.KickReasonMsg;
var logout_reason_type = msg.NtfUserKick.LogoutReasonType;
var server_logic = GameServerApp.getServerLogic();
ArgumentNullException.ThrowIfNull(server_logic);
var player_manager = server_logic.getPlayerManager();
ArgumentNullException.ThrowIfNull(player_manager);
await player_manager.kickUserByUserGuid(user_guid, logout_reason_type, kick_reason_msg);
return new();
}
}