soulsmods / modengine2 Goto Github PK
View Code? Open in Web Editor NEWRuntime injection library for modding Souls games. WIP
License: MIT License
Runtime injection library for modding Souls games. WIP
License: MIT License
Hi: Im new to using the software and upon downloading your latest release I cannot find the executable or the place to place mods.
Any resources I can watch or read to help better?
Fresh install of elden ring with steam in the C drive and the bat instantly closes. I tested the DS3 bat file and it works like a charm. Any ideas on what this could be? Thanks!
Soooo what should we do if we don't have the game in the steam library? Even sticking it in the game's main folder doesn't work either.
So far, it seems myself and others have not been able to get Elden Ring mods to work through ModEngine.
And yet, the biggest issue I am seeing is everytime the game is booted via ModEngine, the controller support seems nonexistant. Even if I could get my mods to work, and unfortunately one of them REQUIRES this ModEngine, I wouldn't be able to play with a controller.
Hi, thanks a lot for making this. I have been trying to mod the player sound by modding "vcmain.bnk" in "sound\enus". I have made the same file structure in the "mod" folder but there nothing happens in game. My other mods for the armous are working, so I am wondering whether the "vcmain.bnk" is intercepted or not.
I have downloaded a mod which requires ModEngine2 to work. i have put the mod files into the mod folder and clicked the EldenRing.BAT, it loads into the game but the mods are not there. Any ideas why this is happening?
When I use this mod engine 2 together with the seamless coop mod (https://www.nexusmods.com/eldenring/mods/510),
sometimes the game loads the vanilla saves, and sometimes the coop saves.
Seamless coop changes the savegame file names the game saves to (keeping the coop and vanilla saves separate), maybe there's a race condition between that (loaded via mod loader through dinput8.dll) and mod engine 2?
For mods that affect the same files, while loading both, check the difference and if they don't overwrite the same lines/data, diff the mods and merge them either into the first listed, or into a copy of the original file.
Of course, if there are conflicts, prefer the first listed mod instead and perhaps show a warning.
bat file does not exist. There are no exe files either. Is it not possible to download it now?
I have put all modengine file in directory where eldenring.exe exists.
powershell
..\ELDEN RING\Game>.\modengine2_launcher.exe -t er -c .\config_eldenring.toml
[2022-05-08 10:20:56.960] [stderr] [error] Couldn't find path to game
Using Cheat Engine 7.4, scanning and finding hp works, but if you use "find what writes to this address" the game will crash. Crash is instant if using VEH debugger, but takes some time if using Windows debugger.
App version: 1.04.1
Calibrations version: 1.04.2
config_eldenring.toml
[modengine]
debug = true
[extension.mod_loader]
enabled = false
loose_params = false
mods = []
[extension.scylla_hide]
enabled = true
modengine_2022-05-09.log
[2022-05-09 02:20:55.880] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-05-09 02:20:55.880] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-05-09 02:20:55.881] [modengine] [info] Main thread ID: 7036
[2022-05-09 02:20:55.883] [modengine] [info] Enabling extension base
[2022-05-09 02:20:55.883] [modengine] [info] Enabled extension base
[2022-05-09 02:20:55.884] [modengine] [info] Enabling extension scylla_hide
[2022-05-09 02:20:55.884] [modengine] [info] Found valid ScyllaHide injector. Injecting into game.
[2022-05-09 02:20:55.884] [modengine] [info] Starting ScyllaHide injector: E:\elden ring mods\ModEngine-2.0.0-preview3-win64\modengine2\tools\scyllahide\InjectorCLIx64.exe pid:6860 ./HookLibraryx64.dll nowait
[2022-05-09 02:20:55.888] [modengine] [info] Launched Scyllahide process.
[2022-05-09 02:20:55.908] [modengine] [info] ScyllaHide successfully injected
[2022-05-09 02:20:55.909] [modengine] [info] Enabled extension scylla_hide
[2022-05-09 02:20:55.909] [modengine] [info] Applied 1 hooks
[2022-05-09 02:20:55.911] [modengine] [info] Starting worker thread
A user may wish to have a few Mod Engine configurations, for example an Ashes configuration, and a modded vanilla configuration. They should be able to create a profile to store the configuration for each of these scenarios, and also use separate save file locations.
A profile would contain:
here's the link https://wiki.speedsouls.com/darksouls3:Crash_Fix
We should support translating the Japanese text in the debug menu.
Current solution: hook debug menu draw functions and use a LUT to find a translation. A CE table that does this for format style strings in the debug menu (i.e. printf 'this is a %s string' 'format'
) as an example:
alloc(translate_debug_format_string, 2048, DarkSoulsIII.exe+176D4E3)
globalalloc(translation_table, 4194304, DarkSoulsIII.exe+176D4E3) // enough space for 8k strings 128 chars long
globalalloc(translation_counter, 4)
label(translation_found)
label(translation_search_loop)
label(original_debug_string_format)
label(returnhere)
translation_counter:
dw 0
translation_table:
dq 0
translate_debug_format_string:
push rcx
push r14
mov r14, rdx
lea rcx, [translation_table]
translation_search_loop:
cmp dword ptr [rcx], 0
je translation_found
push rcx
push rdx
mov r8, 128
call wcsncmp
pop rdx
pop rcx
add rcx, 0x200
test eax, eax
jne translation_search_loop
sub rcx, 0x100
mov r14, rcx
translation_found:
mov rdx, r14
pop r14
pop rcx
original_debug_string_format:
mov r8, rdx
mov edx, 7FFFFFFF
jmp returnhere
DarkSoulsIII.exe+176D4E3:
jmp translate_debug_format_string
nop 3
returnhere:
[DISABLE]
DarkSoulsIII.exe+176D4E3:
mov r8, rdx
mov edx, 7FFFFFFF
dealloc(translation_counter)
dealloc(translation_table)
dealloc(translate_debug_format_string)
will there be an update soon for Mod Engine2 soon ?
I have tried to let ModEngine autodetect the path via Steam, and I've tried placing it in the game folder (the folder named "game" with eldenring.exe, not the top level one): in both cases, I get the same error:
[stderr] [error] Couldn't create process: 10b
Look at MS error codes, 10b means the directory name is invalid.
The game launches fine on its own, so the issue seemed specific to ModEngine and not due to unusual folder names: I've even tried copying the whole game into C:/Test/ to make sure of that, and I still got the same exact error when using the non-Steam path detection.
Consider modifying the launcher so that it provides more verbose logs, and consider letting the user configure game paths directly.
Pretty straightforward. enabled=false just... doesn't prevent loading that directory. I imagine it's broken with everything but my obvious test case is \msg\engus\item.msgbnd.dcx
A few examples, \mod\ contains correct msgbnd, \mod2\ contains incorrect msgbnd:
Correct msgbnd:
mods = [ { enabled = true, name = "default", path = "mod" }, { enabled = true, name = "yee", path = "mod2" } ]
Correct msgbnd:
mods = [ { enabled = true, name = "default", path = "mod" }, { enabled = false, name = "yee", path = "mod2" } ]
Incorrect msgbnd:
mods = [ { enabled = true, name = "yee", path = "mod2" }, { enabled = true, name = "default", path = "mod" } ]
Incorrect msgbnd:
mods = [ { enabled = false, name = "yee", path = "mod2" }, { enabled = true, name = "default", path = "mod" } ]
See https://github.com/wolfpld/tracy.
There's a few challenges here, rough list of them outlined below.
i put the mods in the mod folder and hit the .bat file and even though the game starts up none of the mods are present at all
Mod Engine should be able to connect to an asset editor (e.g. DSMapStudio) and stream updates from the editor into the game client in real-time.
A protocol needs to be designed to support this (probably streaming messages with protobufs).
I know the title sounds dumb but with mod engine can i just launch er from steam and not worry about being banned for having it installed
In the case where you have multiple file-based mods that replace the same file, the user might want to decide which of the mods gets to contribute that file. Add ordering/priority to the mod config objects and search using this order.
The mod manager GUI should allow the user to see the mods they have installed and also install a mod from a selected package. A mod package may be any one of the following.
Once installed the user should be able to enable/disable mods to launch the game with.
So, ModEngine2 stores it's mods and directory in a totally separate location from Elden Ring (for example, on my Desktop). I have a question.
By clicking on launchmod_eldenring.bat I launch the game WITH my mods (as intended).
My question is, if I launch the game through Steam, will I launch the game WITHOUT Mods? Or do I have to clean out the mods folder on my desktop before I launch the game?
Basicly... can I use Steam to launch an unmodded game, close it, then launch a modded game using launchmod_eldenring.bat... or do I have to be much more careful and always delete everything in my mod folder and do cleanup?
Since most Mod Engine interactions swill be done through the mod manager, this is where we should tell the user a new version is available.
If a new version is available, the user should have the following options:
Hello, sorry for taking ur time and thanks for helping me.
i have issue launching the (launchmod_eldenring) when i double click it or admin open it, it just close.
Oh by the way i don't have the original elden ring i have it cracked sadly but i will buy it when i have enough money.
hope u can help me, <3 bye
Ever since update 1.05 came out for elden ring, mods wont load correctly. Even a mod that claimed to be compatible with the update isnt working. Please look into this issue and please inform on your consensus.
Since you closed my ticket even though it wasn't resolved.
You said to place the files in the main folder with the eldenring.exe and I did, here's a screenshot, it doesn't work.
Since you also said:
The TOML file doesn't contain game paths, There's currently only 2 mechanisms for finding the game exe (and folder):
Find an executable named <game.exe> adjacent to modengine2_launcher.exe
Sorry to say, but it does not.
https://puu.sh/ITM7j/c9881f74e3.png
If the user selects a set of mods or switches profiles this information should be persistent. If they close and launch the mod manager again then clicking "Launch" (or whatever button is responsible for booting the game) should take them into the game with the same configuration as used previously.
Hello,
I don't know if this is the right place to ask for this as this involved toggling anti-cheat off.
I have used the Anti-cheat toggler and offline launcher to disable anti-cheat and if I launch start_protected_game.exe, anti cheat is indeed disabled but if I launch the game with modengine2, I get a save corrupted message (anti-cheat not disabled with modengine perhaps?).
What's wierd is that there is only one way I am able to even launch modengine2. If I launch launchmod_eldenring.bat, nothing happens. even if the modengine2 files are in the same location as eldenring.exe. The only way I am able to launch it is by launching powershell in admin mode, browsing to the game folder and sending the command
.\modengine2_launcher.exe -c .\config_eldenring.toml
Anyone else has a similar issue?
=====
EDIT: I was able to resolve the issue. I am not sure why it did not work initially but the .bet file randomly started working now so everything was resolved. Not sure how to delete or resolve this post sorry.
PS D:\games\ELDEN RING\Game> .\launchmod.bat
D:\games\ELDEN RING\Game>.\modengine2\bin\modengine2_launcher.exe -t er -c .\eldenring.config.toml
[2022-05-25 22:54:30.654] [stderr] [error] Couldn't find path to game
PS D:\games\ELDEN RING\Game>
For Elden Ring, specifically, now that this uses an executable which I assume launches Elden Ring via Steam and scans memory for it.
All that will happen currently is it'll launch, open a command terminal for a second with nothing in it, and then close, what I assume is the issue is that it can't launch Elden Ring.
I'm not entirely sure how to fix this, but I figure someone needs to make an issue about it eventually, especially now that Steam Deck is a thing, and Linux is far more popular as a result.
Possibly related pitfall to address: techiew/EldenRingMods#4
When my friend uses the er.bat, eldenring.exe will report the error 3 times likes ↓↓↓↓
I check the er.bat file and it's OK. So I check the modengine2's log like ↓↓↓↓
[2022-06-10 20:31:12.992] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-06-10 20:31:12.992] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-06-10 20:31:12.992] [modengine] [info] Main thread ID: 8428
[2022-06-10 20:31:12.994] [modengine] [info] Enabling extension base
[2022-06-10 20:31:12.994] [modengine] [info] Enabled extension base
[2022-06-10 20:31:12.994] [modengine] [info] Enabling extension mod_loader
[2022-06-10 20:31:12.994] [modengine] [info] Installing mod location mod
[2022-06-10 20:31:12.995] [modengine] [info] Resolved mod path to D:\07\ModEngine-2.0.0-preview3-win64\mod
[2022-06-10 20:31:12.995] [modengine] [info] Enabled extension mod_loader
[2022-06-10 20:31:13.069] [modengine] [info] Applied 3 hooks
[2022-06-10 20:31:13.071] [modengine] [info] Starting worker thread
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.175] [modengine] [info] Destroying
[2022-06-10 20:31:13.176] [modengine] [info] Destroying
[2022-06-10 20:31:33.452] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-06-10 20:31:33.452] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-06-10 20:31:33.452] [modengine] [info] Main thread ID: 13540
[2022-06-10 20:31:33.454] [modengine] [info] Enabling extension base
[2022-06-10 20:31:33.454] [modengine] [info] Enabled extension base
[2022-06-10 20:31:33.454] [modengine] [info] Enabling extension mod_loader
[2022-06-10 20:31:33.454] [modengine] [info] Installing mod location mod
[2022-06-10 20:31:33.454] [modengine] [info] Resolved mod path to D:\07\ModEngine-2.0.0-preview3-win64\mod
[2022-06-10 20:31:33.454] [modengine] [info] Enabled extension mod_loader
[2022-06-10 20:31:33.526] [modengine] [info] Applied 3 hooks
[2022-06-10 20:31:33.527] [modengine] [info] Starting worker thread
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:33.619] [modengine] [info] Destroying
[2022-06-10 20:31:49.472] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-06-10 20:31:49.472] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-06-10 20:31:49.472] [modengine] [info] Main thread ID: 3040
[2022-06-10 20:31:49.474] [modengine] [info] Enabling extension base
[2022-06-10 20:31:49.474] [modengine] [info] Enabled extension base
[2022-06-10 20:31:49.474] [modengine] [info] Enabling extension mod_loader
[2022-06-10 20:31:49.474] [modengine] [info] Installing mod location mod
[2022-06-10 20:31:49.474] [modengine] [info] Resolved mod path to D:\07\ModEngine-2.0.0-preview3-win64\mod
[2022-06-10 20:31:49.474] [modengine] [info] Enabled extension mod_loader
[2022-06-10 20:31:49.546] [modengine] [info] Applied 3 hooks
[2022-06-10 20:31:49.547] [modengine] [info] Starting worker thread
[2022-06-10 20:31:54.853] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-06-10 20:31:54.853] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-06-10 20:31:54.853] [modengine] [info] Main thread ID: 11584
[2022-06-10 20:31:54.855] [modengine] [info] Enabling extension base
[2022-06-10 20:31:54.855] [modengine] [info] Enabled extension base
[2022-06-10 20:31:54.855] [modengine] [info] Enabling extension mod_loader
[2022-06-10 20:31:54.855] [modengine] [info] Installing mod location mod
[2022-06-10 20:31:54.855] [modengine] [info] Resolved mod path to D:\07\ModEngine-2.0.0-preview3-win64\mod
[2022-06-10 20:31:54.855] [modengine] [info] Enabled extension mod_loader
[2022-06-10 20:31:54.926] [modengine] [info] Applied 3 hooks
[2022-06-10 20:31:54.927] [modengine] [info] Starting worker thread
[2022-06-10 20:32:26.451] [modengine] [info] ModEngine version 2.0.0-preview3-2144572dce7257d2cc477db78036e70dcd136b5a initializing for Elden Ring
[2022-06-10 20:32:26.451] [modengine] [info] Local settings loaded: true, Global settings loaded: false
[2022-06-10 20:32:26.451] [modengine] [info] Main thread ID: 8140
[2022-06-10 20:32:26.452] [modengine] [info] Enabling extension base
[2022-06-10 20:32:26.452] [modengine] [info] Enabled extension base
[2022-06-10 20:32:26.453] [modengine] [info] Enabling extension mod_loader
[2022-06-10 20:32:26.453] [modengine] [info] Installing mod location mod
[2022-06-10 20:32:26.453] [modengine] [info] Resolved mod path to D:\07\ModEngine-2.0.0-preview3-win64\mod
[2022-06-10 20:32:26.453] [modengine] [info] Enabled extension mod_loader
[2022-06-10 20:32:26.524] [modengine] [info] Applied 3 hooks
[2022-06-10 20:32:26.525] [modengine] [info] Starting worker thread
It seems normal(?)
And then, I try put the files into game folder without "-t er", although I don't think the error is related to the path but have a try, and it still error for unexcetped params.
I can launch normally, but my friend fails in the same condition. And we can launch by seamless-coop's launcher.
User should be able to see the list of games that Mod Engine has detected they have installed. If they are not found via the Steam library look up method, the user should be able to register them manually.
The source files that require the Dear ImGui, sol2, and spdlog headers take quite a bit of time to process, just because of the sheer size of the headers. We should get back to sub-5s build times if we push these into a precompiled header.
hello, does someone knows how to make work mod engine 2 under steam deck (linux) .when i launch the file .exe by using proton/wine, i only have a black command screen popping up then disappears then nothing. Trying to resolve that since several days, thank you !
This would make it possible to directly launch custom launchers like the one for elden ring seamless coop mod. https://www.nexusmods.com/eldenring/mods/510?tab=description
I swear I must be doing something wrong.
I have the mods in the "mod" folder and I'm launching the .bad file and the game isn't loading with mods.
mods = [
{ enabled = false, name = "EldenRingRandomizer", path = "randomizer" }
]
This won't work. The only way to disable mods is commenting out this line.
The API only supports scanning for sequences of bytes and replacing those at the moment. Add a corresponding API to register patches at a given address (or maybe RVA?)
E.g.
on_attach() {
register_patch(DS3, 0x14xxxxxxx, replacement);
register_patch(DS2, hex_string("CA FE BA BE"), replacement);
}
At present the only way to load ModEngine2 into a game is by side-loading it via dinput8
. This means the filesystem has to be put in a state where any launch of the game would result in modengine loading.
We should support an alternative approach of using a DLL-injecting launcher. Something that can be ran like:
> $ modengine-exec --config my_mod/modengine.toml ./DarkSoulsIII.exe
I'm trying to install with the Seamless Coop mod for Elden Ring to use mods. I've installed before with no issues at all, but now after installing and attempting to launch the launchmod_eldenring.bat, it says that MSVCP140_ATOMIC-WAIT.dll was not found. I've tried reinstalling completely fresh, but nothing changes.
Is there any way to change the path directory
App Ver. 1.04.1
Calibrations Ver. 1.04.2
No error or window pops up when I try to load the mod (The "chr" file like I read on the Nexusmods page) into the "mod" file nothing happened, this is probably because I can't make a custom Path directory, but if there is a way, someone just let me know.
Doesn't seem to work with Proton, Tried on POP OS and verified that at least Seamless Coop seems to work fine. However modengine doesn't seem to. Just wanted to pop in and say it, and if there's anything I can provide or assist with just let me know.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.