Моддинг

Материал из Europa Universalis V — Русская Вики
Перейти к навигации Перейти к поиску

Моддинг — создание пользовательских модификаций для Europa Universalis V. Моды могут изменять интерфейс, локализацию, баланс, события и стартовый мир игры. Для работы с доступными скриптами и ресурсами достаточно установленной игры и текстового редактора; исходный код движка для этого не требуется. Возможности модификаций ограничены тем, какие системы игра предоставляет авторам.[1]

См. также: Патчи, Загружаемый контент.

Установка модов

Основной каталог для Steam-версии — мастерская Europa Universalis V. Модификации также публикуют на форуме Paradox и Nexus Mods. Перед установкой проверьте поддерживаемую версию игры, зависимости и инструкции автора.[2]

Через Steam Workshop

  1. Подпишитесь на мод и дождитесь загрузки файлов в Steam.
  2. Запустите игру и откройте управление дополнениями и модами в главном меню (DLCs and Mods View).
  3. Создайте набор модов (playset) или выберите существующий, затем добавьте в него мод и необходимые зависимости.
  4. Выберите этот набор и нажмите Apply («Применить»). Игра перезагрузит ресурсы с выбранными модами.[2]

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

Ручная установка

В Windows локальные моды обычно находятся в папке:

%USERPROFILE%\Documents\Paradox Interactive\Europa Universalis V\mod\

Распакуйте мод в отдельную подпапку так, чтобы непосредственно в ней находились .metadata и папки игровых ресурсов. Затем включите его через набор модов. При обновлении вручную заменяйте старую установку мода целиком, предварительно сохранив собственные изменения: оставшиеся файлы предыдущей версии могут создавать конфликты.[2]

Моды из мастерской Steam хранятся отдельно, в steamapps/workshop/content/3450310 соответствующей библиотеки. Если папка «Документы» перенесена, например в OneDrive, путь к локальным модам также может отличаться от стандартного. Ориентируйтесь на фактическую пользовательскую папку игры.

Создание своего мода

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

Структура папок

Корень мода соответствует папке game установленной игры. Промежуточная папка game внутри мода не нужна. Пример каркаса:

my_first_mod/
├── .metadata/
│   └── metadata.json
├── loading_screen/
├── main_menu/
└── in_game/
    ├── common/
    ├── events/
    └── localization/

Создавайте только те папки ресурсов, которые нужны для ваших изменений. Три верхних каталога соответствуют этапам загрузки: loading_screen читается первым, main_menu содержит ресурсы меню, in_game — ресурсы игрового мира. Путь изменяемого файла следует сверять с установленной версией игры.[3]

Метаданные

Файл .metadata/metadata.json описывает мод. Пример базового содержимого:

{
  "name": "Мой первый мод",
  "id": "my_first_mod",
  "version": "0.1.0",
  "game_id": "eu5",
  "supported_game_version": "1.3.*",
  "short_description": "Учебный мод для Europa Universalis V",
  "tags": [],
  "relationships": [],
  "game_custom_data": {}
}

version обозначает версию самого мода, а supported_game_version — заявленную совместимость с игрой. Значение 1.3.* в примере относится к ветке 1.3; заменяйте его только после проверки мода на нужной версии. Изменение этой строки само по себе не исправляет несовместимость. В relationships указываются зависимости.[4]

Этот каркас ещё не изменяет игровой процесс: для этого нужно добавить собственные ресурсы или переопределить существующие. JSON не допускает комментариев и запятой после последнего элемента.

Что можно изменять

Направление Примеры изменений Документация
Игровые правила Модификаторы, сооружения, улучшения, товары и другие определения Модификаторы, Улучшения
События Условия появления, варианты ответа и последствия События
Стартовый мир Державы, население и исходная расстановка Стартовые данные
Интерфейс Окна, подписи, элементы управления и графические ресурсы Руководство по интерфейсу
Локализация Переводы и отображаемые названия Локализация

Скрипты используют условия (triggers) для проверки состояния игры и эффекты (effects) для его изменения. Контекст (scope) определяет объект, с которым работает команда: например, державу, персонажа или район. Одна и та же команда не обязательно доступна во всех контекстах.[1]

Замена файлов и конфликты

Файл мода с тем же относительным путём и именем может полностью заменить исходный файл. Поэтому копирование большого файла ради одной правки повышает вероятность конфликта с другими модами и будущими патчами.[3]

Для многих записей в common предусмотрены режимы INJECT: и REPLACE:: добавление содержимого в существующую запись и замена её определения. Они поддерживаются не во всех типах данных; для defines и on_action действуют отдельные правила. Для скриптовых эффектов и условий нельзя рассчитывать, что INJECT: объединит содержимое: документация указывает на замену определения.[3]

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

