Перейти к содержимому

Аккаунты и вход

Несколько аккаунтов Vintage Story с поддержкой двухфакторной аутентификации и защищённым хранением сессий.

  • Несколько аккаунтов Vintage Story с быстрым переключением и аккаунтом по умолчанию.
  • Вход по email и паролю через официальные эндпоинты аутентификации Vintage Story.
  • Поддержка TOTP/2FA: если сервер запрашивает одноразовый код, лаунчер запрашивает его отдельным шагом.
  • Проверка валидности сохранённой сессии и статус каждого аккаунта.
  • Локальный выход (сессия удаляется, метаданные профиля сохраняются для повторного входа) и полное удаление аккаунта.

Waxlight никогда не сохраняет пароли и TOTP-коды. Постоянные сессионные ключи хранятся только в системном хранилище учётных данных:

ПлатформаХранилище
Linuxfreedesktop Secret Service (GNOME Keyring, совместимые конфигурации KWallet) через D-Bus
WindowsWindows Credential Manager (generic credentials)

Записи используют пространство имён com.waxlight.launcher и непрозрачные внутренние ID аккаунтов, а не email-адреса. В продакшн-сборках нет fallback на открытый текст или хранение в памяти: если хранилище заблокировано или недоступно, лаунчер завершает операцию с понятной ошибкой — разблокируйте хранилище и повторите.

Vintage Story требует сессионные данные в файле clientsettings.json инстанса. Waxlight:

  1. записывает только sessionkey, sessionsignature, playeruid и playername атомарной заменой файла, с отклонением симлинков;
  2. не передаёт учётные данные в аргументах процесса и переменных окружения;
  3. удаляет все четыре свойства после выхода игры, ошибки запуска и при стартовой сверке после возможного сбоя лаунчера.
  • «Удалить из Waxlight» — удаляет запись из системного хранилища, метаданные и все связи с инстансами.
  • «Выйти локально» — удаляет сессию, но сохраняет метаданные профиля для быстрой повторной аутентификации.

Обе операции локальные: Vintage Story не предоставляет используемого эндпоинта отзыва сессий, поэтому удаление в лаунчере не отзывает уже выданную сессию на сервере и не завершает сеансы на других устройствах.

Аутентификация идёт только по фиксированным HTTPS-эндпоинтам (auth3.vintagestory.at) с обычной проверкой сертификатов, таймаутами, запретом редиректов для запросов с учётными данными и ограничением ответа в 1 МиБ. Сырые ответы сервера и формы с секретами не логируются и не покидают бэкенд. Технические детали — в документе authentication.md и на странице «Безопасность».