start-matchmaking
Описание
Использует FlexMatch для создания игрового матча для группы игроков на основе пользовательских правил подбора. В играх, использующих управляемое хостинг Amazon GameLift, эта операция также запускает Amazon GameLift для поиска ресурсов хостинга и запуска новой игровой сессии для нового матча. Каждый запрос на подбор включает информацию об одном или нескольких игроках и указывает используемого подборщика FlexMatch. Когда запрос касается нескольких игроков, FlexMatch пытается создать матч, включающий всех игроков в запросе, разместив их в одной команде и найдя дополнительных игроков по мере необходимости для заполнения матча.
Для начала подбора предоставьте уникальный идентификатор билета, укажите конфигурацию подбора и включите игроков, которые должны быть подобраны. Вы также должны включить любые атрибуты игроков, которые требуются набором правил конфигурации подбора. При успешном выполнении возвращается билет подбора с статусом, установленным на QUEUED.
Отслеживайте события подбора, чтобы реагировать по мере необходимости и получить информацию о подключении к игровой сессии для успешно завершенных матчей. Обновления статуса билетов отслеживаются с помощью уведомлений об событиях через Amazon Simple Notification Service, которые определены в конфигурации подбора.
Подробнее
Добавление FlexMatch в клиент игры
Настройка уведомлений о событиях FlexMatch
Как работает Amazon GameLift FlexMatch
См. также: Документация API AWS
Синтаксис
start-matchmaking
[--ticket-id <value>]
--configuration-name <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 (строка)
--players (список)
Информация о каждом игроке, который должен быть подобраны. Эта информация должна включать идентификатор игрока и может содержать атрибуты игрока и данные о задержке, которые будут использованы в процессе подбора. После успешного матча, объекты Player содержат имя команды, к которой назначен игрок.
Вы можете включить до 10 Players в запросе StartMatchmaking.
(структура)
Представляет игрока в подборе. При запуске запроса на подбор игрок имеет идентификатор игрока, атрибуты и может иметь данные о задержке. Информация о команде добавляется после успешного завершения матча.
PlayerId -> (строка)
PlayerAttributes -> (карта)
Коллекция пар «ключ:значение», содержащих информацию об игроке для использования в подборе. Ключи атрибутов игрока должны соответствовать ключам playerAttributes, используемым в наборе правил подбора. Пример: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode": {"S": "deathmatch"}}.
Вы можете предоставить до 10 PlayerAttributes.
key -> (строка)
value -> (структура)
Значения для использования в парах «ключ:значение» атрибутов игрока. Этот объект позволяет указать значение атрибута, используя любой из допустимых типов данных: строка, число, массив строк или карта данных. Каждый объект AttributeValue может использовать только одно из доступных свойств.
S -> (строка)
N -> (двойное)
SL -> (список)
Для списка до 100 строк. Максимальная длина каждой строки составляет 100 символов. Повторяющиеся значения не распознаются; все вхождения повторяющегося значения после первого игнорируются.
(строка)
SDM -> (карта)
Для карты до 10 пар «тип данных:значение». Максимальная длина каждого строкового значения составляет 100 символов.
key -> (строка)
value -> (двойное)
Team -> (строка)
LatencyInMs -> (карта)
Набор значений, выраженных в миллисекундах, которые указывают на количество задержки, которое испытывает игрок при подключении к регионам Amazon Web Services. Если это свойство присутствует, FlexMatch рассматривает возможность размещения матча только в тех регионах, для которых сообщается о задержке.
Если подборщик имеет правило, которое оценивает задержку игрока, игроки должны сообщать о задержке, чтобы быть подобраны. Если в этом случае задержка не сообщается, FlexMatch предполагает, что для игрока недоступны регионы, и билет не может быть подобран.
key -> (строка)
value -> (целое число)
Сокращенный синтаксис:
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
- текст
- таблица
- 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 V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое отображается в двоичный блок, fileb:// всегда будет обрабатываться как двоичный и использовать содержимое файла непосредственно, независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для заданной настройки cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключение кли-пэйджера для вывода.
--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.
key -> (строка)
value -> (структура)
Значения для использования в парах ключ-значение атрибутов игрока. Этот объект позволяет указать значение атрибута с использованием любого из допустимых типов данных: строка, число, массив строк или карта данных. Каждый объект AttributeValue может использовать только одну из доступных свойств.
S -> (строка)
N -> (двойное число)
SL -> (список)
Для списка из до 100 строк. Максимальная длина каждой строки - 100 символов. Повторяющиеся значения не распознаются; все вхождения повторяющегося значения после первого пропускаются.
(строка)
SDM -> (карта)
Для карты из до 10 пар тип данных:значение. Максимальная длина каждого строкового значения - 100 символов.
key -> (строка)
value -> (двойное число)
Team -> (строка)
LatencyInMs -> (карта)
Набор значений, выраженных в миллисекундах, который указывает на количество задержки, которое испытывает игрок при подключении к областям Amazon Web Services. Если это свойство присутствует, FlexMatch рассматривает размещение матча только в областях, для которых сообщается задержка.
Если у подбора есть правило, оценивающее задержку игрока, игроки должны сообщить о задержке, чтобы быть подобраны. Если в этом случае задержка не сообщается, FlexMatch предполагает, что для игрока нет доступных областей, и жетон не может быть подобран.
key -> (строка)
value -> (целое число)
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.