Sobre o projeto
MelonLoader é um carregador de mods projetado para jogos Unity, descrito por seus mantenedores como compatível com os backends de jogos Il2Cpp e Mono. É distribuído sob a Licença Apache 2.0 e desenvolvido pela organização LavaGang.
Como funciona: MelonLoader usa uma DLL proxy para fazer o jogo carregar o carregador na inicialização. No Windows, a proxy pode ser renomeada para um conjunto de nomes de arquivo compatíveis (version.dll por padrão, além de winhttp.dll, winmm.dll, dinput.dll, dinput8.dll, dsound.dll, d3d8/9/10/11/12.dll, ddraw.dll, msacm32.dll). Os plugins são colocados em uma pasta Plugins e os mods em uma pasta Mods, ambas criadas dentro do diretório de instalação do jogo. Os logs são gravados em uma pasta MelonLoader/Logs.
Instalação: Instaladores pré-compilados são oferecidos para Windows (.exe), Linux e macOS (.dmg). A instalação manual envolve extrair a pasta MelonLoader, além de version.dll e dobby.dll, no diretório do jogo; desinstalar significa remover esses arquivos, com remoção opcional das pastas Plugins, Mods e UserData. Para jogos Il2Cpp, o .NET 6.0 Desktop Runtime é listado como requisito (instalado automaticamente no Windows).
Configuração: Um arquivo de configuração TOML em ./UserData/Loader.cfg expõe opções para desativar o carregador, modo de depuração, capturar logs do player Unity, verbosidade de log do Harmony, correções de encerramento forçado, tela inicial, inicialização do depurador, tema do console, visibilidade do console e comportamento sempre no topo, contagem de retenção de logs, endereço/porta do servidor de depuração Mono, substituição de versão do Unity e controles de geração de assembly Il2Cpp (geração offline, regex, versão do dumper, regeneração forçada, processadores Cpp2IL).
Opções de inicialização: Os argumentos de linha de comando espelham a configuração, incluindo --no-mods, --quitfix, --melonloader.debug, --melonloader.hideconsole, --melonloader.hidewarnings, --melonloader.captureplayerlogs, --melonloader.harmonyloglevel, --melonloader.maxlogs, --melonloader.loadmodeplugins, --melonloader.loadmodemods, --melonloader.basedir, --melonloader.disablestartscreen, além de opções específicas do Unity como --melonloader.unityversion, --melonloader.agfoffline, --melonloader.agfregenerate, --melonloader.agfregex, --melonloader.agfvdumper, --melonloader.disableunityclc, --melonloader.monosearchpathoverride e opções Cpp2IL --cpp2il.callanalyzer e --cpp2il.nativemethoddetector.
Suporte de plataforma: Windows é o alvo principal para o mecanismo de proxy; o suporte a Linux é documentado para WINE, Steam Proton e configurações nativas, e o suporte a Android/Oculus Quest é marcado como trabalho em andamento. Projetos de exemplo (TestPlugin, TestMod) e builds noturnos para os ramos master, alpha-development e universality estão vinculados.
Licenciamento e créditos: O projeto inclui ou referencia várias bibliotecas de terceiros, incluindo 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 e Il2CppInterop, além de ferramentas baixadas em tempo de execução como Cpp2IL e .NET Runtime. O README observa que MelonLoader não é patrocinado nem afiliado à Unity Technologies.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.