A Node.js module for interacting with the Team Fortress 2 Game Coordinator, enabling programmatic control of in-game items, trading, and server management.
Simple module to interact with the TF2 game coordinator
A node-steam plugin for Dota 2.
A node-steam plugin for Counter-Strike: Global Offensive.
SteamGameServer is a Node.js module that acts as a handler for node-steam and node-steam-client, allowing applications to connect to Steam as a game server using either anonymous accounts or persistent accounts with Game Server Login Tokens (GSLT). It provides a comprehensive interface to interact with Steam's game server infrastructure, including server queries, player counts, and product information, while complying with Valve's rules by not registering with the master server browser. ## Key Features - **Gameserver Authentication** — Logs onto Steam as a Gameserver or AnonGameserver account using AppID, game version, and optional GSLT. - **Server Querying** — Requests lists of game servers from the Steam master server with detailed filtering and server information. - **Player and Product Data** — Fetches current player counts for apps and retrieves detailed product info and changes from Steam. - **Persona and Level Lookup** — Gets user persona data and Steam levels for specified SteamIDs. - **Custom Storage Engine** — Supports pluggable storage engines for saving server list data to databases or cloud services instead of local disk. - **Event-Driven Architecture** — Emits events for logon, errors, disconnections, VAC status, and user data updates with support for ID-specific event listeners. ## Philosophy SteamGameServer is designed to be a robust and flexible Node.js interface for Steam's game server services, prioritizing compliance with Valve's policies while offering developers full programmatic control over server interactions and data retrieval.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.