Example #1
0
        private void HandleRegisterCustomGameMessage(RegisterCustomGameMessage msg, ref RestResponse response,
                                                     RestDataRequestMessage message)
        {
            var user = this._context.Users.Find(x => x.Id.SessionKey == message.SessionCredentials.SessionKey);

            user.Server = new GameServerEntry(CustomBattleId.NewGuid(), msg.ServerName,
                                              this.HttpContext.Connection.RemoteIpAddress.ToString(), msg.Port, "EU", msg.GameModule, msg.GameType,
                                              msg.Map, 0, msg.MaxPlayerCount, true, false);
            Console.WriteLine($"New Server: {this.HttpContext.Connection.RemoteIpAddress.ToString()} {msg.Port}");
            response.FunctionResult =
                new RestDataFunctionResult(new RegisterCustomGameResult(true));
            response.SetSuccessful(true, "ResultFromServerTask");
        }
        private void HandleRegisterCustomGameMessage(RestDataRequestMessage restDataRequestMessage,
                                                     RegisterCustomGameMessage messageContent,
                                                     ref RestResponse response, RestRequestMessage request)
        {
            var user = _context.FindUserBySessionCredentials(restDataRequestMessage.SessionCredentials);

            if (user == default)
            {
                return;
            }
            user.HostedServer = new CommunityServerEntry(new GameServerEntry(CustomBattleId.NewGuid(),
                                                                             messageContent.ServerName,
                                                                             HttpContext.Connection.RemoteIpAddress.ToString(), messageContent.Port, "EU",
                                                                             messageContent.GameModule, messageContent.GameType,
                                                                             messageContent.Map, 1, messageContent.MaxPlayerCount, true,
                                                                             !(messageContent.GamePassword == null || messageContent.GamePassword.IsEmpty())));
            Console.WriteLine(
                $"New Server: {HttpContext.Connection.RemoteIpAddress} {messageContent.Port}");
            user.ConnectedServer    = user.HostedServer.entry.Id;
            response.FunctionResult =
                new RestDataFunctionResult(new RegisterCustomGameResult(true));
            response.SetSuccessful(true, "ResultFromServerTask");
        }
 public User FindServerHosterBy(CustomBattleId battleid)
 {
     return(Users.FirstOrDefault(x => x.HostedServer != null && x.HostedServer.entry.Id == battleid));
 }