Elden Ring Modding
Published:
My experience in the FromSoftware modding community. Inspired by the Seamless Co-op mod by Luke Yui.
Types of Mods
In my experience, the more complex mods can be broadly categorized into two main types:
1. External Mods
These mods operate independently of the game process and do not require any modifications to the game’s executable.
2. In-process Mods
These mods require injecting code into the game’s process. They can modify game behavior, add new features, or even create entirely new gameplay experiences.
DLL Injection
To me, this is the most powerful, interesting, and complex part of modding. DLL injection is where a custom DLL is loaded into the game’s memory space. This allows the mod to interact with the game’s functions and data structures directly.
Although the Seamless Co-op mod itself is private, the author Luke Yui has a public launch_modded_eldenring repository that is a great demonstration of DLL injection in action.
Challenges and Considerations
Ignoring anti-cheat systems and such, the most significant challenge is understanding the game’s memory structure and how to manipulate it effectively.
Fortunately, FromSoftware does not actively discourage modding with obfuscation, but this still requires a deep understanding of reverse engineering and memory management.
Tools and Resources
One of the main tools for this is Ghidra, a powerful open-source reverse engineering tool that can help you analyze the game’s binary files and understand its internal workings.
Community Support
The FromSoftware modding community is a necessary resource for this process. If you join the FromSoft Reverse Engineering Discord, go to the elden-ring-reverse-engineering channel and ask nicely, you can get access to their Shared Souls Ghidra Server and its corresponding discord server.
This shared Ghidra server is a great resource for modders, as it contains a wealth of information about the game’s memory structure and functions. It also allows you to collaborate with other modders and share your findings.
Additionally, the community is very active and helpful, with many experienced modders willing to share their knowledge and resources. Just make sure to read the rules and guidelines before asking for help.
Resources
Essential Tools
- Ghidra - Open-source reverse engineering tool
Mods and Examples
- Seamless Co-op - Inspiration for this post
- launch_modded_eldenring - Example of DLL injection
Community
- FromSoft Reverse Engineering Discord - Join for modding support and resources