예제 #1
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            SummonerClient summonerSender = sender as SummonerClient;

            int[] points = new int[4] {
                9, 9, 9, 9
            };

            var obj = new Dictionary <string, int[]>
            {
                {
                    "totals",
                    new int[4] {
                        4, 4, 4, 4
                    }
                }
            };

            var res = new LcdsResponseString
            {
                Value = JsonConvert.SerializeObject(obj)
            };

            e.ReturnRequired = true;
            e.Data           = res;

            return(e);
        }
예제 #2
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            e.ReturnRequired = true;
            e.Data           = "https://store.euw1.lol.riotgames.com/?account_id=207410902&original_account_id=207410902&original_platform_id=EUW1&token=ff91c765-ddc0-450c-816b-d48a27881dac";

            return(e);
        }
예제 #3
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            SummonerClient           summonerSender        = sender as SummonerClient;
            SummonerIconInventoryDTO SummonerIconInventory = new SummonerIconInventoryDTO
            {
                SummonerId    = int.MaxValue - 1,
                DateString    = "Wed Apr 23 00:33:57 PDT 2014",
                SummonerIcons = new ArrayCollection()
            };

            foreach (var iconData in DatabaseManager.ProfileIcons)
            {
                var iconDto = new SummonerIcon
                {
                    Icon         = new object(),
                    SummonerId   = summonerSender._sumLvl,
                    IconId       = iconData,
                    PurchaseDate = "/Date(1383172733000)/"
                };
                SummonerIconInventory.SummonerIcons.Add(iconDto);
            }

            e.ReturnRequired = true;
            e.Data           = SummonerIconInventory;

            return(e);
        }
예제 #4
0
        void OnAckMessageReceived(object sender, RemotingMessageReceivedEventArgs args)
        {
            RemoteProcedureCallResponseEventArgs rpc = new RemoteProcedureCallResponseEventArgs(args.Destination, args.Operation, (dynamic)args.Message.Body, args.Result.Body);

            _extensionManager.FireAcknowledgeMessageReceivedEvent(rpc);
            args.Result.Body = rpc.ResponseBody;
        }
예제 #5
0
파일: PoroServer.cs 프로젝트: Kaotic/Poro
        void ClientMessageReceived(object sender, RemotingMessageReceivedEventArgs e)
        {
            bool wasForwarded = false;

            //Forward message to connected server
            RemotingMessageReceivedEventArgs tempRecv = null;

            if (_forwarder.Forwarding)
            {
                var handleTask = _forwarder.Handle(sender, e);
                Task.WaitAll(handleTask);
                tempRecv     = handleTask.Result;
                wasForwarded = true;
            }

            //Handle locally if it wasn't forwarded
            if (tempRecv == null)
            {
                tempRecv = _handler.Handle(sender, e);
            }

            LogRequest(tempRecv, e, wasForwarded);

            e = tempRecv;
        }
예제 #6
0
        void OnRemotingMessageReceived(object sender, RemotingMessageReceivedEventArgs args)
        {
            RemoteProcedureCallEventArgs rpc = new RemoteProcedureCallEventArgs(args.Destination, args.Operation, (dynamic)args.Message.Body);

            _extensionManager.FireRemoteProcedureCallEvent(rpc);
            args.Message.Body = rpc.Parameters;
        }
예제 #7
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            e.ReturnRequired = true;
            e.Data           = "http://127.0.0.1:8080/";

            return(e);
        }
예제 #8
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            List <ChampionDTO> champions = new List <ChampionDTO>();

            foreach (Champions champ in PoroServer._data.Champions)
            {
                var champDTO = new ChampionDTO
                {
                    Owned             = true,
                    ChampionID        = champ.id,
                    Active            = true,
                    BotEnabled        = true,
                    RankedPlayEnabled = true
                };

                champDTO.ChampionSkins = PoroServer._data.ChampionSkins.Where(x => x.championId == champ.id).Select(skins => new ChampionSkinDTO
                {
                    ChampionID      = champ.id,
                    SkinID          = skins.id,
                    StillObtainable = true,
                    Owned           = true
                }).ToList();

                champions.Add(champDTO);
            }

            e.ReturnRequired = true;
            e.Data           = champions;

            return(e);
        }
