github madoiscool/BetterSteamTools v1.0.9

one hour ago

Changes

  • patterns: cache-first load + jsDelivr-first mirror to fix INVALID CONTENT CONFIGURATION
    Root cause (from a failing machine's Debug main.log): RemoteToml::Fetch was
    network-first and tried raw.githubusercontent.com first. On networks that can't
    reach GitHub raw (HTTP=0) each of the 3 components burned the connect timeout
    (~8s) before falling through to jsDelivr, so hooks did not install until ~24s
    after Steam start. In that unhooked window Steam built depot configs for queued
    lua apps while the BuildDepotDependency empty-config guard was absent, so Steam
    stored an invalid/empty content config that persisted across restarts -
    INVALID CONTENT CONFIGURATION. Restart/Debug could not fix it (same 24s window
    every launch); only users who cannot reach GitHub raw were affected.

  • Cache-first: if a TOML for the current steamclient sha is already cached, load
    it and install hooks immediately, then refresh the cache on a detached thread.
    The cache key is the sha, so a cached file is always valid for the running
    client (a client update changes the sha -> cache miss -> fresh sync fetch).

  • Lead the mirror chain with jsDelivr; keep git.lua.tools, then GitHub raw last.

  • Short resolve/connect timeouts (2.5s) so a dead mirror fails fast on the cold
    path instead of the long WinHTTP default.

Takes the ~24s cold start to ~0 on repeat launches and <1s on first launch, so
the guard is live before Steam touches depot configs. Also speeds startup for
everyone. No change to the hook logic or the guard itself.

Installation

Download OpenSteamTool-v1.0.9-Release.zip (or the -Debug variant if you need logging to <steam>/opensteamtool directory).

Extract and copy dwmapi.dll, xinput1_4.dll and OpenSteamTool.dll to your Steam root directory (e.g. C:\Program Files (x86)\Steam).

Create a Lua config directory (for example C:\Program Files (x86)\Steam\config\stplug-in) and place your Lua scripts there.

Don't miss a new BetterSteamTools release

NewReleases is sending notifications on new releases.