Skip to content

[BUG] OST v1.4.7 Debug: Issue with modifying the .lua binding manifest while Steam is open #102

Description

@h0kd33

Prerequisites

  • I have searched existing issues and confirmed this has not been reported.
  • I am using the latest build version from the releases page.

Steam client version

1780352834

Windows version

Windows 11 25H2 (26200.8457)

Describe the bug

While Steam is open, modify the .lua binding manifest of the installed game (old version) to an unbound manifest
The update will not take effect; you need to restart Steam for the update to take effect

Steps to reproduce

  1. Install an older version of the game .lua is the binding manifest -> setManifestid (01.png)
  2. After the game is installed, modify .lua to an unbound manifest -> --setManifestid (02.png) updates will not take effect
  3. Try changing the game update options in Steam -> from the global setting "Only update when launching the game" to "Immediately download updates" (03.png) The update does not take effect
  4. Try deleting the .lua file that is unbound manifest and then adding it again; the update will not take effect
  5. After restarting Steam, the update will take effect (04.png)

Expected behavior

While Steam is open, modify the .lua binding manifest of the installed game (old version) to an unbound manifest
The update will take effect; no Steam restart is required

Actual behavior

While Steam is open, modify the .lua binding manifest of the installed game (old version) to an unbound manifest
The update will not take effect; you need to restart Steam for the update to take effect

Log files

https://mega.nz/folder/aawhQToa#odwB0_77_k6blls5mrYt-Q

Lua configuration (if relevant)

Additional context

No response

Activity

  1. h0kd33 commented on Jun 9, 2026

    @h0kd33
    Author

    In the second test, while Steam is open, after modifying the .lua file to not be bound to the manifest, it was confirmed that the actually downloaded .manifest file was bound to the manifest

    1. With Steam is open, add .lua binding manifest -> setManifestid(2114741, "466708966389785670")
    2. Then change the bound manifest to the unbound manifest -> --setManifestid(2114741, "466708966389785670")
    3. Install the game and confirm that the downloaded .manifest file in the depotcache folder is the bound manifest 466708966389785670, not the public branch manifest 24047744758957954 (01.png)
    4. After restarting Steam, confirm that the .manifest downloaded during the update is from the public branch, file 24047744758957954 (02.png & 03.png)
      https://mega.nz/folder/TbRxATrB#RFfkeyvlqAUU1pcg_liEhA
  2. h0kd33 commented on Jun 9, 2026

    @h0kd33
    Author

    Binding manifest and Non-Binding manifest Switching (Modification) Cross-Test (Test while Steam is open and without restarting Steam)

    1. setManifestid -> 2. setManifestid -> 3. --setManifestid -> 4. setManifestid -> 5. --setManifestid

    If the .manifest files downloaded into the depotcache folder in steps 1, 2, and 4 are all correct, it means that the .lua binding manifest functions properly when switching only between binding manifest (setManifestid -> setManifestid) without switching to a non-binding manifest

    Confirm that when switching (modifying) from a binding manifest to a non-binding manifest, the issue of --setManifestid (non-binding manifest) not being applied occurs (this issue appears when Steam is open and has not been restarted). If Steam is restarted, --setManifestid (non-binding manifest) will be applied

    1. Create a new .lua binding manifest -> setManifestid(2114741, "466708966389785670")
      Confirm that the .manifest downloaded into the depotcache folder is 466708966389785670 (01.png)
      Delete the game
      Delete the .lua file
    2. Create another .lua binding manifest -> setManifestid(2114741, "24047744758957954")
      Confirm that the .manifest downloaded into the depotcache folder is 24047744758957954 (02.png)
      Delete the game
      Delete the .lua file
    3. Create another .lua non-binding manifest -> --setManifestid(2114741, "466708966389785670")
      Confirm that the .manifest downloaded into the depotcache folder is 24047744758957954 (possibly leftover from step 2, indicating that --setManifestid was not applied) (03.png)
      Delete the game
      Delete the .lua file
    4. Create another .lua binding manifest -> setManifestid(2114741, "466708966389785670")
      Confirm that the .manifest downloaded into the depotcache folder is 466708966389785670 (04.png)
      Delete the game
      Delete the .lua file
    5. Create another .lua non-binding manifest -> --setManifestid(2114741, "466708966389785670")
      Confirm that the .manifest downloaded into the depotcache folder is 466708966389785670 (confirming it is leftover from step 4 and that --setManifestid was not applied) (05.png)
      Delete the game
      Restart Steam
      Confirm that the .manifest downloaded into the depotcache folder is 24047744758957954

    https://mega.nz/folder/HaIyTSiS#PKvGvrTz09maEoCI1Xmj5Q

  3. OpenSteam001 commented on Jun 10, 2026

    @OpenSteam001
    Owner

    Thanks for the detailed test.

    The previous design did not consider hot reload behavior for setManifestid. I’ll add support for this in the next version.

  4. OpenSteam001 commented on Jun 12, 2026

    @OpenSteam001
    Owner

    ple try the build from #109

  5. h0kd33 commented on Jun 12, 2026

    @h0kd33
    Author

    ple try the build from #109

    OST Debug pr109 & Steam v1781041600 Network connection issue
    During the first download test, there was a network connection issue (01.png)
    Switching between "opensteamtool" -> "wudrm" -> "steamrun" in the [manifest] was ineffective
    After closing Steam, copying dwmapi.dll, OpenSteamTool.dll, and xinput1_4.dll to the Steam root directory again, and then restarting Steam, the download worked normally
    A network connection issue also occurred previously when testing setManifestid (OST v1.4.7 & Steam v1780352834)

    OST Debug pr109 & Steam v1781041600 The test has been fixed
    The second test of setManifestid, including modification, overwriting, update after installation, and downgrade update, the test has been fixed
    https://mega.nz/folder/2X5EgRAT#Z64lYNyH2UyZ-50yKiFCVg

  6. OpenSteam001 commented on Jun 13, 2026

    @OpenSteam001
    Owner

    @h0kd33
    Thanks for the logs. I checked this further.

    The manifest provider switch itself is working. Your main.log shows the config was reloaded from opensteamtool to wudrm, then steamrun, then back to opensteamtool. In a normal run, this can be confirmed clearly in manifest.log, for example by lines like Manifest opensteamtool status=200 or Manifest wudrm status=200, or by packet capture.

    This specific “No network connection” case does not look like a provider issue. Your netpacket.log shows Steam was receiving CM responses such as Authentication.BeginAuthSessionViaQR#1, Authentication.PollAuthSessionStatus#1, ContentServerDirectory.GetManifestRequestCode#1, and ContentServerDirectory.GetServersForSteamPipe#1, so Steam did communicate with CM.

    The unusual part is that the corresponding client-to-CM send packets were not captured by OpenSteamTool in that session. For example, I would normally expect to see outgoing messages such as k_EMsgServiceMethodCallFromClientNonAuthed(9804), k_EMsgClientLogon(5514), and later k_EMsgServiceMethodCallFromClient(151). In your log, those send-side messages are missing, so Hooks_NetPacket_Manifest::HandleSend() was never reached and OpenSteamTool could not inject the manifest request code.

    I plan to refactor the netpacket layer later to make this path easier to diagnose and handle more robustly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions