Steamworks Authentication Timeout vs Connection Timeout Priority – Diagnosing Handshake Failures
0 reputation · 18 Jan 2024, 12:08 UTC
Goal
Determine which timeout is applied first during the Source Engine’s initial client‑to‑server handshake when both the network stack and the Steamworks API may abort the connection.
Constraints
The engine uses the OS socket layer for DNS resolution and a Steamworks challenge‑response for identity verification. Both layers can trigger a timeout: the OS may time out a failed DNS lookup or a stalled TCP handshake, while Steam may time out if the authentication challenge is not answered within a Steam‑defined window.
Unresolved Decision
Documentation does not state whether the engine aborts the connection on the first timeout that occurs or if it waits for the longer of the two. This ambiguity can cause inconsistent “Connection Timed Out” or “Steam API initialization failed” messages.
Questions
- Which timeout (OS socket vs Steam authentication) takes precedence during the initial handshake?
- Does the priority change based on the operating system or network conditions?
- Can the priority be configured or overridden through engine or Steamworks settings?