> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ss14.art/llms.txt
> Use this file to discover all available pages before exploring further.

# Automatic Client Zip (ACZ)

**Automatic Client Zip (ACZ)** — это система, позволяющая игровому серверу самостоятельно раздавать файлы игры. Это даёт возможность лаунчеру напрямую подключаться к игровому серверу без необходимости в дополнительной инфраструктуре для загрузки ресурсов.

Основная функциональность ACZ — возможность раздавать игровые ресурсы через систему [Delta Updates](../other-projects/launcher/delta-updates-and-manifests). Существует три способа загрузки клиентских ресурсов для раздачи через ACZ:

* «Magic» ACZ: клиентские файлы читаются напрямую из среды разработки.
* «Hybrid» ACZ: клиентские файлы читаются из встроенного zip-файла, создаваемого при сборке серверной сборки.
* «Full Hybrid» ACZ: клиентские файлы раздаются как в Hybrid ACZ, но контент может добавлять дополнительные файлы при запуске сервера.

Все версии ACZ построены на системе [Asset Packaging](./asset-packaging). Рекомендуется ознакомиться с ней.

## Magic ACZ

Magic ACZ предназначена для сред разработки. Она собирает ресурсы игры и клиентские сборки из вашего окружения разработки. Используется та же основная логика упаковки, что и при упаковке клиентских файлов для полноценных релизов.

Magic ACZ может быть расширена заменой реализации, используемой по умолчанию для упаковки файлов. Это делается вызовом `IStatusHost.SetMagicAczProvider()`. Вы можете изучить код `DefaultMagicAczProvider`, чтобы увидеть, что делает реализация по умолчанию.

Magic ACZ используется автоматически, если рядом с исполняемым файлом сервера не найден `Content.Client.zip`. Если он найден, используется Hybrid ACZ (см. ниже).

## Hybrid ACZ

В режиме Hybrid ACZ игровой сервер загружает файлы игры из файла `Content.Client.zip`, расположенного рядом с исполняемым файлом. Предполагается, что этот файл будет включаться в состав сервера при упаковке.

Hybrid ACZ может быть расширена с помощью Full Hybrid ACZ (см. ниже).

## Full Hybrid ACZ

Full Hybrid ACZ даёт возможность добавлять дополнительные файлы поверх Hybrid ACZ.

<Note>
  OpenDream использует Full Hybrid ACZ. Базовые клиентские файлы движка включаются в `Content.Client.zip`, а файлы ресурсов из загружаемой кодовой базы добавляются поверх после запуска.
</Note>

Используйте `IStatusHost.SetFullHybridAczProvider()` для включения Full Hybrid ACZ. Обратите внимание, что Full Hybrid ACZ используется только при обнаружении `Content.Client.zip`, в противном случае всё ещё используется Magic ACZ. Оба типа провайдеров могут быть установлены одновременно.
