private async Task Run(AIService aiService, uint playerId)
        {
            var gameInfoReq = new Request();

            gameInfoReq.GameInfo = new RequestGameInfo();

            var gameInfoResponse = await proxy.SendRequest(gameInfoReq);

            var dataReq = new Request();

            dataReq.Data            = new RequestData();
            dataReq.Data.UnitTypeId = true;
            dataReq.Data.AbilityId  = true;
            dataReq.Data.BuffId     = true;
            dataReq.Data.EffectId   = true;
            dataReq.Data.UpgradeId  = true;

            var dataResponse = await proxy.SendRequest(dataReq);

            Controller.gameInfo = gameInfoResponse.GameInfo;
            Controller.gameData = dataResponse.Data;

            if (Controller.gameInfo == null)
            {
                File.WriteAllText(@"D:\GitProjects\SC2-CSharpe-Starterkit\gameInfoResponse.json", JsonConvert.SerializeObject(gameInfoResponse));
            }

            while (true)
            {
                var observationRequest = new Request();
                observationRequest.Observation = new RequestObservation();
                var response = await proxy.SendRequest(observationRequest);

                var observation = response.Observation;

                if (response.Status == Status.Ended || response.Status == Status.Quit)
                {
                    break;
                }

                Controller.obs = observation;
                var actions = aiService.Frame();

                var actionRequest = new Request();
                actionRequest.Action = new RequestAction();
                actionRequest.Action.Actions.AddRange(actions);
                if (actionRequest.Action.Actions.Count > 0)
                {
                    await proxy.SendRequest(actionRequest);
                }

                var stepRequest = new Request();
                stepRequest.Step       = new RequestStep();
                stepRequest.Step.Count = stepSize;
                await proxy.SendRequest(stepRequest);
            }
        }