Об этом проекте
MelonLoader — это загрузчик модов, предназначенный для игр на Unity, по описанию его сопровождающих совместимый как с Il2Cpp, так и с Mono бэкендами игр. Он распространяется под лицензией Apache License 2.0 и разрабатывается организацией LavaGang.
Как это работает: MelonLoader использует прокси-DLL, чтобы заставить игру загрузить загрузчик при запуске. В Windows прокси можно переименовать в набор совместимых имён файлов (по умолчанию version.dll, а также winhttp.dll, winmm.dll, dinput.dll, dinput8.dll, dsound.dll, d3d8/9/10/11/12.dll, ddraw.dll, msacm32.dll). Плагины помещаются в папку Plugins, а моды — в папку Mods, обе создаются внутри каталога установки игры. Логи записываются в папку MelonLoader/Logs.
Установка: Предлагаются готовые установщики для Windows (.exe), Linux и macOS (.dmg). Ручная установка включает извлечение папки MelonLoader, а также version.dll и dobby.dll в каталог игры; удаление означает удаление этих файлов с возможным удалением папок Plugins, Mods и UserData. Для игр на Il2Cpp в качестве требования указана .NET 6.0 Desktop Runtime (устанавливается автоматически в Windows).
Конфигурация: TOML-файл конфигурации по пути ./UserData/Loader.cfg предоставляет параметры для отключения загрузчика, режима отладки, захвата логов Unity player, уровня подробности логов Harmony, исправлений принудительного выхода, стартового экрана, запуска отладчика, темы консоли, видимости консоли и поведения поверх других окон, количества хранимых логов, адреса/порта отладочного сервера Mono, переопределения версии Unity и управления генерацией сборок Il2Cpp (офлайн-генерация, регулярное выражение, версия дампера, принудительная регенерация, процессоры Cpp2IL).
Параметры запуска: Аргументы командной строки повторяют конфигурацию, включая --no-mods, --quitfix, --melonloader.debug, --melonloader.hideconsole, --melonloader.hidewarnings, --melonloader.captureplayerlogs, --melonloader.harmonyloglevel, --melonloader.maxlogs, --melonloader.loadmodeplugins, --melonloader.loadmodemods, --melonloader.basedir, --melonloader.disablestartscreen, а также специфичные для Unity параметры, такие как --melonloader.unityversion, --melonloader.agfoffline, --melonloader.agfregenerate, --melonloader.agfregex, --melonloader.agfvdumper, --melonloader.disableunityclc, --melonloader.monosearchpathoverride, и параметры Cpp2IL --cpp2il.callanalyzer и --cpp2il.nativemethoddetector.
Поддержка платформ: Windows является основной целью для прокси-механизма; поддержка Linux документирована для WINE, Steam Proton и нативных установок, а поддержка Android/Oculus Quest отмечена как находящаяся в разработке. Приведены ссылки на примеры проектов (TestPlugin, TestMod) и ночные сборки для веток master, alpha-development и universality.
Лицензирование и благодарности: Проект включает или ссылается на множество сторонних библиотек, включая Dobby, plthook, Mono, HarmonyX, MonoMod, Mono.Cecil, Newtonsoft.Json, TinyJSON, Tomlet, AsmResolver, SharpZipLib, Semver, Illusion Plugin Architecture, MuseDashModLoader, mgGif, AssetsTools.NET, AssetRipper.VersionUtilities, bHapticsLib, IndexRange, ValueTupleBridge, WebSocketDotNet, Pastel и Il2CppInterop, а также на загружаемые во время выполнения инструменты, такие как Cpp2IL и .NET Runtime. В README отмечается, что MelonLoader не спонсируется и не связан с Unity Technologies.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.