# Пакеты

## Общие сведения

Все пакеты лежат в папке packages/ в основной папке игры.&#x20;

<figure><img src="/files/kuDjXzPSJpGtYavfnlOz" alt=""><figcaption><p>Папка с пакетами</p></figcaption></figure>

Каждый пакет находится в своей папке. \
Идентификатор пакета записан в файле **.info**.&#x20;

<figure><img src="/files/ZSwXMknu99hpOS97Q0qj" alt=""><figcaption><p>Пример содержимого пакета</p></figcaption></figure>

Ресурсы пакета разделены по принципу использованию на две основные секции.

<table><thead><tr><th width="202">Название секции</th><th>Описание</th></tr></thead><tbody><tr><td>global</td><td><p>Ресурсы секции 'global' применяются один раз при запуске приложения и при включении/выключении пакетов в настройках игры. </p><p>В этой секции находятся ресурсы:</p><ul><li>файлы интерфейса front-end</li><li>звуки, </li><li>музыка, </li><li>видео, </li><li>карты</li></ul></td></tr><tr><td>scene</td><td>Ресурсы секции 'scene' применяются перед началом загрузки сцены, при создании новой сессии или в процессе подключения к сессии.</td></tr></tbody></table>

## Локализация

В пакетах поддерживается локализация. \
Локализируемые ресурсы размещаются в папках .lang/, где lang - код языка (обычно двухсимвольный).&#x20;

<figure><img src="/files/fRpniuLb6FyUslr1vH8i" alt=""><figcaption><p>Папки с локализационными файлами и их содержимое</p></figcaption></figure>

## Настройка свойств пакета&#x20;

Свойства пакета задаются параметрами в файле .info, который находится в корне папки пакета.

