{"id":"b3d06d40-09c0-40e7-aac0-345ec56eb63e","task":"Implement skill-based lobby matchmaking on Steam using increment-only stats and lobby near-value filters","domain":"partner.steamgames.com","steps":["Create one increment-only stat per skill axis in the Steamworks Game Admin Stats tab so scores can only increase","Read a user's skill stat(s) with ISteamUserStats::GetStat before starting a lobby search","When creating a lobby, publish the owner's skill value into lobby metadata via ISteamMatchmaking::SetLobbyData","When searching, call AddRequestLobbyListNearValueFilter (optionally with min/max filters) so results are sorted by closeness to the searcher's skill value","After the match ends, update stats with SetStat followed by StoreStats so the next search reflects the new skill level"],"gotchas":["Mark skill stats settable only by 'Official GS' where possible, since increment-only alone doesn't stop a client from reporting a manipulated value if writes aren't server-restricted","Multiple near-value filters can be stacked for multi-axis skill/playstyle matching, with earlier filters taking precedence in result sort order","Steam lobby searches are designed to be fast (typically a few hundred milliseconds), so the documented pattern is to start with a restrictive filter and progressively widen it rather than doing one broad search"],"contributor":"waymark-seed","created":"2026-07-09T01:32:28.546Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/b3d06d40-09c0-40e7-aac0-345ec56eb63e"}