중요한
Mod Engine 2의 개발이 중단되었습니다. 앞으로의 모든 작업은 나에게 이루어질 것입니다3.
Mod Engine 2는 FROM Software가 Souls 게임에 모딩 기능을 추가하는 데 사용되는 런타임 코드 패치 및 주입 라이브러리인 Mod Engine을 완전히 재작성한 것입니다.
시작하기
지원되는 게임
차이점
특징
최신 릴리스를 다운로드하세요.
mod 폴더에 폴더를 만듭니다. 명확성을 위해 모드 이름을 권장합니다.
방금 생성한 폴더에 모드의 압축을 풀어주세요.
방금 생성한 폴더를 포함하도록 config_eldenring.toml
(또는 선택한 게임)을 편집하세요.
모드 = [ { 활성화 = true, 이름 = "BetterAshes", 경로 = "modashes" }, { 활성화 = true, 이름 = "CleversMoveset", 경로 = "modmoveset" }, { 활성화 = false, 이름 = "EnemyRandomizer", 경로 = "modrandomizer" }, ]
현재 Mod Engine 2를 지원하는 게임에 대한 정보는 아래 목록을 참조하세요.
다크 소울 3
엘든 링
다크 소울 2: SOTF
다크 소울 리마스터
세키로: 섀도우 다이 트와이스
블러드본
레거시 Mod Engine과 새 버전 사이에는 몇 가지 큰 아키텍처 차이가 있으며, 그 중 대부분은 1) 구성 형식과 2) ModEngine을 게임에 로드하는 방법에 있습니다. 이러한 차이점에 대한 자세한 내용은 아래에 나열되어 있습니다.
이전 .ini
형식은 사라지고 TOML을 기반으로 하는 새로운 구조적 구성 파일로 대체되었습니다. 이 변경은 플러그인이 자체 구성 요구 사항을 지정할 수 있도록 허용하여 Mod Engine의 새로운 확장 모델에 적합합니다.
이는 모드 로더 플러그인에서 로드해야 하는 모드 목록과 활성화 여부를 지정하는 데 사용됩니다. 향후 웹사이트, 버전, 작성자 등과 같은 추가 정보가 포함된 "모드 매니페스트"를 지원하도록 확장될 수 있습니다.
dinput8.dll
로 사이드로드하는 것은 선택 사항입니다. 런처의 도입으로 우리는 더 이상 dinput8.dll
통해 로딩되는 게임에 의존할 필요가 없으며 대신 사전 구성된 게임을 시작할 수 있습니다. 이렇게 하면 사이드로드에 의존하는 다른 모든 작업을 위해 이 모듈을 확보할 수 있습니다.
구성에서 여러 게임 루트를 지정할 수 있으므로 사용자는 모드 폴더의 파일을 수동으로 바꾸지 않고도 여러 모드를 동시에 실행할 수 있습니다. 그러나 이는 여전히 충돌하는 파일을 대체하지 않는 모드로 제한된다는 점에 유의하세요.
Mod Engine 2 개발의 주요 동인은 우리가 관심 있는 게임을 빠르게 되돌리는 데 사용할 수 있는 도구를 만드는 것입니다. 이를 위해 우리는 되돌리기 프로세스를 더 쉽게 만드는 기능을 제공합니다.
Optick 프로파일러와 통합
런타임 스크립팅 및 라이브 코드 패치
모든 사용자를 위한 크래시 덤프
Mod Engine 2는 Dark Souls용 원본 Mod Engine의 기존 기능을 모두 포함하지만 모드 작성자가 알아야 할 몇 가지 중요한 새 기능을 소개합니다.
우리는 사용자가 수동으로 파일을 복사할 필요 없이 사전 설치된 모드로 게임을 부팅하도록 설계된 런처 애플리케이션을 만들었습니다. 역사적으로 모드는 게임 폴더와 동일한 위치에 있으며 Mod 엔진은 게임 파일에 대한 요청을 이 게임 폴더의 하위 디렉터리에 있는 모드 파일 경로로 리디렉션하려고 시도합니다. 이 배포 모델은 유연성이 없었고 사용자가 여러 모드를 설치하고 원하는 모드 간에 전환하려는 경우 많은 수동 조정이 필요했습니다.
이 문제를 해결하기 위해 modengine2_launcher
만들어졌습니다. 이 간단한 명령줄 애플리케이션에는 3가지 주요 목표가 있습니다.
사용자가 게임을 설치한 위치 찾기
이미 로드된 modengine2.dll로 게임을 시작하세요.
사용자가 게임을 시작한 구성에 대한 정보를 modengine2.dll에 전달합니다.
이를 통해 모드, 모드 엔진 및 게임 자체를 완전히 분리된 상태로 유지할 수 있습니다. 결과적으로 Steam에서 직접 게임을 실행하면 항상 바닐라 인스턴스가 실행됩니다.
Mod Engine 2에는 레거시 Mod Engine의 기존 체인 로딩 메커니즘을 대체하도록 설계된 확장 및 플러그인에 대한 지원이 도입되었습니다. 확장은 핵심 기능을 사용하여 패치, 코드 후크를 등록하고 다른 확장과 상호 작용할 수 있습니다. 이는 향후 런타임 Lua 스크립팅을 지원하도록 확장될 예정입니다.
ScyllaHide는 Mod Engine 2 배포판에 포함되어 있으며 치트 엔진과 같은 프로그램을 사용하여 안티 디버그 기술을 피할 염려 없이 기본 디버거를 통해 게임을 디버깅할 수 있습니다. 대신, 선호하는 디버거(WinDbg, x64dbg 또는 VEH 지원에 의존하지 않는 치트 엔진)를 사용할 수 있습니다.
WIP