예제 #9
0
 private void OnRemotingMessageReceived(object sender, RemotingMessageReceivedEventArgs e)
 {
     try
     {
         if (RemotingMessageReceived != null)
         {
             RemotingMessageReceived(this, e);
         }
         e.Result = _remote.InvokeAckAsync(e.InvokeId, e.Message).Result;
         //TODO it's probably better to copy the eventargs
         if (AcknowledgeMessageReceived != null)
         {
             AcknowledgeMessageReceived(this, e);
         }
     }
     catch (AggregateException ex)
     {
         var exception = ex.InnerException as InvocationException;
         if (exception != null)
         {
             e.Error = (ErrorMessage)exception.SourceException;
             if (ErrorMessageReceived != null)
             {
                 ErrorMessageReceived(this, e);
             }
         }
         else
         {
             throw;
         }
     }
 }
예제 #10
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            SummonerClient summonerClient = sender as SummonerClient;

            var payload = new LobbyStatus
            {
                Owner = new InvitationPlayer
                {
                    SummonerId   = 1,
                    SummonerName = "Maufeat",
                },
                Members = new ArrayCollection
                {
                    new Member
                    {
                        SummonerId              = 1,
                        SummonerName            = "Maufeat",
                        HasDelegatedInvitePower = false
                    }
                },
                Invitees = new ArrayCollection
                {
                },
                InvitationId = "",
                GameMetaData = "{\"mapId\":11,\"gameMode\":\"CLASSIC\",\"gameMutators\":[],\"gameType\":\"NORMAL_GAME\",\"queueId\":2,\"isRanked\":false,\"gameId\":1,\"groupFinderId\":\"00000000-0000-0000-0000-000000000000\",\"gameTypeConfigId\":18}",
            };

            e.ReturnRequired = true;
            e.Data           = payload;

            return(e);
        }
예제 #11
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            e.ReturnRequired = true;
            e.Data           = "5";

            return(e);
        }
예제 #12
0
파일: Login.cs 프로젝트: Kaotic/Poro
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            object[] body = e.Body as object[];
            AuthenticationCredentials creds = body[0] as AuthenticationCredentials;

            PoroServer.ClientVersion = creds.ClientVersion;

            Session session = new Session
            {
                Password = creds.Password,
                Summary  = new AccountSummary
                {
                    AccountId          = int.MaxValue - 2,
                    Username           = creds.Username,
                    HasBetaAccess      = true,
                    IsAdministrator    = false,
                    PartnerMode        = false,
                    NeedsPasswordReset = false
                },
                Token = "fake"
            };

            e.ReturnRequired = true;
            e.Data           = session;

            return(e);
        }
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            object[]       body           = e.Body as object[];
            SummonerClient summonerSender = sender as SummonerClient;
            int            accId          = Convert.ToInt32(body[0]);
            string         unknown        = Convert.ToString(body[1]);

            ArrayCollection rData = new ArrayCollection()
            {
                new ChampionStatInfo()
                {
                    ChampionId = 17
                },
                new ChampionStatInfo()
                {
                    ChampionId = 17
                },
                new ChampionStatInfo()
                {
                    ChampionId = 17
                }
            };

            e.ReturnRequired = true;
            e.Data           = rData;
            return(e);
        }
