초기커밋
This commit is contained in:
361
GameServer/z.Backup/AuthHandler.cs
Normal file
361
GameServer/z.Backup/AuthHandler.cs
Normal file
@@ -0,0 +1,361 @@
|
||||
using GameServer.Quest;
|
||||
using Nettention.Proud;
|
||||
using ServerCommon;
|
||||
using ServerCore; using ServerBase;
|
||||
using static ClientToGameMessage.Types;
|
||||
using static ClientToGameReq.Types;
|
||||
|
||||
|
||||
|
||||
|
||||
namespace GameServer
|
||||
{
|
||||
internal class AuthHandler
|
||||
{
|
||||
public AuthHandler()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// static public async Task ProcessRequestPacket(HostID remote, RmiContext rmictx, ClientToGameReq request)
|
||||
// {
|
||||
// // Log.getLogger().info($"[{Thread.CurrentThread.ManagedThreadId}] recved. {request.MsgCase}");
|
||||
// #if SEQUENCE
|
||||
// ServerLog.Sequence("GameClient", "GameServer", request.MsgCase.ToString());
|
||||
// #endif
|
||||
// using (var clientInfo = GameServer.Instance._srv.GetClientInfo(remote))
|
||||
// {
|
||||
// ClientSession? session = ClientSessionManager.Instance.GetSession(remote);
|
||||
// if (session == null)
|
||||
// {
|
||||
// GameServer.Instance._srv.CloseConnection(remote);
|
||||
// Log.getLogger().error($"Not found Session : {clientInfo.tcpAddrFromServer.IPToString()}");
|
||||
// return;
|
||||
// }
|
||||
// await session._serializer.post(async () =>
|
||||
// {
|
||||
// if (session.IsClosedProcessed)
|
||||
// {
|
||||
// Log.getLogger().error($"{session.Id} Session is Closed : {remote}");
|
||||
// return;
|
||||
// }
|
||||
// /* 패킷별로 시간을 나누어야 될듯
|
||||
// DateTime curTime = DateTime.Now;
|
||||
// TimeSpan diff = curTime - session.lastPacketReceivTime;
|
||||
// if (diff <= TimeSpan.FromMilliseconds(50))
|
||||
// {
|
||||
// Log.getLogger().warn($"{session.Id} ClientIP:{clientInfo.tcpAddrFromServer.IPToString()}, {request}");
|
||||
// }
|
||||
//
|
||||
// session.lastPacketReceivTime = curTime;
|
||||
// */
|
||||
// switch (request.MsgCase)
|
||||
// {
|
||||
// case ClientToGameReq.MsgOneofCase.LoginReq:
|
||||
// await HandleLoginReq(session, rmictx, request.LoginReq);
|
||||
// break;
|
||||
// case ClientToGameReq.MsgOneofCase.LogoutReq:
|
||||
// await HandleLogoutReq(session, request.LogoutReq);
|
||||
// break;
|
||||
// default:
|
||||
// await session.ProcessRequestPacket(request);
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// });
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
||||
// static async Task HandleLoginReq(ClientSession session, RmiContext rmiCtx, LoginReq loginReq)
|
||||
// {
|
||||
// ClientToGame clientToGame = new();
|
||||
// clientToGame.Response = new();
|
||||
// clientToGame.Response.LoginRes = new();
|
||||
// try
|
||||
// {
|
||||
// Log.getLogger().debug($"{loginReq.Name} loginReq {loginReq} {rmiCtx.encryptMode}");
|
||||
// // TODO: rmiCtx.encryptMode
|
||||
// if ( rmiCtx.encryptMode != EncryptMode.EM_Fast)
|
||||
// {
|
||||
// //Log.getLogger().error($"{loginReq.Name} loginReq {loginReq} {rmiCtx.encryptMode}");
|
||||
// // session.Close();;
|
||||
// }
|
||||
//
|
||||
// var block_enable = GameServer.Instance.getUserLoginBlockEnable();
|
||||
// if(true == block_enable.Value)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.AccountLoginBlockEnable;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().debug($"User login Block !!! : {loginReq.Name}");
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (AccountAuthorityManager.Instance.IsWhiteListUser(loginReq.Name) == false)
|
||||
// {
|
||||
// //점검중
|
||||
// if (AccountAuthorityManager.Instance.isInspection == true ||
|
||||
// AccountAuthorityManager.Instance.isReadyForDistroy == true)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.Inspection;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().debug($"Now Inspection : {loginReq.Name}");
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (AccountAuthorityManager.Instance.IsBlackListUser(loginReq.Name) == true)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.BlackList;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().debug($"BlackList User :{loginReq.Name}");
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// var loginInfo = await GameServerApp.Instance.LoginStorage.GetLoginInfo(loginReq.Name);
|
||||
//
|
||||
// if (loginInfo == null || loginInfo.Moving == null)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error($"Not found LoginInfo User:{loginReq.Name}");
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// string departureServer = loginInfo.CurrentServer;
|
||||
//
|
||||
// if (loginReq.Otp != loginInfo.Moving.OneTimeKey)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.InvalidToken;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error($"{loginReq.Name} Not correct Token {loginReq.Otp} != {loginInfo.Moving.OneTimeKey}");
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (await GameServerApp.Instance.LoginStorage.EndMoving(loginReq.Name, DateTime.Now) == false)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error($"EndMoving fail !!! {loginReq.Name}");
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (loginInfo.Moving.DestServer != GameServer.Instance.ServerName)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error($"Not correct Server:{loginInfo.Moving.DestServer} cur:{GameServer.Instance.ServerName} LoginInfo User:{loginReq.Name}");
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// session.Id = loginInfo.Name;
|
||||
// session.AccountGuid = loginInfo.Guid;
|
||||
// session.Email = loginInfo.Email;
|
||||
// session.PartyGuid = loginInfo.PartyGuid;
|
||||
//
|
||||
// if (await session.AutoSelectChar(loginInfo) == false)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error("Select Character fail !!!", session.ToString());
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if( session._selectedChar == null
|
||||
// || session._selectedChar._charEntity == null
|
||||
// || session._selectedChar._charEntity.CharInfo == null)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error("Select Character fail !!!", session.ToString());
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (session._selectedChar._charEntity.CharInfo.Operator != 1
|
||||
// && ClientSessionManager.Instance.Count > (int)(ServerCommon.Constant.g_MaxUser))
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.ServerFull;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().debug($"Server Full ", session.ToString());
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if(session.GameGuardInitialize() == false)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.GameGuardUserInitFailed;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().debug($"GameGuard Init Failed.", session.ToString());
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// if (false == ClientSessionManager.Instance.NewSession(session))
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// // 각종 정보 로드
|
||||
// if (!await session.LoadDB())
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.DbError;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// await session.Close();
|
||||
// Log.getLogger().error("LoadDB Fail !!!", session.ToString());
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// bool IsPartyDestroy = false; // 서버 이동 중 파티가 해체되었는지 확인
|
||||
// if (session.PartyGuid != string.Empty)
|
||||
// {
|
||||
// var error_code = await PartyManager.Instance.joinParty(session.PartyGuid, session);
|
||||
// if (error_code.isFail())
|
||||
// {
|
||||
// IsPartyDestroy = true;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// InstanceRoom? joinedRoom = null;
|
||||
// if (GameServerApp.Instance.Config.GameServerType == EGameServerType.Channel)
|
||||
// {
|
||||
// if(GameServer.Instance.Map == null)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.ServerLogicError;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error("GameServer.Instance.Map == null", session.ToString());
|
||||
// await session.Close();
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 인스턴스 룸 입장
|
||||
// joinedRoom = await InstanceRoomManager.Instance.JoinRoom(session, session._selectedChar.LastPositionInfo.EnterInstanceInfo.InstanceRoomId, session._selectedChar.LastPositionInfo.EnterInstanceInfo.InstanceId);
|
||||
// if (joinedRoom == null)
|
||||
// {
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// Log.getLogger().error($"JoinRoom fail {loginReq.Name}", session.ToString());
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// //여기서 Session 업데이트
|
||||
// await GameServer.Instance.sessionUpdate();
|
||||
//
|
||||
// clientToGame.Response.LoginRes.ServerUtcTime = Google.Protobuf.WellKnownTypes.Timestamp.FromDateTime(DateTime.UtcNow);
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.Success;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// // 각종 정보 클라로 전송
|
||||
// session.SendInfo();
|
||||
//
|
||||
// bool isFromLogin = departureServer.Contains(EServerType.Login.ToString());
|
||||
//
|
||||
// if (GameServerApp.Instance.Config.GameServerType == EGameServerType.Channel)
|
||||
// {
|
||||
// if(GameServer.Instance.Map != null)
|
||||
// {
|
||||
// session._selectedChar.EnterWorld(GameServer.Instance.Map, isFromLogin);
|
||||
// }
|
||||
//
|
||||
// session._selectedChar.SendPos();
|
||||
//
|
||||
// //이전 서버가 게임서버이면 채널간 이동으로 본다.
|
||||
// if (departureServer.Contains(EServerType.Game.ToString()))
|
||||
// {
|
||||
|
||||
// }
|
||||
//
|
||||
// await GameServerApp.Instance.LoginStorage.ChangeInstanceRoomId(session.Id, string.Empty);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 인스턴스 룸 입장 패킷 전송
|
||||
// if (joinedRoom != null)
|
||||
// {
|
||||
// await joinedRoom.SendJoinSuccess(session);
|
||||
//
|
||||
// await GameServerApp.Instance.LoginStorage.ChangeInstanceRoomId(session.Id, session.InstanceRoomId);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (isFromLogin)
|
||||
// {
|
||||
// session.SendInfoFromLogin();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// }
|
||||
//
|
||||
// if (session.PartyGuid != string.Empty)
|
||||
// {
|
||||
// if (IsPartyDestroy)
|
||||
// {
|
||||
// ClientToGame clientToGameNoti = new();
|
||||
// clientToGameNoti.Message = new();
|
||||
// clientToGameNoti.Message.DestroyPartyNoti = new();
|
||||
//
|
||||
// session.Send(RmiContext.ReliableSend, clientToGameNoti);
|
||||
//
|
||||
// session.PartyGuid = string.Empty;
|
||||
// await GameServerApp.Instance.LoginStorage.ChangePartyGuid(session.Id, string.Empty);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 서버 이동 중 파티원 위치 정보 및 본인 위치 정보 업데이트
|
||||
// if (PartyManager.Instance.getMemberInfo(session.PartyGuid, session.getUserNickname(), out var memberInfo))
|
||||
// {
|
||||
// if (session._selectedChar.getLocationInfo(out var locationInfo))
|
||||
// {
|
||||
// memberInfo.LocationInfo = locationInfo;
|
||||
//
|
||||
// await PartyManager.Instance.UpdatePartyMemberInfo(session.PartyGuid, session.getUserNickname());
|
||||
// PartyManager.Instance.sendPartyMemberLocationNoti(session.PartyGuid, session.getUserNickname(), session._selectedChar.Guid);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// PartyManager.Instance.sendAllPartyMemberLocationNoti(session.PartyGuid, session);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// session._selectedChar.ownedQuestList.checkQuestTimer(session._selectedChar);
|
||||
// await session.ownedFriendList.checkInviteNoti(session._selectedChar);
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// Log.getLogger().error($"{ex} account:{loginReq.Name}");
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.LoginFail;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
// await session.Close();
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// static async Task HandleLogoutReq(ClientSession session, LogoutReq logoutReq)
|
||||
// {
|
||||
// Log.getLogger().debug($"logoutReq", session.ToString());
|
||||
//
|
||||
// ClientToGame clientToGame = new();
|
||||
// clientToGame.Response = new();
|
||||
// clientToGame.Response.LogoutRes = new();
|
||||
// clientToGame.Response.ErrorCode = ServerErrorCode.Success;
|
||||
// session.Send(RmiContext.ReliableSend, clientToGame);
|
||||
//
|
||||
// string sessionStr = session.ToString();
|
||||
//
|
||||
// await session.Close();
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user