Гайд: Создание кастомной Северной провинции в Province Launcher (Mount Blade II: Bannerlord)

Гайд по созданию северной провинции в Province Launcher для Bannerlord: структура мода, XML-файлы, интеграция, тестирование и отладка.

2026.05.19                  


Гайд: Создание кастомной Северной провинции в Province Launcher (Mount  Blade II: Bannerlord)Гайд: Создание кастомной Северной провинции в Province Launcher (Mount Blade II: Bannerlord)

Важно:

Province Launcher (PL) — это сторонний инструмент, чей формат данных и API могут меняться с обновлениями. Данный гайд описывает архитектурный подход и типовую структуру, актуальную на 2025–2026 гг. Всегда сверяйтесь с официальной документацией на GitHub/NexusMods вашей версии PL.


1. Подготовка и требования

Компонент Описание
Bannerlord Стабильная версия (рекомендуется v1.2.10+). Без модов на ядро игры.
Province Launcher Последняя стабильная сборка (скачивать с официального GitHub или NexusMods).
Редактор кода VS Code, Notepad++, Sublime Text (с плагинами XML/JSON lint).
Bannerlord Modding Tools Bannerlord.ModuleEditor, Harmony, MBSaveEditor (опционально, но сильно упрощают отладку).
Бэкапы Обязательно сделайте копию Documents\Mount and Blade II Bannerlord\Modules и Saves.

2. Структура мода_province

Создайте папку с названием, например North_Province_PL.

Внутри неё должна быть следующая иерархия:

North_Province_PL/
├── SubModule.xml
├── Provinces/
│   └── north_province.xml
├── Cultures/
│   └── north_culture.xml
├── Troops/
│   └── north_troops.xml
├── Settlements/
│   └── north_settlements.xml
└── Assets/ (опционально: баннеры, иконки, текстуры)

3. SubModule.xml (базовый манифест)

<?xml version="1.0" encoding="utf-8"?>
<Module>
  <Name value="North Province for PL"/>
  <Id value="NorthProvincePL"/>
  <Version value="v1.0.0"/>
  <SingleplayerModule value="true"/>
  <MultiplayerModule value="false"/>
  <DependedModules>
    <DependedModule Id="Bannerlord.Harmony"/>
    <DependedModule Id="Native"/>
    <DependedModule Id="Sandbox"/>
    <DependedModule Id="StoryMode"/>
    <DependedModule Id="ProvinceLauncher"/>
  </DependedModules>
  <SubModules>
    <SubModule>
      <Name value="NorthProvincePL"/>
      <DLLName value="NorthProvincePL.dll"/>
      <SubModuleClassType value="NorthProvincePL.Main"/>
      <Tags/>
    </SubModule>
  </SubModules>
  <Xmls>
    <XmlNode name="Provinces" xml_path="Provinces/north_province.xml" />
    <XmlNode name="Cultures" xml_path="Cultures/north_culture.xml" />
    <XmlNode name="TroopRoster" xml_path="Troops/north_troops.xml" />
    <XmlNode name="Settlements" xml_path="Settlements/north_settlements.xml" />
  </Xmls>
</Module>

Если ваш мод не содержит C# кода, удалите <SubModule> блок с <DLLName> и <SubModuleClassType>.


4. Файл провинции: Provinces/north_province.xml

Формат зависит от версии PL.

Ниже приведён типовой шаблон, который используют большинство современных сборок:

<?xml version="1.0" encoding="utf-8"?>
<Provinces>
  <Province id="north_marches" name="Northern Marches">
    <Culture>north_culture</Culture>
    <Climate>Cold</Climate>
    <Terrain>Forest Mountain</Terrain>
    <ProsperityBase>120</ProsperityBase>
    <LoyaltyBase>60</LoyaltyBase>
    <SecurityBase>40</SecurityBase>
    <Faction>north_faction</Faction>
    <IsRebel>false</IsRebel>
    <Settlements>
      <Settlement id="north_town_01" type="Town" />
      <Settlement id="north_castle_01" type="Castle" />
      <Settlement id="north_village_01" type="Village" />
    </Settlements>
    <Economy>
      <Production>Iron, Timber, Hides</Production>
      <TradeBonus value="-5" />
    </Economy>
  </Province>
</Provinces>

Ключевые поля:

  • id должен быть уникальным в пределах всей игры.
  • Climate и Terrain влияют на штрафы к морали, скорость войск и доступность ресурсов.
  • ProsperityBase, LoyaltyBase, SecurityBase задают стартовые значения (0–200).
  • Production указывает базовые товары деревень/городов.

5. Культура и войска

Cultures/north_culture.xml

<?xml version="1.0" encoding="utf-8"?>
<Cultures>
  <Culture id="north_culture" name="Northern Clans">
    <Language>Nordic</Language>
    <Banner>Assets/north_banner.xml</Banner>
    <Color1>#2C3E50</Color1>
    <Color2>#ECF0F1</Color2>
    <DefaultTroopTree>north_troops</DefaultTroopTree>
    <MercenaryCulture>false</MercenaryCulture>
  </Culture>
</Cultures>

Troops/north_troops.xml

Используйте структуру, аналогичную ванильной.

Пример стартового отряда:

<?xml version="1.0" encoding="utf-8"?>
<TroopRoster>
  <Troop id="north_militia" name="Northern Militia" culture="north_culture">
    <Level>5</Level>
    <Health>35</Health>
    <MeleeSkill>120</MeleeSkill>
    <RangedSkill>40</RangedSkill>
    <Weapon1>Weapon.axe_1h_a</Weapon1>
    <Weapon2>Weapon.shield_a</Weapon2>
    <ArmorBody>Armor.leather_a</ArmorBody>
  </Troop>
</TroopRoster>

Совет:

Не создавайте войска «с нуля». Возьмите за основу SandboxData/Troops/nordic_troops.xml, скопируйте и измените id, name, статы и экипировку.


6. Поселения: Settlements/north_settlements.xml

<?xml version="1.0" encoding="utf-8"?>
<Settlements>
  <Settlement id="north_town_01" name="Frosthold" type="Town">
    <Position x="-120" y="0" z="85" />
    <FortificationLevel>3</FortificationLevel>
    <Population>2500</Population>
    <Garrison id="north_garrison_town" />
  </Settlement>

  <Settlement id="north_castle_01" name="Icecrag Keep" type="Castle">
    <Position x="-135" y="0" z="92" />
    <FortificationLevel>2</FortificationLevel>
    <Population>800</Population>
    <Garrison id="north_garrison_castle" />
  </Settlement>
</Settlements>

Как найти координаты:

  1. Включите в игре cheat_mode 1 и config.debug.
  2. Откройте консоль (~), наведите курсор на пустое место.
  3. Координаты отобразятся в логе или через команду get_position.
  4. Альтернатива: используйте Bannerlord Map Viewer или MB2 Coordinate Tool.

7. Интеграция с Province Launcher

  1. Поместите папку North_Province_PL в Documents\Mount and Blade II Bannerlord\Modules.
  2. Запустите Province Launcher.
  3. В разделе Custom Provinces или Module Manager убедитесь, что ваш мод появляется в списке.
  4. Включите его, сохранив порядок загрузки после Native, Sandbox, StoryMode, но до крупных модификаций карты (если они есть).
  5. Нажмите Apply & Launch.

Проверка загрузки:

  • В главном меню Bannerlord нажмите Ctrl+Alt+F10 (или зайдите в Options -> Debug).
  • В логе PL_Boot.log (в папке Modules/North_Province_PL/ или Documents/.../Logs)
ищите строки:
  [ProvinceLoader] Loaded province: north_marches
  [CultureLoader] Registered: north_culture

8. Тестирование и отладка

Проблема Решение
Провинция не появляется Проверьте уникальность id, правильность путей в SubModule.xml, отсутствие синтаксических ошибок в XML.
Игра вылетает при загрузке Откройте crash.log. Ищите NullReference или InvalidCastException. Часто причина: несуществующий Weapon или Armor ID.
Войска не спавнятся Убедитесь, что culture в Troops совпадает с Culture id в Cultures. Проверьте <DefaultTroopTree>.
Поселения «висят» в воздухе Координаты x,z должны совпадать с рельефом. Используйте y=0 (высота рассчитывается движком).
Конфликт с другими модами Отключите все моды кроме PL и вашего. Включайте по одному, чтобы найти конфликтующий id или перезаписанный Settlement.

Полезные команды в консоли:

campaign.get_province north_marches
campaign.set_province_owner north_marches player
config.debug true

9. Ресурсы и сообщество

Ресурс Ссылка/Описание
Официальный GitHub PL github.com/search?q=Province+Launcher&type=repositories (документация, схемы XML/JSON)
NexusMods коллекция Поиск по Province Launcher Bannerlord → раздел Documentation
Сообщества Bannerlord Modding Hub, PL Official Server (каналы #province-creation, #xml-help)
Валидаторы XML Schema Checker, JSONLint, Notepad++ XML Tools
Примеры модов Northern Realms PL, Vlandia Overhaul, Custom Province Template

10. Чек-лист перед релизом

  • [ ] Все id уникальны и не пересекаются с ванильными модами.
  • [ ] XML валиден (нет незакрытых тегов, правильные кавычки, кодировка UTF-8).
  • [ ] SubModule.xml указывает правильные зависимости.
  • [ ] Провинция загружается в чистом профиле с включённым PL.
  • [ ] Поселения находятся в пределах игровой карты и не пересекаются с другими.
  • [ ] Войска имеют сбалансированные статы и корректные ссылки на экипировку.
  • [ ] Сделан бэкап сохранения перед тестом.
  • [ ] Протестировано на чистой установке Bannerlord без сторонних модов.

Финальные советы

  1. Начинайте с малого: 1 деревня + 1 замок + 3 ранга войск. Отладьте, затем расширяйте.
  2. Используйте шаблоны: Не пишите XML с нуля. Копируйте из SandboxData и адаптируйте.
  3. Ведите лог изменений: Фиксируйте, какие id меняли, чтобы проще искать конфликты.
  4. Следите за обновлениями PL: После патчей Bannerlord или PL формат данных может измениться. Всегда читайте changelog.
  5. Делитесь в сообществе: Готовые шаблоны часто выкладывают в PL. Это экономит часы отладки.