예제 #14
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            e.ReturnRequired = true;
            e.Data           = new ArrayCollection();

            return(e);
        }
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            object[]       body           = e.Body as object[];
            SummonerClient summonerSender = sender as SummonerClient;
            int            accId          = Convert.ToInt32(body[0]);
            int            unknown        = Convert.ToInt32(body[1]);

            PlayerLifetimeStats PLSData = new PlayerLifetimeStats()
            {
                PlayerStatSummaries = new PlayerStatSummaries()
                {
                    Season = 6,
                },
                PreviousFirstWinOfDay = new DateTime(2016, 08, 11, 12, 00, 00),
                UserId           = Convert.ToInt32(summonerSender._sumId),
                DodgeStreak      = 0,
                DodgePenaltyDate = null,
                PlayerStatsJson  = null,
                PlayerStats      = new PlayerStats()
                {
                    TimeTrackedStats = new RtmpSharp.IO.AMF3.ArrayCollection()
                    {
                    },
                    PromoGamesPlayed           = 0,
                    PromoGamesPlayedLastUpdate = null,
                    LifetimeGamesPlayed        = null
                }
            };

            e.ReturnRequired = true;
            e.Data           = PLSData;

            return(e);
        }
예제 #16
0
        void OnErrorMessageReceived(object sender, RemotingMessageReceivedEventArgs args)
        {
            RemoteProcedureCallResponseEventArgs rpc = new RemoteProcedureCallResponseEventArgs(args.Destination, args.Operation, (dynamic[])args.Message.Body, args.Error == null ? null : args.Error.RootCause);

            _extensionManager.FireErrorMessageReceivedEvent(rpc);
            if (args.Error != null)
            {
                args.Error.RootCause = rpc.ResponseBody;
            }
        }
예제 #17
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            e.ReturnRequired = true;
            e.Data           = new SummonerLeagueItemsDTO()
            {
                summonerLeagues = new ArrayCollection()
            };

            return(e);
        }
예제 #18
0
 public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
 {
     e.ReturnRequired = true;
     e.Data           = new SummonerLeaguesDTO()
     {
         SummonerLeagues = new List <LeagueListDTO>()
         {
             new LeagueListDTO()
             {
                 Queue          = "RANKED_SOLO_5x5",
                 Name           = "Sahin The Master",
                 Tier           = "CHALLENGER",
                 RequestorsRank = "null",
                 Entries        = new List <LeagueItemDTO>
                 {
                     new LeagueItemDTO {
                         PreviousDayLeaguePosition = 1,
                         SeasonEndTier             = "CHALLENGER",
                         SeasonEndRank             = "I",
                         HotStreak  = true,
                         LeagueName = "Sahin The Master",
                         MiniSeries = null,
                         Tier       = "CHALLENGER",
                         FreshBlood = true,
                         LastPlayed = 0,
                         TimeUntilInactivityStatusChanges = 0,
                         InactivityStatus      = "OK",
                         PlayerOrTeamId        = "1",
                         LeaguePoints          = 9999,
                         DemotionWarning       = 0,
                         Inactive              = false,
                         SeasonEndApexPosition = 1,
                         Rank                      = "I",
                         Veteran                   = true,
                         QueueType                 = "RANKED_SOLO_5x5",
                         Losses                    = 0,
                         TimeUntilDecay            = -1,
                         DisplayDecayWarning       = false,
                         PlayerOrteamName          = "Maufeat",
                         Wins                      = 999,
                         ApexDaysUntilDecay        = 0,
                         LeaguePointsDelta         = 9999,
                         PlayStyle                 = new ArrayCollection(),
                         PlayStyleReminingWins     = 1,
                         TimeLastDecayMessageShown = 0
                     }
                 },
                 NextApexUpdate = 7430971,
                 MaxLeagueSize  = 200,
                 RequestorsName = null
             }
         }
     };
     return(e);
 }
예제 #19
0
 static void LogRequest(RemotingMessageReceivedEventArgs tempRecv, RemotingMessageReceivedEventArgs e, SummonerClient sc)
 {
     if (tempRecv == null)
     {
         Console.WriteLine(string.Format("[LOG][{2}] Bad request for {0} : {1}", e.Operation, e.Destination, sc._session.Summary.Username));
     }
     else
     {
         Console.WriteLine(string.Format("[LOG][{2}] Request for {0} : {1}", e.Operation, e.Destination, sc._session.Summary.Username));
     }
 }
