Wichtig
Die Entwicklung der Mod Engine 2 wird eingestellt. Alle zukünftigen Arbeiten werden an me3 durchgeführt.
Mod Engine 2 ist eine grundlegende Neufassung der Mod Engine, einer Laufzeit-Code-Patching- und Injektionsbibliothek, die von FROM Software zum Hinzufügen von Modding-Funktionalität zu den Souls-Spielen verwendet wird.
Fangen Sie an
Unterstützte Spiele
Unterschiede
Merkmale
Laden Sie die neueste Version herunter.
Erstellen Sie einen Ordner im Mod-Ordner. Zur besseren Übersichtlichkeit empfehle ich den Namen des Mods.
Entpacken Sie den Mod in den gerade erstellten Ordner.
Bearbeiten Sie die config_eldenring.toml
(oder das Spiel Ihrer Wahl) so, dass sie den Ordner enthält, den Sie gerade erstellt haben.
mods = [ { aktiviert = true, name = "BetterAshes", path = "modashes" }, { aktiviert = true, name = "CleversMoveset", path = "modmoveset" }, { aktiviert = false, name = "EnemyRandomizer", path = "modrandomizer" }, ]
In der Liste unten finden Sie Informationen zu Spielen, die derzeit in Mod Engine 2 unterstützt werden.
Dunkle Seelen 3
Elden-Ring
Dark Souls 2: SOTF
Dark Souls Remastered
Sekiro: Shadows Die Twice
Bloodborne
Es gibt einige große Architekturunterschiede zwischen der alten Mod Engine und der neuen Version, die größtenteils in 1) dem Konfigurationsformat und 2) der Art und Weise liegen, wie wir ModEngine in das Spiel laden. Weitere Details zu diesen Unterschieden sind unten aufgeführt.
Das alte .ini
-Format ist verschwunden und wurde durch eine neue strukturierte Konfigurationsdatei basierend auf TOML ersetzt. Diese Änderung soll dem neuen Erweiterungsmodell der Mod Engine entsprechen, indem es Plugins ermöglicht, ihre eigenen Konfigurationsanforderungen anzugeben.
Dies wird vom Mod-Loader-Plugin verwendet, um Listen von Mods anzugeben, die geladen werden sollen, und um anzugeben, ob sie aktiviert werden sollen oder nicht. Es kann in Zukunft erweitert werden, um ein „Mod-Manifest“ zu unterstützen, das zusätzliche Informationen wie Website, Version, Autoren usw. enthalten würde.
dinput8.dll
ist optional Mit der Einführung eines Launchers müssen wir uns nicht mehr darauf verlassen, dass Spiele über dinput8.dll
geladen werden, sondern können das Spiel stattdessen vorkonfiguriert starten. Dadurch wird dieses Modul für alles andere frei, das auf das Seitenladen angewiesen ist.
In der Konfiguration können mehrere Spiel-Roots angegeben werden, sodass Benutzer mehrere Mods gleichzeitig ausführen können, ohne Dateien in ihrem Mod-Ordner manuell ersetzen zu müssen. Beachten Sie jedoch, dass dies immer noch auf Mods beschränkt ist, die keine in Konflikt stehenden Dateien ersetzen.
Der Hauptgrund für die Entwicklung von Mod Engine 2 ist die Schaffung eines Tools, mit dem die Spiele, an denen wir interessiert sind, schnell rückgängig gemacht werden können. Zu diesem Zweck bieten wir Funktionen an, die den Umkehrvorgang einfacher machen:
Integration mit Optick Profiler
Laufzeitskripting und Live-Code-Patching
Absturzdumps für alle Benutzer
Mod Engine 2 deckt alle vorhandenen Funktionen der ursprünglichen Mod Engine für Dark Souls ab, führt jedoch einige wichtige neue Funktionen ein, die Mod-Autoren kennen sollten.
Wir haben eine Launcher-Anwendung erstellt, mit der Sie Spiele mit vorinstallierten Mods starten können, ohne dass der Benutzer seinerseits Dateien manuell kopieren muss. In der Vergangenheit befanden sich Mods am selben Ort wie der Spielordner und die Mod Engine versuchte, Anfragen nach Spieldateien an Mod-Dateipfade in Unterverzeichnissen dieses Spielordners umzuleiten. Dieses Bereitstellungsmodell war unflexibel und erforderte viele manuelle Anpassungen, wenn ein Benutzer mehrere Mods installieren und nach Belieben zwischen ihnen wechseln wollte.
Um dieses Problem zu lösen, wurde modengine2_launcher
erstellt. Diese einfache Befehlszeilenanwendung hat drei Hauptziele.
Finden Sie heraus, wo ein Benutzer das Spiel installiert hat
Starten Sie das Spiel mit bereits geladener modengine2.dll
Übergeben Sie an modengine2.dll Informationen über die Konfiguration, mit der der Benutzer das Spiel gestartet hat
Dies ermöglicht es uns, Mods, Modengine und das Spiel selbst vollständig voneinander zu trennen. Wenn Sie das Spiel direkt über Steam ausführen, wird daher immer eine Vanilla-Instanz gestartet.
Mod Engine 2 führt Unterstützung für Erweiterungen und Plugins ein, die den alten Chainloading-Mechanismus der alten Mod Engine ersetzen sollen. Erweiterungen können Kernfunktionen nutzen, um Patches und Code-Hooks zu registrieren und mit anderen Erweiterungen zu interagieren. Dies wird schließlich erweitert, um in Zukunft Laufzeit-Lua-Skripting zu unterstützen.
ScyllaHide ist in Mod Engine 2-Distributionen enthalten und ermöglicht das Debuggen von Spielen über native Debugger, ohne sich Gedanken darüber machen zu müssen, Anti-Debug-Techniken mithilfe von Programmen wie Cheat Engine zu umgehen. Stattdessen können Sie Ihren bevorzugten Debugger (WinDbg, x64dbg oder sogar Cheat Engine) verwenden, ohne auf VEH-Unterstützung angewiesen zu sein.
In Bearbeitung