public bool Execute(JHSNetworkMessage netMsg) { if (queueManager == null) { queueManager = GameServerManager.Instance; } GameServerLogin packet = netMsg.ReadMessage <GameServerLogin>(); if (packet != null) { uint connectionId = netMsg.conn.connectionId; var server = queueManager.GetServerByConnectionId(connectionId); if (server == null) { if (Settings.BINDPASSWORD == packet.PassWord) { if (queueManager.AddServer(connectionId, packet)) { netMsg.conn.Send(GameServerOP.UPDATE_STATE, packet); } } } else { if (server != null) { lock (server) { server.status = packet.gameMatchState; LOG.Info("OnChangeSession ServerId[" + connectionId + "] Status[" + packet.gameMatchState.ToString() + "]"); } } } } return(true); }
public bool Execute(JHSNetworkMessage netMsg) { if (DbManager == null) { DbManager = AccountManager.Instance; } if (queueManager == null) { queueManager = GameServerManager.Instance; } if (dbService == null) { dbService = DbService.Instance; } UpdateMatchResult packet = netMsg.ReadMessage <UpdateMatchResult>(); if (packet != null) { uint connectionId = netMsg.conn.connectionId; var server = queueManager.GetServerByConnectionId(connectionId); if (server != null) { AccountOBJ user = DbManager.GetOnlineByUserId(packet.UserId); if (user == null) { user = dbService.GetAccountFromDB(packet.UserId); } if (user != null) { lock (user) { foreach (DBPlayerActive active in packet.Actives) { ActivesOBJ obj = user.GetActive((int)active.ActiveId); obj.Value = (int)active.Value; DbService.UpdateEntityIntime(obj); } user.Data.Exp += (int)packet.EXP; RankinngOBJ RankData = RankingManager.GetPlayer(user); if (RankData != null) { RankData.GameCount += 1; RankData.Kills += (int)packet.KillCount; if (!packet.HasWon) { RankData.Deaths += 1; } } user.OnGameResultRecieved(); DbService.UpdateEntityIntime(user); } LOG.Info(string.Format("SaveResult :: Server[{0}] userid[{1}]", connectionId, packet.UserId)); } else { LOG.Info(string.Format("SaveResult Error unknown user :: Server[{0}] userid[{1}]", connectionId, packet.UserId)); } netMsg.conn.Send(GameServerOP.PUTROLE, new Empty()); } } return(true); }
public bool Execute(JHSNetworkMessage netMsg) { if (DbManager == null) { DbManager = AccountManager.Instance; } if (queueManager == null) { queueManager = GameServerManager.Instance; } if (dbService == null) { dbService = DbService.Instance; } ReqeuestUser packet = netMsg.ReadMessage <ReqeuestUser>(); if (packet != null) { uint connectionId = netMsg.conn.connectionId; var server = queueManager.GetServerByConnectionId(connectionId); if (server != null || Settings.DEBUG_GET_PLAYER) { AccountOBJ user = DbManager.GetOnlineByUserId(packet.userId); if (Settings.DEBUG_GET_PLAYER && user == null) { user = dbService.GetAccountFromDB(packet.userId); user.SelectedCharacer = user.FirstRole().PlayerId; } if (user != null) { if (user.SelectedCharacer != 0) { DBPlayer role = user.GetRole(user.SelectedCharacer); if (role != null) { if (packet.Type == InfoType.NONE) { netMsg.conn.Send(GameServerOP.GETROLE, new LoginDataBasePlayer() { STATUS = SUCCESS, player = role, REQ = packet.Req }); } else { netMsg.conn.Send(GameServerOP.GET_ROLE2, new UpdateRole() { STATUS = SUCCESS, player = role, TYPE = packet.Type }); } LOG.Info(string.Format("GETRole :: REQ[{3}] id[{0}] userid[{1}] serverid[{2}]", role.Base.PlayerId, role.Base.UserId, connectionId, packet.Req)); return(true); } } } netMsg.conn.Send(GameServerOP.GETROLE, new LoginDataBasePlayer() { STATUS = PLAYER_NOT_FOUND }); } } return(true); }