عن المشروع

MelonLoader هو محمّل تعديلات (mod loader) مصمم لألعاب Unity، ويصفه مطوروه بأنه متوافق مع محركي ألعاب Il2Cpp وMono. يُوزَّع المشروع بموجب رخصة Apache License 2.0، وتطوّره منظمة LavaGang. كيف يعمل: يستخدم MelonLoader ملف DLL وكيل (proxy 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) في مجلد Plugins، والتعديلات (mods) في مجلد 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 يتيح خيارات لتعطيل المحمّل، ووضع التصحيح (debug)، والتقاط سجلات Unity player، ومستوى تفاصيل سجلات Harmony، وإصلاحات الإجبار على الإنهاء (force-quit)، وشاشة البداية، وتشغيل المصحح (debugger)، وسمة وحدة التحكم، وظهورها وسلوكها في المقدمة، وعدد السجلات المحفوظة، وعنوان ومنفذ خادم تصحيح 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 ولا تابع لها.