Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Mortal Shell II runtime probe 0.1.0

This is the first discovery module for an extender project, not a finished script extender or a confirmed game-specific UE4SS compatibility patch. UE4SS binaries are downloaded separately from the upstream project.

Evidence from your installation

Item Observed value
Steam App ID 2584270
Steam build ID 25133113
Game directory E:\SteamLibrary\steamapps\common\Sparta
Runtime executable MortalShell2\Binaries\Win64\MortalShell2-Win64-Shipping.exe
Runtime size 196,493,312 bytes
Runtime product version ++Sparta-Depot+Main+CL93241+1339-CL-0
Engine version Unknown: diagnostic scan found no matching release markers or Build.version
UE4SS files None found in the scanned inventory

The small root MortalShell2.exe is consistent with Unreal's launcher layout. Use the nested Win64 folder for the loader. The report also contains Unreal IoStore-style .utoc/.ucas files; these do not establish the engine's minor version or a need for archive extraction to run this probe.

The exact shipping executable SHA-256 is stored in build-profile.json for future compatibility tracking. The Lua probe does not enforce this profile; it uses generic reflected Engine types and no hardcoded game addresses.

Step 1: establish that UE4SS starts

  1. Close Mortal Shell II.

  2. Download the newest zDEV-UE4SS ZIP under Assets on the official experimental release page. Use the development binary archive, not GitHub's source-code ZIP. Keep its exact filename so we can identify the loader revision. This is a compatibility experiment, not an assertion that this release supports your game.

  3. Extract the archive contents into:

    E:\SteamLibrary\steamapps\common\Sparta\MortalShell2\Binaries\Win64
    

    The current experimental layout places dwmapi.dll directly in Win64 and UE4SS.dll, UE4SS-settings.ini, and Mods inside Win64\ue4ss. Preserve the archive's directory layout. If a destination file already exists, stop and report it rather than replacing another loader.

  4. Launch normally through Steam and reach the main menu. Close the game and check Win64\ue4ss\UE4SS.log for fresh startup output. Do not change the engine-version override based on a guess.

  5. If launch fails, the log reports unresolved core engine signatures, or no log appears, stop here and send the log (if any), archive filename, and symptom. Do not proceed with the probe until loader initialization succeeds.

For a reproducible first test, you can disable bundled gameplay/example mods in the extracted Mods\mods.txt by changing their enabled values from 1 to 0. Keep support folders such as shared and Keybinds, and keep the Keybinds entry enabled if the archive includes one. If a bundled mod has an enabled.txt marker, rename that marker to enabled.txt.disabled to disable it. Record any changes you make. Do not replace the settings file wholesale.

Step 2: load this project's discovery module

  1. With the game closed, copy the MS2Probe folder from this package into:

    E:\SteamLibrary\steamapps\common\Sparta\MortalShell2\Binaries\Win64\ue4ss\Mods
    

    Verify the result is Mods\MS2Probe\Scripts\main.lua.

  2. Open the existing ue4ss\Mods\mods.txt and add this one line:

    MS2Probe : 1
    

    Preserve the other entries. Do not replace the file with just that line.

  3. Launch from Steam and load into gameplay. The log should contain [MS2Probe] BOOT and [MS2Probe] READY before any snapshot is requested.

  4. Once you control your character, press Ctrl+F8 once, with the game focused. The probe queues work on the game thread, inspects PlayerController candidates and their Pawn references, and prints object names and classes. The global object lookup can cause a brief hitch; there is no periodic scan.

  5. Close the game and upload ue4ss\UE4SS.log, together with the exact downloaded UE4SS archive filename. The useful probe section starts with [MS2Probe].

If BOOT is present but READY is not, send the initialization error. If a snapshot is requested but never starts, send the log without repeatedly pressing the hotkey. If no controller/pawn appears at the menu, retry once in gameplay.

What this module proves

  • BOOT: UE4SS executed our Lua entry point.
  • READY: the diagnostic hotkey registered.
  • SNAPSHOT_BEGIN/END with object names: a queued game-thread inspection completed.
  • Controller/pawn class names: candidates for the next stage of API discovery.

None of those alone proves that inventory, health, shell identity, events, or save-safe modification functions have been mapped. This module does not write game properties, spawn items, or claim a particular controller is the local player. Lua error handlers can report script errors; they cannot contain a native crash inside an incompatible loader.

Disable or remove

To disable this probe, close the game and change MS2Probe : 1 to MS2Probe : 0. To disable the newly installed loader, close the game and rename only the dwmapi.dll added by that UE4SS archive to dwmapi.dll.disabled. Keep the log. Do not remove unrelated DLLs. To remove the probe, delete its MS2Probe folder and its single mods.txt entry after closing the game.

Validation

Lua 5.4 mock tests cover bootstrap, menu/no-player state, controller and pawn inspection, invalid references, per-candidate errors, queued-work deduplication, and error recovery. Those tests do not emulate Unreal memory or prove UE4SS compatibility. Windows and in-game testing are pending.

The test can be rerun from this package directory with Lua 5.4:

lua tests/test_probe.lua

Technical references

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors