38 lines
1.2 KiB
C#
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();
|
|
}
|
|
} |