Identica
Вход

Выбор провайдера

Пусть Identica сама выбирает, как игрок входит, или даёт выбрать игроку.

Сценарий часто можно пройти несколькими путями. Каждый включённый провайдер — это один вариант, а провайдер может предлагать и несколько собственных способов, например быструю проверку и пошаговую настройку. Кто выбирает среди вариантов — Identica или игрок, — решает choice в каждом сценарии engine.yml.

СценарийПо умолчанию
аутентификацияAUTOMATIC
регистрацияAUTOMATIC
миграцияAUTOMATIC

При любом значении игрока никогда не отключают из-за того, что ему нужно что-то ввести. Если выбранному провайдеру нужен пароль или код из приложения-аутентификатора, игрока просят его ввести.

Значения

Выбирает Identica. Первым идёт провайдер, которого порядок выбора ставит выше всех: тот, через чьё имя хоста зашёл игрок, затем тот, к которому привязан его аккаунт, затем провайдер с наибольшим приоритетом. Способы провайдера идут в своём порядке. Если вариант не может завершить вход, пробуется следующий. У игрока запрашивают только то, что нужно выбранному провайдеру.

Это значение подходит сетям, провайдеры которых сами умеют различать игроков. Подвох в первом входе пиратского (офлайн) игрока под ником лицензионного аккаунта: провайдер Premium с более высоким приоритетом требует лицензионный вход прямо при рукопожатии, ещё до того, как игрок что-либо увидит. Клиент не может его пройти и отключается с ошибкой «недействительная сессия», и может показаться, что на сервер пускают только с лицензией. Следующий вход с того же адреса в пределах attemptTtl продолжается со следующим провайдером.

Способ определения CLIENT_PROFILE провайдера Premium позволяет избежать этого для клиентов версии 1.19.1 и новее.

scenarios:
  registration:
    choice: "PROMPTED"

При миграции провайдера выбирает администратор, который её запускает, поэтому PROMPTED позволяет игроку выбирать только среди способов этого провайдера.

Способы провайдера

Некоторые провайдеры предлагают для сценария несколько способов; они перечислены в документации самого провайдера. Каждый способ — отдельный вариант: при PROMPTED игрок видит его рядом с названием провайдера и выбирает его как <provider>:<method>, например /identica enroll website:guided.

methods в записи провайдера в providers/providers.yml убирает способы или меняет их порядок — отдельно для каждого сценария:

providers:
  - id: "website"
    methods:
      migration: ["guided", "quick"]

См. methods.

Что видит игрок

Варианты выводятся сообщением engine.journey.step.enrollment из messages.yml. Его entryFormat называет каждый вариант через {optionName}, а ответ — через {optionId}; descriptions может описывать отдельный вариант по его ID, например website:guided, или все варианты провайдера по ID провайдера.

Все настройки сценариев описаны в engine.yml.

На этой странице