Локализация

Тексты хранятся в файлах .yml. Для русских строк используется суффикс _l_russian.yml и заголовок l_russian:. Файл сохраняется в UTF-8 с BOM; расширение не должно превращаться в .yml.txt.[5]

Пример файла in_game/localization/russian/my_mod_l_russian.yml:

l_russian:
 my_mod_welcome: "Добро пожаловать!"

Это определение строки: она появится в игре, когда событие, интерфейс или другой ресурс обратится к ключу my_mod_welcome. Для собственных ключей полезен единый префикс, чтобы они не совпали с ключами игры или другого мода.

Отладка

Для разработки добавьте -debug_mode в параметры запуска игры в Steam. Режим открывает консоль и инструменты разработчика; часть ресурсов можно перезагружать без полного перезапуска. Не все изменения поддерживают такую перезагрузку, поэтому итоговую проверку проводите и после нового запуска игры.[1]

Основной журнал ошибок находится в пользовательской папке:

Documents\Paradox Interactive\Europa Universalis V\logs\error.log

Начинайте с небольшого изменения и запускайте мод отдельно. Если он работает самостоятельно, но ломается в наборе, подключайте остальные моды по одному. При обращении за помощью приложите версию игры, список модов, описание воспроизведения и относящиеся к проблеме строки журнала.

Команда script_docs в консоли создаёт справочники скриптовых команд в папке docs, а dump_data_types — сведения о типах данных в logs/data_types. Генерация в установленной версии помогает сверять документацию с конкретным патчем. Готовые выгрузки и изменения между версиями публикует сообщество EU5 Modding Co-op.[1][6]

Инструменты

Инструмент Назначение
Visual Studio Code и Paradox Highlight Редактирование, подсветка и форматирование скриптов, интерфейса и локализации. Автор Paradox Highlight заявляет поддержку EU5.[7]
Git История изменений, возврат к рабочему состоянию и совместная разработка.
Community Mod Framework Общие меню настроек, уведомления и другие компоненты для модов, которым нужны такие возможности. Подключается как зависимость.[8]
Modding Digests Документация игры и сравнение изменений после патчей.[6]

Поддержку EU5 следует проверять на странице конкретного расширения редактора. Например, на момент проверки 17 сентября 2026 года README CWTools не включает EU5 в перечень поддерживаемых игр, хотя англовики упоминает этот инструмент.[9]

Совместимость и достижения

После выхода патча проверьте изменённые модом файлы и зависимости. Отключение модификации посреди кампании может нарушить сохранение, если оно использует добавленные ею объекты. Перед сменой набора сохраните отдельную копию кампании и следуйте указаниям автора.

Совместимость с достижениями зависит от изменений мода. Даже визуальный контент может менять контрольную сумму: авторы Community Flavor Pack отдельно указывают, что их изменения accessory_genes в EU5 делают мод несовместимым с достижениями.[10] Перед началом кампании проверьте доступность достижений в самой игре.

Для сетевой игры согласуйте версию EU5, версии модов, их зависимости и набор. Сообщение о несовпадении контрольных сумм — повод сначала сравнить состав установленных файлов.

Публикация мода

В описании укажите, что меняет мод, какие версии игры он поддерживает, нужны ли DLC и другие моды, совместим ли он с существующими сохранениями и достижениями. Зависимости должны быть понятны и игре, и читателю страницы мастерской. Например, документация Community Mod Framework требует указать его в relationships и в списке необходимых предметов Steam Workshop.[8]

Публикуйте собственные изменённые ресурсы и необходимые файлы мода. Ссылки на используемые сторонние материалы и условия их лицензий удобно хранить вместе с проектом. Перед выпуском проверьте сборку в отдельном наборе и запишите известные ограничения.

Источники

  1. 1,0 1,1 1,2 1,3 1,4 Modding — Europa Universalis V Wiki (англ.).
  2. 2,0 2,1 2,2 Mod — Europa Universalis V Wiki (англ.): установка модификаций.
  3. 3,0 3,1 3,2 Mod structure — Europa Universalis V Wiki (англ.): структура папок, метаданные и замена записей.
  4. Метаданные Community Mod Framework — пример действующего мода.
  5. Localization — Europa Universalis V Wiki (англ.).
  6. 6,0 6,1 Europa Universalis V Modding Digests — справочники и изменения файлов по версиям.
  7. Paradox Highlight — Visual Studio Marketplace.
  8. 8,0 8,1 Community Mod Framework — документация авторов.
  9. CWTools: Paradox Language Services — Supported games.
  10. Community Flavor Pack — Achievements, раздел Europa Universalis V.