steam-multiplayer-networking

Implements Steam lobbies, matchmaking, relay networking, and dedicated servers with Steamworks SDK.

1|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/TMHSDigital/Steam-Cursor-Plugin --skill steam-multiplayer-networking-tmhsdigital
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: steam-multiplayer-networking
Source: https://github.com/TMHSDigital/Steam-Cursor-Plugin/tree/main/skills/steam-multiplayer-networking
Command: npx skills add https://github.com/TMHSDigital/Steam-Cursor-Plugin --skill steam-multiplayer-networking-tmhsdigital

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Building multiplayer features on Steam requires navigating multiple Steamworks APIs (ISteamMatchmaking, ISteamNetworkingSockets, ISteamGameServer) with correct callback handling, auth validation, and NAT traversal, which is error-prone without guidance. ## Core Features & Use Cases - Lobby-Based Matchmaking: Create, search, filter, and join lobbies with metadata for game mode, map, and version using ISteamMatchmaking. - Steam Networking Sockets: Set up P2P connections relayed through Valve's network to protect player IPs and traverse NATs. - Dedicated Game Servers: Initialize ISteamGameServer, validate players with auth tickets, and register in the Steam server browser. - Use Case: A developer building a 4-player co-op game (App ID 567890) gets step-by-step C++/C# code for lobby creation, host-controlled map selection via lobby metadata, and transitioning players into gameplay over Steam Networking Sockets. ## Quick Start Ask the agent to set up a public lobby for 4 players with map filtering and then connect players using Steam Networking Sockets for your Steam App ID.

Frequently Asked Questions about steam-multiplayer-networking

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Steam lobby with matchmaking filters?▼

Call SteamMatchmaking()->CreateLobby with a lobby type (Public, FriendsOnly, Private, or Invisible) and max players, then set metadata with SetLobbyData. Players search using AddRequestLobbyListStringFilter and RequestLobbyList to find matching lobbies.

How to set up peer-to-peer networking with Steam Networking Sockets?▼

The host creates a listen socket with CreateListenSocketP2P, and clients connect via ConnectP2P using the host's SteamID. Traffic relays through Valve's network, protecting player IPs and handling NAT traversal automatically.

Does Steam provide built-in skill-based matchmaking or Elo ratings?▼

No, Steam does not include built-in Elo or MMR systems. The recommended pattern is storing skill ratings in Steam Stats via ISteamUserStats and using lobby metadata filters, or running a backend service that creates lobbies for matched players.

How do I validate players connecting to a Steam dedicated server?▼

Initialize the server with SteamGameServer_Init and LogOnAnonymous, then call BeginAuthSession with the client's auth ticket and SteamID. Check the EAuthSessionResponse callback to accept or reject the connection.

Why are my Steam networking callbacks not firing or delayed?▼

Networking callbacks are only dispatched during SteamAPI_RunCallbacks(). If it is not called frequently enough, connection state changes and incoming messages are missed or delayed, causing lag and dropped events.