public SetLevelCommandPacketHandler(IChannelHttpClient channelHttpClient, IStatHttpClient statHttpClient,
                                     IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _channelHttpClient          = channelHttpClient;
     _statHttpClient             = statHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
 }
Beispiel #2
0
 public BlacklistController(IConnectedAccountHttpClient connectedAccountHttpClient,
                            IGenericDao <CharacterRelationDto> characterRelationDao, IGenericDao <CharacterDto> characterDao)
 {
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _characterRelationDao       = characterRelationDao;
     _characterDao = characterDao;
 }
Beispiel #3
0
 public BlacklistController(IConnectedAccountHttpClient connectedAccountHttpClient,
                            IDao <CharacterRelationDto, Guid> characterRelationDao, IDao <CharacterDto, long> characterDao)
 {
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _characterRelationDao       = characterRelationDao;
     _characterDao = characterDao;
 }
Beispiel #4
0
 public FinsPacketHandler(IFriendHttpClient friendHttpClient, IChannelHttpClient channelHttpClient,
                          IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _friendHttpClient           = friendHttpClient;
     _channelHttpClient          = channelHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
 }
Beispiel #5
0
 public BtkPacketHandler(ILogger logger, ISerializer packetSerializer, IFriendHttpClient friendHttpClient,
                         IPacketHttpClient packetHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _logger                     = logger;
     _packetSerializer           = packetSerializer;
     _friendHttpClient           = friendHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _packetHttpClient           = packetHttpClient;
 }
Beispiel #6
0
 public FriendController(ILogger logger, IDao <CharacterRelationDto, Guid> characterRelationDao,
                         IDao <CharacterDto, long> characterDao, FriendRequestHolder friendRequestHolder,
                         IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _logger = logger;
     _characterRelationDao       = characterRelationDao;
     _characterDao               = characterDao;
     _friendRequestHolder        = friendRequestHolder;
     _connectedAccountHttpClient = connectedAccountHttpClient;
 }
