Развёртывание -- как работает и частые вопросы

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

Как настроить развёртывание — в инструкции «Как настроить автоматическое обновление игр». Все поля профиля — в статье «Карточка развёртывания».

Как работает развёртывание

  1. Gizmo составляет два списка файлов: в папке-источнике и в папке назначения на клиентском пк.

  2. Сравнивает списки по правилам выбранного Режима сравнения.

  3. Копирует на клиентский пк все файлы, которые отличаются.

Развёртывание запускается, когда гость запускает игру, — до старта самой игры.

Развёртывание подходит, чтобы:

  • обновлять игры на клиентских пк с сервера;

  • устанавливать игру на клиентский пк с нуля;

  • копировать любые другие файлы: настройки игр, конфигурации приложений и т. п.

Как Gizmo освобождает место перед развёртыванием

Перед развёртыванием Gizmo проверяет, хватит ли места на разделе клиентского пк. Если не хватает:

  1. Gizmo сортирует профили развёртывания по статистике: от игр, в которые играли меньше всего часов, к самым популярным.

  2. Удаляет с клиентского пк папку назначения наименее популярного профиля и пересчитывает свободное место.

  3. Повторяет, пока места не станет достаточно или пока не закончатся профили, которые можно удалить. Во втором случае гость увидит сообщение о нехватке места на диске.

Gizmo удаляет папки только на том же разделе, куда идёт развёртывание: если игра развёртывается на диск D, затрагиваются только папки на диске D. Профили с флагом Игнорировать очистку не удаляются никогда — отметьте его у игр, которые всегда должны оставаться на пк.

Сколько места оставлять свободным после развёртывания — задаётся в Настройки → Клиент → Файловая система, см. статью «Файловая система».

Частые вопросы

Можно ли развернуть игру вручную на выбранные пк?

Нет, ручного развёртывания в V3 нет — развёртывание запускается только при запуске игры гостем. Чтобы передать файлы на клиентские пк вручную, используйте раздел Управление → Файлы — см. статью «Файлы».

Gizmo сам обновляет игры?

Нет. Gizmo ничего не знает о самой игре: какая у неё версия, повреждены ли файлы, чего не хватает. Он только следит, чтобы файлы на клиентском пк совпадали с файлами в папке-источнике, — даже если в источнике файл старее. Поэтому игру в папке-источнике нужно поддерживать в актуальном и рабочем состоянии самостоятельно.

Почему Gizmo копирует всю игру, хотя она уже установлена на клиентском пк?

По умолчанию файл считается отличающимся, если у него другой размер, дата изменения или атрибуты. Одна и та же игра, установленная на двух пк, для Gizmo отличается — у файлов разные даты. Поэтому первое развёртывание копирует игру целиком.

После этого файлы на клиенте — точная копия источника, и повторно копироваться не будут. Дальше обновляйте игру только в папке-источнике: если обновить её на клиентском пк, файлы снова перестанут совпадать.

Режим Быстрый не сравнивает даты, поэтому копирует меньше файлов, но может пропустить нужные — и игра будет работать неправильно.

Почему обновление игры весит 1 МБ, а Gizmo копирует гигабайты?

Патч игры содержит только изменения внутри файлов — чтобы обновление быстрее скачивалось. Gizmo не анализирует содержимое файлов, а копирует изменившийся файл целиком: если патч на 1 МБ изменил файл размером 1,2 ГБ, будет скопирован весь файл. Обычно патчи затрагивают много файлов.

Почему игра развёртывается заново после каждого перезапуска пк?

  • Игра обновляет сама себя. После запуска игра или её лаунчер обновляют файлы на клиентском пк, и при следующем запуске Gizmo видит отличия от источника. Держите игру в источнике в актуальном состоянии. Учтите, что некоторые лаунчеры (например, Battle.net) скачивают обновления в фоне, пока гость играет.

  • Несколько профилей с одной папкой назначения. Если в одну папку на клиенте развёртываются две разные папки-источника и включено Зеркальное копирование, второй профиль удаляет файлы первого, а при следующем запуске первый снова их копирует. Будьте осторожны с профилями, у которых совпадает Пункт назначения.

Почему игра просит обновление, хотя все файлы развёрнуты?

Игры по-разному проверяют, обновлены ли они: одни — по главному исполняемому файлу, другие — по служебному файлу в своей папке, третьи хранят версию в реестре Windows или в папке вне папки игры. Для каждой такой игры выясните, где она хранит статус обновления, и развёртывайте его тоже — отдельным профилем развёртывания или задачей.

Пример — Fortnite: статус обновления хранится в C:\ProgramData\Epic\, а не в папке игры. Как это настроить — в инструкции «Как настроить развёртывание Epic Games Launcher и Fortnite».

Почему игра заработала только после того, как я удалил её с клиентского пк?

  • На клиенте лишние или старые файлы, которые мешают новой версии. По умолчанию Gizmo только копирует отличающиеся файлы, но не удаляет лишние. Включите в профиле Зеркальное копирование — тогда на клиенте будут удаляться файлы, которых нет в источнике.

  • Файлы на клиенте повреждены, но размер, дата и атрибуты у них прежние. Такие файлы находит только режим Тщательный — он сверяет хеш-сумму каждого файла. Режим медленный: включайте его, только когда проблема с файлами подтверждена, и возвращайте прежний режим после восстановления файлов.

  • Выбран режим «Быстрый» — он сверяет только размер и атрибуты. Если игре важны и другие свойства файлов, используйте Стандарт.

Включать ли «Прямой доступ»?

Зависит от того, где лежит источник:

  • локальная папка сервера (например, D:\Games\Fortnite) — доступна только серверу, Прямой доступ выключите;

  • сетевой диск, подключённый на клиентах (например, Z:\Games\Fortnite), — доступен только клиентам, Прямой доступ включите;

  • сетевой путь (например, \\fileserver\Games\Fortnite) — доступен и серверу, и клиентам, подойдёт любой вариант.

С Прямым доступом клиент копирует файлы стандартным протоколом Windows, и развёртывание быстрее. Без него файлы передаёт Gizmo Server собственным протоколом — примерно на 20—30% медленнее, зато не нужно настраивать общие сетевые папки и права доступа к ним. Если возможно, используйте Прямой доступ.

Обычные (не серверные) версии Windows разрешают к общей папке не больше 20 одновременных подключений. Если источник — общая папка на таком пк, а клиентов больше, используйте серверную Windows или развёртывание без прямого доступа.

Как очистить папку на клиенте перед запуском игры?

Без скриптов — с помощью развёртывания:

  1. Создайте на сервере пустую папку.

  2. Создайте профиль развёртывания: источник — пустая папка, пункт назначения — папка на клиенте, которую нужно очищать.

  3. Включите Зеркальное копирование — Gizmo удалит в папке назначения всё, чего нет в пустом источнике.

Другие способы — задача со скриптом (см. «Полезные скрипты для задач») или, для сохранений игр, опция Очистка в карточке ЛФП.

Почему развёртывание зависает или не обновляет часть файлов?

Если файл нельзя перезаписать, Gizmo несколько раз повторяет попытку и переходит к следующему. Когда таких файлов сотни, развёртывание затягивается и кажется зависшим. Ошибки развёртывания видны в разделе «Журналы» Gizmo Manager.

Частые причины:

  • Файлы заняты — их использует сама игра, лаунчер или служба. Чтобы проверить, попробуйте удалить такой файл на клиентском пк вручную: если Windows не даёт, файл занят. Закройте программу, которая его использует. Некоторые лаунчеры (например, Epic Games Launcher) добавляют себя в автозагрузку Windows — отключите это.

  • Нет прав на запись — обычно в системные папки Windows. Отключите контроль учётных записей (UAC) на клиентских пк — см. «Полезные скрипты для задач» — и по возможности не развёртывайте файлы в системные папки.

Почему игра работает на сервере, но не работает после развёртывания?

При установке игра может менять настройки Windows, ставить библиотеки (например, Visual C++ или DirectX), службы и файлы вне своей папки. Простого копирования папки игры может не хватить. Решения:

  • найдите, что ещё нужно игре, и добавьте это дополнительными профилями развёртывания и задачами;

  • или установите игру на клиентских пк обычным способом.

Частые проблемы со Steam-играми

Steam не запускается

Удалите всё в папке Steam, кроме папки steamapps и файла steam.exe, и запустите steam.exe — он заново скачает недостающие файлы. Игры в steamapps при этом сохранятся.

Игра недоступна или запускается с чёрным экраном

Проверьте целостность файлов игры: в Steam — Свойства игры → Установленные файлы → Проверить целостность файлов игры. Проверку можно запустить и командой steam://validate/<ID>, где <ID> — ID игры в Steam. После проверки обновите игру и в папке-источнике на сервере.

В игре не отображается текст или она работает со сбоями

Причиной может быть слишком длинный путь к папке Steam. Сократите имена папок или перенесите Steam ближе к корню диска, например в D:\Steam.