How madoiscool/bettersteamtools works
BetterSteamTools is a Windows Steam-unlock DLL: Lua/TOML configuration supplies game and depot rules, then hooks alter Steam-client behavior so configured games can be accessed and launched. The graph includes the documented manifest, ticket, stats, hot-reload, injection, family-sharing, online-fix, and cloud-redirection capabilities. Hook ownership is grounded in HookManager and PipeManager; several feature details come from the README because their implementation was not sampled.
Main entry points: HookManager.cpp Hook manager · Hooks_Misc.cpp Misc and online hooks · LuaConfig.cpp Lua configuration · dllmain.cpp DLL runtime
Components 25
Runtime setup
- DLL runtime
src/dllmain.cpp - Hook manager
src/Hook/HookManager.cpp
Steam interception
- Steam client hooks
src/Hook/Hooks_IPC.cpp - Manifest hooks
src/Hook/Hooks_Manifest.cpp - Misc and online hooks
src/Hook/Hooks_Misc.cpp - Network packet hooks
src/Hook/Hooks_NetPacket.cpp - Package hooks
src/Hook/Hooks_Package.cpp
Game access
- Depot decryption
src/Hook/Hooks_Decryption.cpp - Pipe handshake routing
src/Pipe/PipeManager.cpp - Denuvo authorization
src/Pipe/Features/DenuvoAuth/DenuvoAuth.cpp - Optional DLL injection
src/Pipe/Features/Injection/Injection.cpp
Metadata services
- Manifest code client
src/Utils/SteamMetadata/ManifestClient.cpp - On-demand tickets
src/Utils/Tickets/EticketClient.cpp - Stats lookup
src/Utils/SteamMetadata/StatsClient.cpp - Cloud save redirection
src/Utils/CloudRedirect/CloudRedirectHost.cpp
Configuration
- Lua configuration
src/Utils/Config/LuaConfig.cpp - Config hot reload
src/Utils/Config/LuaFileWatcher.cpp
Other components
- Steam user
- Steam client
- Game process
- TOML and Lua
- Manifest providers
- Ticket backend
- Stats API
- Cloud redirect DLL
Connections 37
- Steam user → Steam client: launches
- TOML and Lua → Lua configuration: loads rules
- DLL runtime → Lua configuration: loads configuration
- DLL runtime → Hook manager: installs hooks
- DLL runtime → Config hot reload: starts watcher
- Config hot reload → Lua configuration: reloads scripts
- Hook manager → Steam client hooks: installs
- Hook manager → Manifest hooks: installs
- Hook manager → Misc and online hooks: installs
- Hook manager → Network packet hooks: installs
- Hook manager → Package hooks: installs
- Steam client → Steam client hooks: IPC calls
- Steam client → Manifest hooks: manifest requests
- Steam client → Misc and online hooks: Steam calls
- Steam client → Network packet hooks: packet traffic
- Steam client → Package hooks: package requests
- Steam client hooks → Depot decryption: serves configured keys
- Steam client hooks → Pipe handshake routing: routes handshakes
- Pipe handshake routing → Lua configuration: checks app rules
- Pipe handshake routing → Denuvo authorization: applies authorization
- Pipe handshake routing → Optional DLL injection: applies injection rules
- Denuvo authorization → On-demand tickets: fetches fresh tickets
- On-demand tickets → Ticket backend: requests tickets
- Manifest hooks → Manifest code client: resolves request codes
- Manifest code client → Lua configuration: tries Lua endpoints
- Manifest code client → Manifest providers: fetches codes
- Network packet hooks → On-demand tickets: gets ownership ticket
- Stats lookup → Stats API: queries SteamID
- Misc and online hooks → Stats lookup: resolves stats identity
- Misc and online hooks → Steam client: spoofs configured identity
- Misc and online hooks → Game process: supports online fix
- Optional DLL injection → Game process: injects DLL
- DLL runtime → Cloud save redirection: initializes optionally
- Cloud save redirection → Cloud redirect DLL: loads if enabled
- Depot decryption → Game process: provides depot keys
- Package hooks → Steam client: alters package results
- Manifest hooks → Steam client: returns request code