예제 #20
0
 void LolProxy_AcknowledgeMessageReceived(object sender, RemotingMessageReceivedEventArgs args)
 {
     if (args.Destination == "loginService" && args.Operation == "login")
     {
         AccountSummary = ((dynamic)args.Result.Body).accountSummary;
     }
     else if (args.Destination == "clientFacadeService" && args.Operation == "getLoginDataPacketForUser")
     {
         Summoner = ((dynamic)args.Result.Body).allSummonerData.summoner;
     }
 }
예제 #21
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            ArrayCollection champions = new ArrayCollection();

            List <DatabaseManager.DBChampions> ChampionDatas = DatabaseManager.getAllChampions();

            foreach (var champ in ChampionDatas)
            {
                var champDTO = new ChampionDTO
                {
                    Owned            = true,
                    ChampionID       = champ.ID,
                    Active           = true,
                    BotEnabled       = false,
                    Banned           = false,
                    Chromas          = "",
                    Description      = "",
                    DisplayName      = "",
                    ChampionData     = null,
                    FreeToPlayReward = true,
                    OwnedByYourTeam  = true,
                    OwnedByEnemyTeam = true,
                    DefaultSkin      = "",
                    FreeToPlay       = true,
                };

                champDTO.ChampionSkins = new ArrayCollection();

                List <int> ChampionSkinDatas = DatabaseManager.getAllChampionSkinsForId(champ.ID);

                foreach (var skin in ChampionSkinDatas)
                {
                    var champSkinData = new ChampionSkinDTO
                    {
                        ChampionID      = champ.ID,
                        SkinID          = skin,
                        StillObtainable = true,
                        Owned           = true
                    };

                    champDTO.ChampionSkins.Add(champSkinData);
                }

                champions.Add(champDTO);
            }

            //champions.Add(new Dictionary<string, int>());

            e.ReturnRequired = true;
            e.Data           = champions;

            return(e);
        }
예제 #22
0
 void ServerMessageReceived(object sender, RemotingMessageReceivedEventArgs e)
 {
     if (ClientMessageReceived != null)
     {
         ClientMessageReceived(sender, e);
         if (e.ReturnRequired)
         {
             RtmpClient client = (RtmpClient)sender;
             client.InvokeResult(e.InvokeId, e.MessageId, e.Data);
         }
     }
 }
예제 #23
0
        void ClientMessageReceived(object sender, RemotingMessageReceivedEventArgs e)
        {
            Console.WriteLine(string.Format("[LOG] Request for {0} at destination {1}", e.Operation, e.Destination));
            var tempRecv = _handler.Handle(sender, e);

            //if (tempRecv == null)
            //    var tempRecv = _forwarder.Handle(sender, e);

            //Task.WaitAll(tempRecv);

            e = tempRecv;
        }
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            object[]       body           = e.Body as object[];
            SummonerClient summonerSender = sender as SummonerClient;
            int            accId          = Convert.ToInt32(body[0]);
            string         unknown        = Convert.ToString(body[1]);

            ArrayCollection rData = new ArrayCollection()
            {
                new ChampionStatInfo()
                {
                    TotalGammesPlayed = 9999,
                    AccountId         = Convert.ToInt32(summonerSender._session.Summary.AccountId),
                    Stats             = new ArrayCollection()
                    {
                    },
                    ChampionId = 0
                },
                new ChampionStatInfo()
                {
                    TotalGammesPlayed = 9999,
                    AccountId         = Convert.ToInt32(summonerSender._session.Summary.AccountId),
                    Stats             = new ArrayCollection()
                    {
                    },
                    ChampionId = 25
                },
                new ChampionStatInfo()
                {
                    TotalGammesPlayed = 9999,
                    AccountId         = Convert.ToInt32(summonerSender._session.Summary.AccountId),
                    Stats             = new ArrayCollection()
                    {
                    },
                    ChampionId = 267
                },
                new ChampionStatInfo()
                {
                    TotalGammesPlayed = 9999,
                    AccountId         = Convert.ToInt32(summonerSender._session.Summary.AccountId),
                    Stats             = new ArrayCollection()
                    {
                    },
                    ChampionId = 12
                }
            };

            e.ReturnRequired = true;
            e.Data           = rData;

            return(e);
        }