Beispiel #7
0
 public LoginService(LoginConfiguration loginConfiguration, IDao <AccountDto, long> accountDao,
                     IAuthHttpClient authHttpClient,
                     IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _loginConfiguration         = loginConfiguration;
     _accountDao                 = accountDao;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
 public WhisperPacketHandler(ILogger logger, ISerializer packetSerializer,
                             IBlacklistHttpClient blacklistHttpClient,
                             IConnectedAccountHttpClient connectedAccountHttpClient, IPacketHttpClient packetHttpClient)
 {
     _logger                     = logger;
     _packetSerializer           = packetSerializer;
     _blacklistHttpClient        = blacklistHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _packetHttpClient           = packetHttpClient;
 }
Beispiel #9
0
 public DacPacketHandler(IDao <AccountDto, long> accountDao,
                         ILogger logger, IAuthHttpClient authHttpClient,
                         IConnectedAccountHttpClient connectedAccountHttpClient,
                         IChannelHttpClient channelHttpClient)
 {
     _accountDao                 = accountDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
Beispiel #10
0
 public LoginService(IOptions <LoginConfiguration> loginConfiguration, IDao <AccountDto, long> accountDao,
                     IAuthHttpClient authHttpClient,
                     IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient,
                     IDao <CharacterDto, long> characterDao)
 {
     _loginConfiguration         = loginConfiguration;
     _accountDao                 = accountDao;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
     _characterDao               = characterDao;
 }
 public EntryPointPacketHandler(IDao <CharacterDto, long> characterDao,
                                IDao <AccountDto, long> accountDao,
                                IDao <MateDto, long> mateDao, ILogger logger, IAuthHttpClient authHttpClient,
                                IConnectedAccountHttpClient connectedAccountHttpClient,
                                IChannelHttpClient channelHttpClient, IHasher hasher)
 {
     _characterDao               = characterDao;
     _accountDao                 = accountDao;
     _mateDao                    = mateDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
Beispiel #12
0
 public EntryPointPacketHandler(IGenericDao <CharacterDto> characterDao,
                                IGenericDao <AccountDto> accountDao,
                                IGenericDao <MateDto> mateDao, ILogger logger, IAuthHttpClient authHttpClient,
                                IConnectedAccountHttpClient connectedAccountHttpClient,
                                IChannelHttpClient channelHttpClient)
 {
     _characterDao               = characterDao;
     _accountDao                 = accountDao;
     _mateDao                    = mateDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
 }
 public GameStartPacketHandler(WorldConfiguration worldConfiguration, IFriendHttpClient friendHttpClient,
                               IChannelHttpClient channelHttpClient,
                               IConnectedAccountHttpClient connectedAccountHttpClient, IBlacklistHttpClient blacklistHttpClient,
                               IPacketHttpClient packetHttpClient,
                               ISerializer packetSerializer, IMailHttpClient mailHttpClient)
 {
     _worldConfiguration         = worldConfiguration;
     _packetSerializer           = packetSerializer;
     _blacklistHttpClient        = blacklistHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
     _friendHttpClient           = friendHttpClient;
     _packetHttpClient           = packetHttpClient;
     _mailHttpClient             = mailHttpClient;
 }
Beispiel #14
0
 public MailController(IDao <MailDto, long> mailDao, IDao <IItemInstanceDto?, Guid> itemInstanceDao,
                       IConnectedAccountHttpClient connectedAccountHttpClient,
                       List <ItemDto> items, IItemProvider itemProvider, IIncommingMailHttpClient incommingMailHttpClient,
                       ParcelHolder parcelHolder,
                       IDao <CharacterDto, long> characterDto)
 {
     _mailDao                    = mailDao;
     _itemInstanceDao            = itemInstanceDao;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _items                   = items;
     _itemProvider            = itemProvider;
     _incommingMailHttpClient = incommingMailHttpClient;
     _parcelHolder            = parcelHolder;
     _characterDto            = characterDto;
 }
 public EntryPointPacketHandler(IDao <CharacterDto, long> characterDao,
                                IDao <AccountDto, long> accountDao,
                                IDao <MateDto, long> mateDao, ILogger logger, IAuthHttpClient authHttpClient,
                                IConnectedAccountHttpClient connectedAccountHttpClient,
                                IChannelHttpClient channelHttpClient, IOptions <WorldConfiguration> configuration)
 {
     _characterDao               = characterDao;
     _accountDao                 = accountDao;
     _mateDao                    = mateDao;
     _logger                     = logger;
     _authHttpClient             = authHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
     _configuration              = configuration;
 }
 public GameStartPacketHandler(IOptions <WorldConfiguration> worldConfiguration, IFriendHttpClient friendHttpClient,
                               IChannelHttpClient channelHttpClient,
                               IConnectedAccountHttpClient connectedAccountHttpClient, IBlacklistHttpClient blacklistHttpClient,
                               IPacketHttpClient packetHttpClient,
                               ISerializer packetSerializer, IMailHttpClient mailHttpClient, IQuestService questProvider)
 {
     _worldConfiguration         = worldConfiguration;
     _packetSerializer           = packetSerializer;
     _blacklistHttpClient        = blacklistHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _channelHttpClient          = channelHttpClient;
     _friendHttpClient           = friendHttpClient;
     _packetHttpClient           = packetHttpClient;
     _mailHttpClient             = mailHttpClient;
     _questProvider = questProvider;
 }
Beispiel #17
0
 public GiftPacketHandler(IConnectedAccountHttpClient connectedAccountHttpClient, IMailHttpClient mailHttpClient)
 {
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _mailHttpClient             = mailHttpClient;
 }
Beispiel #18
0
 public ChangeClassPacketHandler(IStatHttpClient statHttpClient,
                                 IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _statHttpClient             = statHttpClient;
     _connectedAccountHttpClient = connectedAccountHttpClient;
 }
        public static async Task VerifyConnectionAsync(ClientSession clientSession, ILogger _logger, IAuthHttpClient authHttpClient,
                                                       IConnectedAccountHttpClient connectedAccountHttpClient, IDao <AccountDto, long> accountDao, IChannelHttpClient channelHttpClient, bool passwordLessConnection, string accountName, string password, int sessionId)
        {
            var alreadyConnnected = false;
            var servers           = await channelHttpClient.GetChannelsAsync().ConfigureAwait(false) ?? new List <ChannelInfo>();

            foreach (var channel in servers.Where(c => c.Type == ServerType.WorldServer))
            {
                var accounts = await connectedAccountHttpClient.GetConnectedAccountAsync(channel).ConfigureAwait(false);

                var target = accounts.FirstOrDefault(s => s.Name == accountName);

                if (target == null)
                {
                    continue;
                }

                alreadyConnnected = true;
                break;
            }

            if (alreadyConnnected)
            {
                _logger.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.ALREADY_CONNECTED), new
                {
                    accountName
                });
                await clientSession.DisconnectAsync().ConfigureAwait(false);

                return;
            }

            var account = await accountDao.FirstOrDefaultAsync(s => s.Name == accountName).ConfigureAwait(false);

            if (account == null)
            {
                _logger.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.INVALID_ACCOUNT), new
                {
                    accountName
                });
                await clientSession.DisconnectAsync().ConfigureAwait(false);

                return;
            }

            var awaitingConnection =
                (passwordLessConnection
                    ? await authHttpClient
                 .GetAwaitingConnectionAsync(accountName, password, sessionId)
                 .ConfigureAwait(false) != null
                    : account.Password?.Equals(new Sha512Hasher().Hash(password), StringComparison.OrdinalIgnoreCase) ==
                 true);

            if (!awaitingConnection)
            {
                _logger.Error(LogLanguage.Instance.GetMessageFromKey(LogLanguageKey.INVALID_PASSWORD), new
                {
                    accountName
                });
                await clientSession.DisconnectAsync().ConfigureAwait(false);

                return;
            }

            var sessionMapping = SessionFactory.Instance.Sessions
                                 .FirstOrDefault(s => s.Value.SessionId == clientSession.SessionId);

            if (!sessionMapping.Equals(default(KeyValuePair <string, RegionTypeMapping>)))
            {
                sessionMapping.Value.RegionType = account.Language;
            }
            clientSession.InitializeAccount(account);
            //todo Send Account Connected
        }
