Моддинг
Моддинг — создание пользовательских модификаций для Europa Universalis V. Моды могут изменять интерфейс, локализацию, баланс, события и стартовый мир игры. Для работы с доступными скриптами и ресурсами достаточно установленной игры и текстового редактора; исходный код движка для этого не требуется. Возможности модификаций ограничены тем, какие системы игра предоставляет авторам.[1]
См. также: Патчи, Загружаемый контент.
Установка модов
Основной каталог для Steam-версии — мастерская Europa Universalis V. Модификации также публикуют на форуме Paradox и Nexus Mods. Перед установкой проверьте поддерживаемую версию игры, зависимости и инструкции автора.[2]
Через Steam Workshop
- Подпишитесь на мод и дождитесь загрузки файлов в Steam.
- Запустите игру и откройте управление дополнениями и модами в главном меню (DLCs and Mods View).
- Создайте набор модов (playset) или выберите существующий, затем добавьте в него мод и необходимые зависимости.
- Выберите этот набор и нажмите 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,0 1,1 1,2 1,3 1,4 Modding — Europa Universalis V Wiki (англ.).
- ↑ 2,0 2,1 2,2 Mod — Europa Universalis V Wiki (англ.): установка модификаций.
- ↑ 3,0 3,1 3,2 Mod structure — Europa Universalis V Wiki (англ.): структура папок, метаданные и замена записей.
- ↑ Метаданные Community Mod Framework — пример действующего мода.
- ↑ Localization — Europa Universalis V Wiki (англ.).
- ↑ 6,0 6,1 Europa Universalis V Modding Digests — справочники и изменения файлов по версиям.
- ↑ Paradox Highlight — Visual Studio Marketplace.
- ↑ 8,0 8,1 Community Mod Framework — документация авторов.
- ↑ CWTools: Paradox Language Services — Supported games.
- ↑ Community Flavor Pack — Achievements, раздел Europa Universalis V.