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 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(); } }