Пакеты модов
Статья в разработке
version 0.3, 2017-05-03
License: CC BY-SA 4.0
Содержание
1. Общая информация
Пакеты это
способ организации файлов модификаций, в котором весь контент отдельной модификации
упакован в один файл.
В случае использования старой схемы распространения файлов, модификации устанавливаются в каталог <каталог WoT>/res_mods/<версия WoT>/.
При этом, файлы разных модификаций располагаются в одних и тех же каталогах, и поэтому зачастую трудно определить, какой файл относится к какой именно модификации. Переход на дистрибуцию в пакетах может существенно упростить организацию файлов модификаций: для установки пользователю достаточно скопировать пакет в каталог <каталог WoT>/mods/<версия WoT>/ , а для деинсталляции удалить ровно тот же файл.
2. Структура пакета
Пакет представляет собой zip-архив со следующими свойствами:
- без сжатия
- расширение: .wotmod
- максимальный размер архива: 2 ГиБ - 1 байт (2 147 483 647 байт)
Внимание: архивы с компрессией в текущей версии World of Tanks не поддерживаются, поэтому, при создании архивов необходимо установливать опцию «уровень сжатия» в значение «без сжатия».
архивы размером 2 ГиБ и больше в текущей версии World of Tanks не поддерживаются, поэтому большие пакеты необходимо разбивать на более мелкие, размер каждого из которых не будет превышает 2 ГиБ - 1 байт.
Внутри себя пакет содержит:
- обязательно: каталог /res/. Сюда помещаются ресурсы модификации, то есть все те файлы, которые раньше устанавливались в <каталог WoT>/res_mods/<версия WoT>
- опционально: служебный файл meta.xml (смотрите раздел 5)
- опционально: файл LICENSE с лицензионным соглашением
- опционально: любой иной контент, который может понадобиться автору модификации: ссылка на сайт модификации, документация, список изменений и тому подобное.
Пример структуры пакета:
- /package.wotmod
- /meta.xml
- /README.md
- /LICENSE
- /res
- /scripts
- /client
- /gui
- /mods
- /mod_example.pyc
- /mods
- /gui
- /client
- /scripts
3. Установка пакета
Пакеты устанавливаются в <каталог WoT>/mods/<версия WoT>. Это может быть как ручное копирование, так и установка посредством инсталятора модификации или сборки модификаций.
При необходимости, пакеты могут быть организованы в подкаталоги, что позволяет авторам сборок модификаций выполнять группировку файлов:
mods/
- 0.9.17.1/
- MultiHitLog_2.8.wotmod
- DamagePanel/
- Some_common_library_3.14.5.wotmod
- DamagePanel_2.6.wotmod
- DamagePanel_2.8.wotmod
- DamagePanel_2.8_patch1.wotmod
4. Рекомендации по именованию пакетов
Для имени пакета (в дальнейшем package_id ) рекомендована следующая схема формирования:
package_id = author_id.mod_id
Где:
- author_id : идентификатор автора. Может быть сайтом разработчика модификации
( com.example ) или же просто его никнеймом ( noname )
- mod_id : идентификатор модификации. Выбирается автором модификации произвольно.
Данное имя используется в файле meta.xml (смотрите раздел 5), а также как часть имени файла
пакета.
Пример имён пакетов:
com.example.coolmod noname.supermod
Имя файла пакета формируется следующим образом:
<author_id>.<mod_id>_<mod_version>.wotmod
Где:
- mod_version : версия модификации, задаётся автором в meta.xml (смотрите раздел 5).
Примеры:
com.example.coolmod_0.1.wotmod
noname.supermod_0.2.8.wotmod
5. Файл метаданных meta.xml
Необязательный файл meta.xml содержит опциональные поля, описывающие модификацию.
Пример заполнения:
<root>
- <!‐‐ Идентификатор пакета ‐‐>
- <id>noname.crosshair</id>
- <!‐‐ Версия пакета ‐‐>
- <version>0.2.8</version>
- <!‐‐ Имя пакета понятное для пользователя ‐‐>
- <name>Crosshair</name>
- <!‐‐ Описание пакета ‐‐>
- <description>New cool Crosshair with feature1.....N</description>
</root>