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

Версии игры

Несколько версий Vintage Story, установленных рядом, из официального канала обновлений игры.

Waxlight использует официальную ленту версий Vintage Story:

GET https://api.vintagestory.at/stable-unstable.json

Для каждой версии лента содержит дистрибутивы по платформам: имя файла, размер, контрольную сумму MD5 и официальные URL. Waxlight выбирает только текущую клиентскую платформу:

  • Linux x64 — архив .tar.gz;
  • Windows x64 — официальный установщик Inno Setup .exe.

Серверы, macOS-клиенты и прочие записи игнорируются. Принимаются только HTTPS-загрузки с cdn.vintagestory.at, имя файла в URL должно совпадать с каталогом; некорректные релизы пропускаются.

Раздел «Версии игры» показывает установленные версии и доступные для скачивания (stable и unstable с фильтром). Конвейер установки:

  1. проверка, что версия ещё не установлена и не устанавливается;
  2. проверка свободного места под пакет и распакованные файлы;
  3. создание отслеживаемой отменяемой операции (видна на странице «Операции»);
  4. загрузка через общий менеджер с докачкой .partial-файла при поддержке HTTP Range;
  5. проверка MD5 из официальной ленты;
  6. установка в общее хранилище versions/<version-id>;
  7. поиск исполняемого файла игры и запись .waxlight-version;
  8. регистрация версии в SQLite только после успешной установки;
  9. удаление кэшированного пакета.

Распаковка в Linux защищена от path traversal и отклоняет ссылки. В Windows используется официальный установщик с документированными ключами /VERYSILENT /NORESTART /CURRENTUSER /NOICONS /DIR= без shell.

Помимо официальной ленты, версию можно установить из локального архива/файла («Установить из файла»), с опциональной проверкой SHA-256. Это полезно для версий, которых нет в ленте.

  • Лента не публикует даты релизов — Waxlight их не выдумывает.
  • Автоматическая установка поддерживает x64 Linux и x64 Windows.
  • Лента — официальный продакшн-эндпоинт без опубликованной схемы и гарантий стабильности; её парсер изолирован и покрыт тестами.
  • Waxlight не обходит аутентификацию игры: для запуска нужна валидная сессия аккаунта Vintage Story.

Технический документ: game-versions.md.