Что означают статусы, как устроена выдача доступа и что проверять при сбое.
Лицензия и активация
issued — ключ выдан, но не активирован. Срок подписки начинается при первой активации. active — доступ действует; это не обязательно означает, что клиент сейчас онлайн.
Lease · разрешение на работу
Ограниченное по времени разрешение, подписанное сервером. Клиент проверяет подпись, срок и доступные функции. Lease обновляется при связи с сервером; изменение лицензии не означает мгновенного обновления уже выданного разрешения.
Heartbeat · проверка сессии
Периодический запрос клиента к серверу. Подтверждает активность и обновляет разрешение. «Онлайн» на обзоре определяется свежестью сессии, а не просто статусом лицензии.
Пауза и приостановка
paused замораживает срок: после снятия паузы простой компенсируется. suspended блокирует доступ, но срок продолжает идти. Причину каждого действия можно найти в журнале.
Истечение и закрытие
expired — срок закончился; void — пропущено окно активации. revoked, refunded и chargeback — окончательный отзыв, возврат и платёжный спор. Эти три действия необратимы.
Профиль · datasets и protocol
Полный JSON v1 с данными игры и таблицами протокола. Конструктор сохраняет datasets и неизменённые метаданные. Пустые поля правок оставляют соответствующие секции исходного файла. Максимальный размер — 8 MiB.
ok / degraded / broken
ok — рабочий профиль; degraded — частичная неисправность. broken у текущего профиля блокирует новые активации и автоматически замораживает действующие подписки. Исправный текущий профиль снимает только автоматическую паузу, не ручные ограничения.
Build ID и allowlist
Build ID идентифицирует сборку клиента. Пустой список сборок не ограничивает Build ID. После добавления первой записи допускаются только разрешённые сборки. Отзыв последней разрешённой записи не отключает эту проверку.
Keyset и KID
Keyset — подписанный набор публичных ключей, которым доверяет клиент. KID указывает ключ подписи разрешений. Истечение keyset нарушает проверку доверия: обновлять его нужно заранее через серверный CLI, а не заменой профиля игры.
SHA-256 · целостность
Контрольная сумма файла. SHA-256 профиля сверяется клиентом со значением в подписанном lease. Совпадение подтверждает целостность данных, но само по себе не подтверждает корректность таблиц игры.
HWID и отпечаток устройства
HWID связан с аппаратной конфигурацией, отпечаток — с ключом устройства. Сброс привязки завершает сессию и позволяет следующей активации привязать устройство заново. Операторский сброс не расходует квоту смен.
TOTP / 2FA · второй фактор
Одноразовый код приложения-аутентификатора дополняет пароль. Настройкой второго фактора управляет сам администратор. Не передавайте секрет настройки и otpauth-ссылку другим людям.
CSRF и сессия администратора
Формы изменений защищены CSRF-токеном, сессия — HttpOnly cookie. Смена пароля или второго фактора отзывает прежние сессии пользователя. При истёкшей сессии войдите заново и повторно откройте форму.
CSV, журнал и UTC
Экспорт лицензий учитывает серверные фильтры поиска и статуса. Поиск внутри таблицы журнала работает только по уже загруженным записям. Даты на сервере показаны в UTC, независимо от часового пояса браузера.