예제 #25
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            e.ReturnRequired = true;
            e.Data           = new PlayerDTO()
            {
                PlayerId     = 1,
                TeamsSummary = new ArrayCollection(),
                CreatedTeams = new ArrayCollection(),
                PlayerTeams  = new ArrayCollection()
            };

            return(e);
        }
예제 #26
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            object[]       body           = e.Body as object[];
            SummonerClient summonerSender = sender as SummonerClient;
            int            creds          = Convert.ToInt32(body[0]);

            DatabaseManager.updateSummonerIconById((int)summonerSender._sumId, creds);

            e.ReturnRequired = true;
            e.Data           = null;

            return(e);
        }
예제 #27
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            List <GameQueueConfig> data = new List <GameQueueConfig>
            {
                new GameQueueConfig {
                    BlockedMinutesThreshold = 60,
                    Ranked = false,
                    MinimumParticipantListSize = 1,
                    MaxLevel         = 100,
                    ThresholdEnabled = false,
                    GameTypeConfigId = 1,
                    MinLevel         = 3,
                    QueueState       = "ON",
                    Type             = "NORMAL",
                    CacheName        = "matching-queue-NORMAL-5x5-game-queue",
                    Id                         = 2.0,
                    QueueBonusKey              = "normalQueueBonuses",
                    MaxSummonerLevelForFWOTD   = 100,
                    QueueStateString           = "ON",
                    PointsConfigKey            = "normalSummonersRift",
                    TeamOnly                   = false,
                    MinimumQueueDodgeDelayTime = 8000,
                    RandomizeTeamSides         = false,
                    SupportedMapIds            = new List <int> {
                        11, 1
                    },
                    GameMode                   = "CLASSIC",
                    TypeString                 = "NORMAL",
                    NumPlayersPerTeam          = 5,
                    DisallowFreeChampions      = false,
                    MaximumParticipantListSize = 5,
                    MapSelectionAlgorithm      = "FIRST",
                    BotsCanSpawnOnBlueSide     = true,
                    GameMutators               = new List <string> {
                        "HudSkin(Freljord)"
                    },
                    ThresholdSize          = 2147483647.0,
                    MatchingThrottleConfig = new MatchingThrottleConfig
                    {
                        CacheName = "",
                        Limit     = 2147483647.0,
                        MatchingThrottleProperties = new List <object>()
                    }
                }
            };

            e.ReturnRequired = true;
            e.Data           = data;

            return(e);
        }
예제 #28
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            SummonerRuneInventory inventory = new SummonerRuneInventory
            {
                DateString    = "Thu Jun 27 20:58:33 PDT 2013",
                SummonerId    = int.MaxValue - 1,
                SummonerRunes = new List <SummonerRune>()
            };

            e.ReturnRequired = true;
            e.Data           = inventory;

            return(e);
        }
예제 #29
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            e.ReturnRequired = true;
            e.Data           = new PointSummary()
            {
                PointsToNextRoll = 106,
                MaxRolls         = 2,
                NumberOfRolls    = 0,
                PointsCostToRoll = 250,
                CurrentPoints    = 144
            };

            return(e);
        }
예제 #30
0
        public RemotingMessageReceivedEventArgs HandleMessage(object sender, RemotingMessageReceivedEventArgs e)
        {
            SummonerClient summonerSender = sender as SummonerClient;

            e.ReturnRequired = true;
            e.Data           = new PlayerDTO()
            {
                PlayerId     = Convert.ToInt64(summonerSender._sumId),
                TeamsSummary = new ArrayCollection(),
                CreatedTeams = new ArrayCollection(),
                PlayerTeams  = new ArrayCollection()
            };

            return(e);
        }