<table><thead><tr><th width="248">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td>id</td><td>Уникальный идентификатор пакета. <br>Если пакет является Steam DLC или Steam Workshop, то идентификатор назначается Steam. <br>При создании пакета через интерфейс раздела "Настройки" уникальный идентификатор назначается автоматически. <br>В других случаях рекомендуется использовать любой подходящий GUID-генератор (например, <a href="http://www.guidgen.com/">http://www.guidgen.com/</a>).</td></tr><tr><td>legacy_id</td><td>Параметр id заменяется на legacy_id в процессе присвоения пакету Steam DlcId или WorkshopId. Значение параметра берется из параметра id. <br>Таким образом, старые ссылки (например, save game) будут  идентифицировать пакет</td></tr><tr><td>name</td><td>Название пакета. <br>Не обязательный параметр. <br>Если не задан, то в качестве названия берется папка, в которой лежит пакет. В случае Steam DLC игнорируется.</td></tr><tr><td>author</td><td>Автор пакета. <br>Не обязательный параметр. Отображается в свойствах пакета.</td></tr><tr><td>order</td><td><p>Порядок в списке пакетов. </p><p>Значение параметра может быть как положительным, так и отрицательным. <br>Влияет на порядок в списке, в котором пакеты отображаются в настройках. По умолчанию равен 0 и отображается самым верхним в списке пакетов.</p></td></tr><tr><td>default_disabled</td><td>Пакет по умолчанию будет отключен, пока игрок не активирует его в "Настройках игры".<br>Если параметр не задан, то как только пакет будет установлен, он считается включенным.</td></tr><tr><td>hidden</td><td>Пакет не отображается в настройках. <br>По умолчанию пакеты отображаются в настройках.</td></tr><tr><td>dependency &#x3C;id пакета></td><td>Зависимость от другого пакета. <br>Блок с параметром dependency может быть использован многократно для создания множественных зависимостей. Пакеты применяются в том порядке, в котором записаны  блоки.</td></tr><tr><td>incompatible &#x3C;id пакета></td><td>Указывает на несовместимость с пакетом. Игра будет отключать пакет с указанным id при активации пакета.</td></tr><tr><td>min_core_version &#x3C;count> max_core_version &#x3C;count></td><td>Минимальная и максимальная версии игры, для которых поддерживается совместимость пакета. <br>Если параметры не указаны, то соответствующая проверка отсутствует.</td></tr><tr><td>delete_global</td><td>Список виртуально удаляемых ресурсов при активации секции 'global'.</td></tr><tr><td>delete_scene</td><td>Список виртуально удаляемых ресурсов при активации секции 'scene'.</td></tr><tr><td>always_activate_scene</td><td>Всегда активировать секцию 'scene' этого пакета если активна секция 'global'. По умолчанию секция 'scene' активируется, если загружается карта, которая находится в секции 'global' этого пакета.</td></tr><tr><td>always_activate_global </td><td>Означает, что данный пакет изменяет глобальные игровые настройки (т.е. этот пакет будучи включенным всегда отмечается в списке при создании хоста, в сохранении игры и т.п.).</td></tr><tr><td>sign</td><td><p>Цифровая подпись. </p><p>Только для пакетов, выпущенных компанией Best Way. </p><p>Пакеты, имеющие такую подпись не допускают какой-либо модификации. </p><p>Если подпись не подтверждается, то пакет считается испорченным и не загружается.</p></td></tr><tr><td>token_count</td><td><p>Количество токенов, которые дает данный пакет. </p><p>Токены могут быть присвоены только пакетам, выпускаемым компанией Best Way.</p></td></tr><tr><td>token_sign</td><td>Цифровая подпись для токенов. <br>Если подлинность не подтверждается, то токены игнорируются.</td></tr><tr><td>hash</td><td><p></p><p>Значение параметра hash позволяет предварительно определять, что содержимое пакета одинаковое у разных пользователей и на сервере при игре совместно.</p><p>Значение параметра hash автоматически обновляется при публикации в пакета в Workshop</p></td></tr><tr><td><p></p><p>obsolete</p></td><td>Позволяет скрыть ресурсы пакета (объекты и текстуры) в списках доступных ресурсов в редакторе.</td></tr><tr><td>client_only</td><td>Содержимое пакета доступно только на клиенте, не подгружается на сервер и не влияет на игровой процесс.</td></tr></tbody></table>

<details>

<summary>Пример содержимого файла .info</summary>

```
{id "cc507d63-2143-4598-99de-237a5ea5e621"}
{name "Пример Пакета"}
{order 1}
{dependency "02f8e8f9-91d9-45e0-8ee6-dc56adae4763"}; main package
{min_core_version 1.030}; требуется версия игры не меньше чем 1.030
{default_disabled}
{author "Created by Best Way, at Mon Apr 15 16:39:49 2024"}
```

</details>

### Примеры параметров свойств пакета

<table><thead><tr><th width="273">Пример блока</th><th width="248">Пояснения</th><th>Дополнительно</th></tr></thead><tbody><tr><td><code>{order -100}</code> </td><td>опустить пакет ниже в списке пакетов на 100 пунктов</td><td></td></tr><tr><td><code>{order +4000}</code> </td><td>поднять пакет выше в списке пакетов на 4000 пунктов</td><td></td></tr><tr><td><code>{default_disabled}</code></td><td>состояние по умолчанию "отключен"</td><td>то же самое, что и <code>{default_disabled 1}</code> </td></tr><tr><td><code>{hidden 0}</code></td><td>пакет отображается в списке пакетов</td><td></td></tr><tr><td><code>{hidden}</code></td><td>пакет не отображается в списке пакетов</td><td>то же самое, что и <br><code>{hidden 1}</code></td></tr><tr><td><code>{dependency "b86c6020-9b25-4659-bcdf-53b12715a0a1"}</code></td><td>пакет зависит от пакета с id  "b86c6020-9b25-4659-bcdf-53b12715a0a1"</td><td></td></tr><tr><td><code>{delete_global "/map/single/2-fra" "/video/menu.avi"}</code> </td><td>при загрузке секции global игнорировать папку /map/single/2-fra <br>и файл /video/menu.avi</td><td></td></tr><tr><td><code>{delete_scene "/entity/service/flag"}</code> </td><td>при загрузке секции scene игнорировать объект flag из папки /entity/service/</td><td></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bestway-1.gitbook.io/documentation/gem-rts-v1-ru/bazovaya-informaciya-o-gem-rts/arkhitektura-resursov-igry/pakety.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
