public async Task <IActionResult> EntryBattleServer([FromBody] EntryBattleServer.Request req)
        {
            var requester = new evomatching.ProtocolModels.Matching.EntryBattleServer();

            requester.request.sessionId           = SelfHost.sessionId;
            requester.request.ipAddr              = req.ipAddr;
            requester.request.port                = req.port.Value;
            requester.request.rule                = req.rule;
            requester.request.mapId               = req.mapId;
            requester.request.autoMatchmakeTarget = req.autoMatchmakeTarget.Value;
            requester.request.label               = req.label;
            requester.request.description         = req.description;
            requester.request.serverName          = req.serverName;
            requester.request.region              = req.region;
            requester.request.owner               = req.owner;
            var response = await requester.PostAsyncXXX(MatchingServerInfo.AreaUri(SelfHost.matchingArea));

            if (response.StatusCode == System.Net.HttpStatusCode.OK)
            {
                var session = new Session(SelfHost.sessionId);
                session.Model.matchId = response.Payload.matchId;
                await session.SaveAsync();
            }

            return(Ok(new EntryBattleServer.Response
            {
            }));
        }
Example #2
0
        public async Task <IActionResult> EntryBattleServer(
            [FromBody] EntryBattleServer.Request req, [FromServices] GeneralManager gm)
        {
            var res = new EntryBattleServer.Response();

            await gm.EnqueueJob(() =>
            {
                res.matchId = gm.MatchManager.Entry(
                    req.sessionId, req.ipAddr, req.port,
                    req.rule, req.mapId,
                    req.serverName, req.region, req.owner,
                    req.label, req.description,
                    req.autoMatchmakeTarget
                    );

                gm.WatchDogSession.TemporaryAdd(req.sessionId);
            });

            return(Ok(res));
        }