start-match-backfill
Описание
Ищет новых игроков для заполнения свободных мест в текущих игровых сессиях. Процесс подбора игроков для заполнения (backfill) принципиально идентичен процессу создания новых матчей. Запросы на заполнение используют ту же систему подбора, которая была использована для первоначального формирования матча, и предоставляют данные о соответствии для всех игроков, которые в настоящее время находятся в игровой сессии. FlexMatch использует эту информацию, чтобы выбрать новых игроков таким образом, чтобы заполненное соответствие продолжало удовлетворять первоначальным требованиям соответствия.
При использовании FlexMatch с управляемым хостингом Amazon GameLift вы можете запросить матч для заполнения (backfill) из службы клиента, вызвав эту операцию с GameSessions идентификатором. У вас также есть возможность делать запросы на заполнение (backfill) напрямую с вашего игрового сервера. В ответ на запрос FlexMatch создает игровые сессии для новых игроков, обновляет GameSession ресурс и отправляет обновлённые данные о соответствии игровому серверу. Вы можете запросить матч для заполнения (backfill) в любой момент после начала игровой сессии. Каждая игровая сессия может иметь только один активный запрос на заполнение (backfill) одновременно; последующий запрос автоматически заменяет предыдущий запрос.
При использовании FlexMatch как самостоятельного компонента запросите матч для заполнения (backfill), вызвав эту операцию без идентификатора игровой сессии. Как и в случае с вновь созданными матчами, результаты подбора возвращаются в событии подбора, чтобы ваша игра могла обновить заполняемую игровую сессию.
Чтобы запросить матч для заполнения (backfill), укажите уникальный идентификатор тикета, исходную конфигурацию подбора и данные о соответствии для всех текущих игроков в заполняемой игровой сессии. Необязательно, укажите GameSession ARN. При успехе создаётся билет для заполнения матча (match backfill ticket) и возвращается со статусом QUEUED. Отслеживайте статус билетов для заполнения (backfill) тем же способом, что и билеты для новых матчей.
Только игровые сессии, созданные FlexMatch, поддерживаются для заполнения матчей.
Узнать больше
Заполнение существующих игр с помощью FlexMatch
События подбора (справочник)
Как работает Amazon GameLift FlexMatch
См. также: Документация AWS API
Синтаксис
start-match-backfill
[--ticket-id <value>]
--configuration-name <value>
[--game-session-arn <value>]
--players <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--ticket-id (строка)
--configuration-name (строка)
GameSession, свойстве MatchmakerData.--game-session-arn (строка)
--players (список)
Информация о соответствии для всех игроков, которые в настоящее время назначены в игровой сессии. Эта информация используется системой подбора для поиска новых игроков и добавления их к существующей игре.
Вы можете включить до 199 Players в запросе StartMatchBackfill.
- PlayerID, PlayerAttributes, Team – Эта информация сохраняется в объекте
GameSession, свойствеMatchmakerDataдля всех игроков, которые в настоящее время назначены в игровой сессии. Данные о соответствии представлены в формате JSON, отформатированном как строка. Для более подробной информации см. Данные о соответствии. Запрос на заполнение (backfill) должен указывать членство в команде для каждого игрока. Не указывайте команду, если вы не используете заполнение (backfill). - LatencyInMs – Если система подбора использует задержку игроков, укажите значение задержки в миллисекундах для региона, в котором в настоящее время находится игровая сессия. Не включайте значения задержки для других регионов.
(структура)
Представляет игрока в системе подбора. При запуске запроса на подбор игрок имеет идентификатор игрока, атрибуты и может иметь данные о задержке. Информация о команде добавляется после успешного завершения матча.
PlayerId -> (строка)
PlayerAttributes -> (массив)
Коллекция пар «ключ:значение», содержащая информацию об игроке для использования в системе подбора. Ключи атрибутов игрока должны совпадать с playerAttributes, используемыми в наборе правил подбора. Пример: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}} .
Вы можете предоставить до 10 PlayerAttributes .
ключ -> (строка)
значение -> (структура)
Значения для использования в парах «ключ:значение» атрибутов игрока. Этот объект позволяет вам указать значение атрибута, используя любой из допустимых типов данных: строка, число, массив строк или карта данных. Каждый объект AttributeValue может использовать только одно из доступных свойств.
S -> (строка)
N -> (двойное)
SL -> (список)
Для списка до 100 строк. Максимальная длина каждой строки составляет 100 символов. Повторяющиеся значения не распознаются; все вхождения повторяющегося значения после первого из повторяющегося значения игнорируются.
(строка)
SDM -> (массив)
Для массива до 10 пар «тип данных:значение». Максимальная длина каждого строкового значения составляет 100 символов.
ключ -> (строка)
значение -> (двойное)
Team -> (строка)
LatencyInMs -> (массив)
Набор значений, выраженных в миллисекундах, указывающий величину задержки, которую игрок испытывает при подключении к регионам Amazon Web Services. Если это свойство присутствует, FlexMatch рассматривает размещение матча только в тех регионах, для которых задержка сообщается.
Если у системы подбора есть правило, которое оценивает задержку игроков, игроки должны сообщить задержку, чтобы быть сопоставленными. Если в этом случае задержка не сообщается, FlexMatch предполагает, что для игрока недоступны регионы, и билет не может быть сопоставлен.
ключ -> (строка)
значение -> (целое число)
Сокращённый синтаксис:
PlayerId=string,PlayerAttributes={KeyName1={S=string,N=double,SL=[string,string],SDM={KeyName1=double,KeyName2=double}},KeyName2={S=string,N=double,SL=[string,string],SDM={KeyName1=double,KeyName2=double}}},Team=string,LatencyInMs={KeyName1=integer,KeyName2=integer} ...
Синтаксис JSON:
[
{
"PlayerId": "string",
"PlayerAttributes": {"string": {
"S": "string",
"N": double,
"SL": ["string", ...],
"SDM": {"string": double
...}
}
...},
"Team": "string",
"LatencyInMs": {"string": integer
...}
}
...
]
--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной JSON-строки. JSON-строка следует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения переопределят значения, предоставленные JSON. Невозможно передать произвольные двоичные значения, используя значение, предоставленное JSON, поскольку строка будет воспринята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если предоставлено без значения или со значением input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, он выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если предоставлено значение output, оно проверит входные данные команд и вернёт JSON-пример выходных данных для этой команды. Сгенерированный JSON-скелет нестабилен между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (булево)
Включить отладку.
--endpoint-url (строка)
Переопределить URL по умолчанию для команды на указанный URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого подключения SSL AWS CLI проверит сертификаты SSL. Этот параметр переопределяет поведение проверки сертификатов SSL по умолчанию.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования выходных данных команды.
- json
- text
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Использование определённого профиля из файла учетных данных.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Показать версию этого инструмента.
--color (строка)
Включение/выключение цветного вывода.
- вкл
- выкл
- авто
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл сертификата CA для использования при проверке SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения к сокету в секундах. Если значение равно 0, подключение к сокету будет блокирующим и не будет иметь таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. По умолчанию формат — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI версии 1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого файла, которое соответствует двоичному блоку, fileb:// всегда будет обрабатываться как двоичный и использовать содержимое файла непосредственно независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть должным образом отформатировано для конфигурируемого cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить страницу cli для вывода.
--cli-auto-prompt (булево)
Автоматически запросить параметры CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запросы параметров CLI.
Вывод
MatchmakingTicket -> (структура)
Объект, представляющий запрос на подбор игроков в игре. Этот объект включает информацию о запросе, статусе запроса и результатах подбора игроков, полученных в процессе подбора.
TicketId -> (строка)
ConfigurationName -> (строка)
ConfigurationArn -> (строка)
Status -> (строка)
Текущий статус запроса на подбор игроков.
- ОЧЕРЕДЬ – Запрос на подбор игроков получен и ожидает обработки.
- ПОИСК – Запрос на подбор игроков обрабатывается.
- ТРЕБУЕТСЯ_ПРИНЯТИЕ – Предложен матч, и игроки должны его принять. Этот статус используется только для запросов, использующих конфигурацию подбора игроков с требованием одобрения игроками.
- РАЗМЕЩЕНИЕ – Движок FlexMatch подыскал игроков и в процессе размещения новой сессии игры для матча.
- ЗАВЕРШЕН – Игроки подобраны, и сессия игры готова принять игроков. Запрос в этом состоянии содержит необходимую информацию о подключении для игроков.
- НЕ_УДАЛОСЬ – Запрос на подбор игроков не был завершён.
-
ОТМЕНЁН – Запрос на подбор игроков был отменён. Это может быть результатом операции
StopMatchmakingили предложенного матча, который один или несколько игроков не приняли. - ИСТЁК_СРОК – Запрос на подбор игроков не был успешным в течение времени, указанного в конфигурации подбора игроков.
Примечание
Запросы на подбор игроков, которые не завершились успешно (статусы НЕ_УДАЛОСЬ, ОТМЕНЁН, ИСТЁК_СРОК), можно повторно отправить как новые запросы с новыми идентификаторами запроса.StatusReason -> (строка)
SEARCHING после того, как предложенный матч не получил одобрения игроков.StatusMessage -> (строка)
StartTime -> (метка_времени)
"1469498468.057").EndTime -> (метка_времени)
"1469498468.057").Players -> (список)
Набор объектов Player, каждый из которых представляет игрока для поиска матчей. Игроки идентифицируются уникальным идентификатором игрока и могут включать данные о задержке для использования при подборе игроков. Если запрос находится в состоянии COMPLETED, объекты Player содержат команду, к которой игроки были назначены в результате матча.
(структура)
Представляет игрока в процессе подбора игроков. При запуске запроса на подбор игроков у игрока есть идентификатор игрока, атрибуты и, возможно, данные о задержке. Информация о команде добавляется после успешного завершения матча.
PlayerId -> (строка)
PlayerAttributes -> (массив)
Коллекция пар «ключ:значение», содержащая информацию об игроке для использования в процессе подбора. Ключи атрибутов игроков должны соответствовать ключам playerAttributes, используемым в наборе правил подбора. Пример: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}.
Вы можете предоставить до 10 PlayerAttributes.
ключ -> (строка)
значение -> (структура)
Значения для использования в парах «ключ:значение» атрибутов игрока. Этот объект позволяет указывать значения атрибутов, используя любой из допустимых типов данных: строка, число, массив строк или карта данных. Каждый объект AttributeValue может использовать только одно из доступных свойств.
S -> (строка)
N -> (число)
SL -> (список)
Для списка до 100 строк. Максимальная длина каждой строки — 100 символов. Повторяющиеся значения не распознаются; все вхождения повторяющегося значения после первого игнорируются.
(строка)
SDM -> (массив)
Для массива до 10 пар тип данных:значение. Максимальная длина каждого строкового значения — 100 символов.
ключ -> (строка)
значение -> (число)
Team -> (строка)
LatencyInMs -> (массив)
Набор значений, выраженных в миллисекундах, которые указывают на количество задержки, испытываемой игроком при подключении к областям Amazon Web Services. Если это свойство присутствует, FlexMatch рассматривает размещение матча только в тех регионах, для которых сообщается задержка.
Если у подборщика есть правило, которое оценивает задержку игрока, игроки должны сообщить о задержке, чтобы быть подобраны. Если в этом случае задержка не сообщается, FlexMatch предполагает, что для игрока недоступны никакие регионы, и запрос не может быть выполнен.
ключ -> (строка)
значение -> (целое число)
GameSessionConnectionInfo -> (структура)
Информация о подключении к новой сессии игры. После того, как матч создан, движок FlexMatch создаёт новую сессию игры для него. Эта информация добавляется в запрос на подбор игроков, который можно получить, вызвав DescribeMatchmaking.
GameSessionArn -> (строка)
IpAddress -> (строка)
DnsName -> (строка)
Идентификатор DNS, назначенный экземпляру, на котором запущена сессия игры. Значения имеют следующий формат:
- Флоты с TLS:
<unique identifier>.<region identifier>.amazongamelift.com. - Флоты без TLS:
ec2-<unique identifier>.compute.amazonaws.com. (См. Amazon EC2 Instance IP Addressing).
При подключении к сессии игры, выполняющейся на флоте с TLS, необходимо использовать имя DNS, а не IP-адрес.
Port -> (целое число)
MatchedPlayerSessions -> (список)
Коллекция идентификаторов сессий игроков, по одному для каждого идентификатора игрока, включённого в исходный запрос на подбор игроков.
(структура)
Представляет новую сессию игрока, созданную в результате успешного матча FlexMatch. Успешный матч автоматически создаёт новые сессии игроков для каждого идентификатора игрока в исходном запросе на подбор игроков.
Когда игроки подключаются к сессии игры матча, они должны указать и идентификатор игрока, и идентификатор сессии игрока, чтобы занять свой назначенный игровой слот.
PlayerId -> (строка)
PlayerSessionId -> (строка)
EstimatedWaitTime -> (целое число)
© Copyright 2025, Amazon Web Services. Created using Sphinx.