Важный
Разработка на Mod Engine 2 прекращена. Любая будущая работа будет выполняться на мне3.
Mod Engine 2 — это переписанная с нуля Mod Engine, библиотека исправлений и внедрения кода во время выполнения, используемая FROM Software для добавления функциональности моддинга в игры Souls.
Начать
Поддерживаемые игры
Различия
Функции
Загрузите последнюю версию.
Создайте папку в папке мода, для наглядности рекомендую название мода.
Распакуйте мод в только что созданную папку.
Отредактируйте файл config_eldenring.toml
(или выбранную вами игру), включив в него только что созданную папку.
моды = [ { Enabled = True, name = "BetterAshes", путь = "modashes" }, { Enabled = True, name = "CleversMoveset", путь = "modmoveset" }, { Enabled = false, name = "EnemyRandomizer", путь = "modrandomizer" }, ]
В списке ниже приведена информация об играх, которые в настоящее время поддерживаются Mod Engine 2.
Темные души 3
Элден Ринг
Темные души 2: СОТФ
Обновление Темных Душ
Секиро: Тени умирают дважды
Кровавый
Между устаревшей версией Mod Engine и новой версией есть некоторые большие различия в архитектуре, большая часть которых заключается в 1) формате конфигурации и 2) том, как мы загружаем ModEngine в игру. Более подробная информация об этих различиях приведена ниже.
Старый формат .ini
исчез, его заменил новый структурированный файл конфигурации, основанный на TOML. Это изменение соответствует новой модели расширений Mod Engine, позволяя плагинам указывать свои собственные требования к конфигурации.
Это используется плагином загрузчика модов для указания списков модов, которые должны быть загружены, и следует ли их включать или нет. В будущем он может быть расширен для поддержки «Манифеста мода», который будет содержать дополнительную информацию, такую как веб-сайт, версия, авторы и т. д.
dinput8.dll
не является обязательной. С появлением средства запуска нам больше не нужно полагаться на загрузку игр через dinput8.dll
, и вместо этого мы можем запускать предварительно настроенную игру. Это освобождает этот модуль для всего остального, что зависит от загрузки неопубликованных приложений.
В конфигурации можно указать несколько корней игры, что позволяет пользователям одновременно запускать несколько модов без замены файлов в папке модов вручную. Однако обратите внимание, что это по-прежнему ограничено модами, которые не заменяют конфликтующие файлы.
Основной движущей силой разработки Mod Engine 2 является создание инструмента, который можно использовать для быстрого реверса интересующих нас игр. С этой целью мы предлагаем функции, упрощающие процесс реверса:
Интеграция с Optick Profiler
Написание сценариев во время выполнения и исправление живого кода
Аварийные дампы для всех пользователей
Mod Engine 2 охватывает все существующие функции оригинального Mod Engine для Dark Souls, но вводит некоторые важные новые функции, о которых следует знать авторам модов.
Мы создали приложение запуска, предназначенное для загрузки игр с предустановленными модами без необходимости вручную копировать файлы на своей стороне. Исторически моды располагались в том же месте, что и папка с игрой, и Mod Engine пытался перенаправить запросы к файлам игры на пути к файлам модов в подкаталогах этой папки с игрой. Эта модель развертывания была негибкой и требовала множества настроек вручную, если пользователь хотел установить несколько модов, переключаясь между ними по своему усмотрению.
Для решения этой проблемы был создан modengine2_launcher
. Это простое приложение командной строки преследует три основные цели.
Найдите, куда пользователь установил игру
Запустите игру с уже загруженным modengine2.dll.
Передать в modengine2.dll информацию о конфигурации, с которой пользователь запустил игру.
Это позволяет нам сохранять моды, модный движок и саму игру полностью независимыми. В результате запуск игры непосредственно из Steam всегда приводит к запуску ванильного экземпляра.
Mod Engine 2 представляет поддержку расширений и плагинов, которые предназначены для замены старого механизма цепной загрузки устаревшего Mod Engine. Расширения могут использовать основные функции для регистрации исправлений, перехватчиков кода и взаимодействия с другими расширениями. В будущем это будет расширено для поддержки сценариев Lua во время выполнения.
ScyllaHide включен в дистрибутивы Mod Engine 2 и позволяет отлаживать игры с помощью собственных отладчиков, не беспокоясь об обходе методов защиты от отладки с помощью таких программ, как Cheat Engine. Вместо этого вы можете использовать свой любимый отладчик (WinDbg, x64dbg или даже Cheat Engine, не полагаясь на поддержку VEH).
НЗП