--- title: ext_, subst_ и отдельные файлы: что загрузит X4 summary: Назначение каталогов и причина, по которой правка распакованного файла может не работать. section: tools kind: guide status: reference updated: 2026-10-27 tags: ["CAT","DAT","subst","ext","load order"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/Anatomy%20of%20an%20extension/Catalogs/"] --- ## Два назначения | Каталог | Начало пути внутри | Назначение | | --- | --- | --- | | `ext_01.cat` + `.dat` | Папка расширения | Обычные файлы расширения, включая diff | | `subst_01.cat` + `.dat` | Корень игры | Полная подстановка существующего файла | `subst_` не превращает файл в XML-патч. Два расширения, подменяющие один файл целиком, требуют отдельной проверки конфликта. ## Почему правка не видна Упакованная копия того же виртуального пути имеет приоритет над отдельным файлом. После старой упаковки можно редактировать XML рядом с архивом и продолжать видеть прежний результат. Для собственного тестового пакета составьте список: ```text libraries/wiki_demo.xml -> loose: revision 2 libraries/wiki_demo.xml -> ext_01: revision 1 ``` Ожидается чтение упакованной revision 1. Это схема выбора, не настоящий игровой файл и не вывод консоли. ## Проверка пакета Откройте свой CAT через [X Catalog Tool](wiki:tool-catalog). Проверьте путь, наличие парного DAT и содержимое нужной записи. Сравните его с редактируемым XML. В рабочем процессе выберите один источник истины: отдельные файлы либо заново собранные каталоги. `content.xml` оставляют снаружи. Версионные варианты рассмотрены [отдельно](wiki:version-catalogs). При замене UI проверьте точное имя целевого ресурса, включая расширение файла; не угадывайте его по имени собственного Lua-исходника. ## Граница проверки Это описание загрузки по первичному руководству. Приведённая схема не является выполненным игровым опытом. После упаковки повторите тот же сценарий, который работал с исходным набором файлов.