Beispiel #20
0
 public KickPacketHandler(IConnectedAccountHttpClient connectedAccountHttpClient)
 {
     _connectedAccountHttpClient = connectedAccountHttpClient;
 }
 public SetGoldCommandPacketHandler(IConnectedAccountHttpClient connectedAccountHttpClient,
                                    IStatHttpClient statHttpClient)
 {
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _statHttpClient             = statHttpClient;
 }
        public static async Task <FinitPacket> GenerateFinitAsync(this ICharacterEntity visualEntity, IFriendHttpClient friendHttpClient,
                                                                  IChannelHttpClient channelHttpClient, IConnectedAccountHttpClient connectedAccountHttpClient)
        {
            //same canal
            var servers = (await channelHttpClient.GetChannelsAsync().ConfigureAwait(false))
                          ?.Where(c => c.Type == ServerType.WorldServer).ToList();
            var accounts = new List <ConnectedAccount>();

            foreach (var server in servers ?? new List <ChannelInfo>())
            {
                accounts.AddRange(
                    await connectedAccountHttpClient.GetConnectedAccountAsync(server).ConfigureAwait(false));
            }

            var subpackets = new List <FinitSubPacket?>();
            var friendlist = await friendHttpClient.GetListFriendsAsync(visualEntity.VisualId).ConfigureAwait(false);

            //TODO add spouselist
            //var spouseList = _webApiAccess.Get<List<CharacterRelationDto>>(WebApiRoute.Spouse, friendServer.WebApi, visualEntity.VisualId) ?? new List<CharacterRelationDto>();
            foreach (var relation in friendlist)
            {
                var account = accounts.Find(s =>
                                            (s.ConnectedCharacter != null) && (s.ConnectedCharacter.Id == relation.CharacterId));
                subpackets.Add(new FinitSubPacket
                {
                    CharacterId   = relation.CharacterId,
                    RelationType  = relation.RelationType,
                    IsOnline      = account != null,
                    CharacterName = relation.CharacterName
                });
            }

            return(new FinitPacket {
                SubPackets = subpackets
            });
        }
 public SetReputationPacketHandler(IConnectedAccountHttpClient connectedAccountHttpClient,
                                   IStatHttpClient statHttpClient)
 {
     _connectedAccountHttpClient = connectedAccountHttpClient;
     _statHttpClient             = statHttpClient;
 }