Как настроить автоматическое обновление игр
Вышел патч к популярной игре — и обновлять её вручную на каждом из двадцати пк клуба долго, а гости тем временем не могут зайти на сервер со старой версией. Gizmo позволяет обновить игру один раз и разнести обновление по клиентским пк автоматически.
Для этого используются профили развёртывания. Вы обновляете игру в папке на сервере, а Gizmo сам сверяет её с папкой на клиентском пк и копирует только изменившиеся файлы, а при необходимости удаляет на клиенте файлы, которых больше нет в источнике. Развёртывание выполняется перед запуском игры, к исполняемому файлу которой прикреплён профиль.
Шаг 1. Подготовьте актуальную версию игры на сервере
Держите актуальную версию игры в отдельной папке на пк с Gizmo Server — именно её Gizmo будет использовать как источник для клиентских пк. Когда выходит обновление, обновите игру в этой папке.
Как организовать папку-источник и обновлять в ней игру:
Данный раздел находится в разработке.
Шаг 2. Ограничьте заполнение диска на клиентских пк
Чтобы обновление не заполнило диск клиентского пк, задайте минимальный запас свободного места:
Откройте Настройки → Клиент → Файловая система, блок Развертывание.
Укажите значение параметра Всегда оставлять % свободного места на диске при использовании профилей развертывания.
Если после развёртывания свободного места останется меньше указанного значения, операция будет прервана. Подробнее — в статье «Файловая система».
Шаг 3. Создайте профиль развёртывания
Откройте Станции → Приложения, затем карточку игры и её исполняемый файл.
Перейдите на вкладку Развертывания и нажмите + Создать новую установку — откроется карточка развёртывания. Если подходящий профиль уже создан, прикрепите его в поле Выберите развертывание.
Заполните карточку:
Имя — название профиля развёртывания;
Источник — папка с актуальной версией игры на пк с Gizmo Server (шаг 1);
Пункт назначения — папка игры на клиентском пк, с которой сверяется источник и куда копируются отличающиеся файлы.
Выберите Режим сравнения. Чем тщательнее сравнение, тем меньше вероятность ошибки, но тем медленнее обновление:
Быстрый — сверяет файлы и папки только по длине и атрибутам;
Стандарт — по времени последнего изменения, длине и атрибутам;
Стандартный без атрибутов — по времени изменения и длине;
Тщательный — самый медленный и самый надёжный: дополнительно считает и сверяет хеш-сумму файлов.
При необходимости ограничьте состав развёртывания полями Включить файлы, Включить каталоги, Исключить файлы и Исключить каталоги — поддерживаются групповые символы, элементы разделяются «;». В поле Реестр можно указать скрипт реестра, который выполнится при развёртывании.
Сохраните карточку развёртывания и исполняемый файл.
Описание всех полей — в статье «Карточка развёртывания».
Если перед развёртыванием нужно выполнить скрипт, назначьте его на событие Задачи до развертывания на вкладке Задачи того же исполняемого файла. Подробнее — в статье «Карточка редактирования исполняемого файла».
Шаг 4. Включите запуск игры сразу после обновления
На вкладке Главная исполняемого файла, в блоке Организация параметров запуска, включите Auto Launch. Тогда игра запустится сразу после развёртывания. Если параметр выключен, гостю придётся нажать дважды: первый раз — чтобы выполнить развёртывание, второй — чтобы подтвердить запуск.
Результат
Когда гость запускает игру, Gizmo сначала сверяет папку игры на пк с папкой на сервере и копирует только изменившиеся файлы.
Обновлять игру нужно один раз — в папке-источнике на сервере; клиентские пк получат обновление при следующем запуске.
Если на диске клиентского пк не хватает места с учётом заданного запаса, развёртывание прерывается.
Как добавить игру и создать исполняемый файл — в инструкции «Как добавить игру в клиентскую оболочку». Как сохранять прогресс гостей между сеансами — в инструкции «Как сохранять прогресс игр гостей между сеансами».
Почему игра копируется целиком, развёртывается после каждого перезапуска или просит обновление — в статье «Развёртывание -- как работает и частые вопросы». Пример настройки для игры, которая хранит статус обновления вне своей папки, — «Как настроить развёртывание Epic Games Launcher и Fortnite».