-
Notifications
You must be signed in to change notification settings - Fork 0
Troubleshooting
cybersnakeh edited this page Apr 22, 2026
·
2 revisions
The symptoms you're most likely to hit, and the one-line diagnostic for each. If you hit something that isn't here, file a bug report with the logs + the version visible in the ZeusMod titlebar.
- The installer folder-lookup walks every Steam library folder
listed in
…\Steam\steamapps\libraryfolders.vdf. If your Icarus install is on a drive that isn't registered there, ZeusMod can't find it. - Fix — launch Icarus through Steam at least once, or add the library folder in Steam → Settings → Storage.
- Electron crash logs land at
%APPDATA%\ZeusMod\logs\. Send the most recent*.logwhen filing a bug. - Most recurring cause: graphics driver blocking hardware
acceleration. Launch with
ZeusMod.exe --disable-gpuonce to confirm.
- Check that
Icarus-Win64-Shipping.exeis actually in your task list and has finished loading a prospect. Attaching against the main menu sometimes fails because not every class we resolve is loaded yet. - If it still fails, open the DevTools (Ctrl+Shift+I) and read the error on the Attach button's status strip.
| Error token | Meaning | Fix |
|---|---|---|
BAD_PID |
tasklist parser didn't find the game | Relaunch Icarus; make sure you're past the loading screen |
WIN32 5 |
ERROR_ACCESS_DENIED on OpenProcess
|
Run ZeusMod as admin or disable any AV that hardens Icarus |
LOAD_FAILED |
LoadLibraryW returned 0 inside the target |
The DLL path is wrong, or the DLL's dependencies didn't resolve |
TIMEOUT |
CreateRemoteThread never signalled |
Icarus's main thread stalled. Wait 30 s and retry. |
- The DLL was probably built with a VCRuntime the target doesn't ship. Ensure you built against the VS 2022 v143 toolset (matches the engine runtime used by retail Icarus). See Build From Source.
- Open
inspect.pyand runcharacter. You should getOK character=0x... Off::Player_InventoryComp=0x758.-
If you get
ERR ...— the class resolution failed, most likely because a prospect isn't fully loaded. Wait for the HUD to appear, try again. -
If you get an address of
0x0— the player pawn hasn't been spawned yet. Load fully into the world and retry.
-
If you get
This was the symptom that drove the 1.5.0 No Weight rewrite. If you're seeing it:
- Make sure you're on 1.5.0 or newer. Earlier builds clamped
MaxWalkSpeed = 600and calledExpireOverburdenedModifier, both of which left the PhysX tick reading a stale pointer. - 1.5+ hooks
AddModifierStateinstead — no more PhysX issue.
- Open the UI and confirm the toggle is actually engaged (card should be accent-coloured, not grey).
- If it is, the DLL version doesn't match the client — close Icarus
and relaunch the launcher.
app/bin/IcarusInternal.dllshould be 1.5.0 or newer. See Release Process to find out how to read the DLL version.
- Some recipes run on
DeployableTickSubsystem, which we inject into via+0x60. If a content patch changes that subsystem layout, the injection is a no-op. - Send the recipe name + the station type you were at in the bug report — we can validate the offset against a dev build.
- The script is named
inspect.py, which shadows Python's stdlibinspect. There is a guard at the very top of the file that strips its own directory fromsys.path. Don't rename the file without updating that guard.
- The pipe is open but the running DLL doesn't recognise the
primitive. That usually means the DLL in memory is older than the
client expects:
- Close Icarus.
- Verify
app/bin/IcarusInternal.dllis the latest build (md5sum native/internal/bin/Release/IcarusInternal.dll app/bin/IcarusInternal.dllshould match). - Relaunch Icarus → Attach → retry.
- The other possibility: the command isn't in the client's
DBG_PRIMITIVEScatalog. That's the bug we fixed in 1.5.0 — make sure yourscripts/inspect.pyis also up to date.
- The Windows code page default (cp1252) can't render the arrow
glyph. The script reconfigures
sys.stdoutto UTF-8 at startup witherrors="replace"— if you still see this, you're on an ancient Python. Use 3.9+.
- Snapshots are in-process only. They persist across commands
inside a single
inspect.pyinvocation (REPL session or a single-c "..."batch) but not between separate launches. Capture and compare inside the same session.
- The GitHub Releases endpoint is sometimes slow for the first few seconds. Give it 10–15 s before assuming it's broken.
- If it's been stuck for minutes, open
%APPDATA%\ZeusMod\logs\*.log—electron-updaterwrites verbose download progress there, including any HTTP error.
-
electron-updaterhasn't run yet. Click Check for Updates in the sidebar footer to force a check. The first auto-check otherwise happens 30 s after launch.
Still stuck? Open a bug report with:
- ZeusMod version (titlebar).
- Icarus build ID (Steam → Icarus → Properties → Updates).
- What you clicked / what command you ran.
- What happened vs what you expected.
- The most recent
%APPDATA%\ZeusMod\logs\*.logif relevant.