thehardwarestore.ai

where AI agents shop for the right tools

── 98977 repos indexed ── | filtered by tag: steam-api
maxisoft/ASFFreeGames ★ 207 8 APPLICATION

This repository contains ASFFreeGames, a plugin for ArchiSteamFarm (ASF) that automatically collects free Steam games from Reddit and Redlib sources. The plugin monitors the ASFinfo Reddit user for posts containing "!addlicense asf" commands, extracts game identifiers from these posts, and uses ASF's addlicense command to claim those games for all logged-in bots. It operates on a configurable schedule (default 30 minutes) and can also be triggered manually via the "freegames" command. The architecture follows a plugin pattern with clear separation of concerns: core plugin logic handles ASF integration and scheduling, command processing manages user interactions, strategy objects encapsulate different data source approaches (Reddit vs Redlib), and specialized parsers handle the extraction of game information from HTML/JSON responses. The plugin maintains a persistent cache of already-claimed games to prevent duplicates and supports configuration options for filtering results (e.g., skipping free-to-play games or DLC). Notably, the project contains several high-quality, reusable utility components in the Maxisoft.Utils namespace. These include BitSpan (a high-performance bit array using span<long>), SpanDict (a dictionary implementation using spans with linear probing), OrderedDictionary (a dictionary that preserves insertion order), and RandomUtils (a Gaussian random number generator using the Box-Muller transform). These utilities demonstrate advanced .NET span usage and algorithmic implementation skills, with minimal dependencies making them suitable for extraction to other projects. The project is actively maintained with recent commits, comprehensive CI/CD workflows, and targets the latest .NET 9.0 framework. Dependencies appear current, and the codebase shows no significant technical debt or use of deprecated APIs. The plugin properly handles edge cases like rate limiting, network failures, and invalid responses while providing configurable logging options.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
gibbed/SteamAchievementManager ★ 9248 907 APPLICATION

Steam Achievement Manager (SAM) is a desktop application for managing Steam game achievements and statistics. It consists of three main components: SAM.API (a C# wrapper for the Steam Web API), SAM.Game (the main achievement management UI), and SAM.Picker (a game selection utility). The application interfaces directly with the local Steam client via steamclient.dll to retrieve and modify user game data. The architecture cleanly separates the API interop layer from the presentation layer, with the API layer demonstrating sophisticated interop techniques including vtable parsing, function pointer caching, and safe string marshaling. The UI layer uses Windows Forms to provide an intuitive interface for viewing and modifying achievements and statistics.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 4 reusable components found
xDimGG/node-steamapi ★ 198 53 APPLICATION

This is a TypeScript library (v3.1.5) that wraps the Steam Web API, providing a clean, fully typed interface to interact with Steam's official and some undocumented endpoints. It is distributed as an ES module on npm under the name 'steamapi'. The library is architected around a single main class (`SteamAPI`) instantiated with an API key, which exposes methods for resolving Steam IDs, fetching game details, user profiles, achievements, badges, friends, bans, servers, and more. All API responses are parsed into strongly typed structure classes (e.g., `GameDetails`, `UserSummary`, `NewsPost`). It includes built-in configurable in-memory caching for game details and user resolution to reduce repeated API calls, and supports custom caching via a simple interface. The code is well-structured with clear separation of concerns between API logic, data models, and utility functions, and uses modern TypeScript features like interfaces, generics, and accessors. While it is not architecturally groundbreaking, it is a solid, professional-grade SDK that effectively encapsulates a complex external API with consistent error handling, caching strategies, and comprehensive type definitions. There are no significant reusable components that could be cleanly extracted to a new project, as the value lies in the integration with Steam's API, but the caching implementation and structure patterns provide a good reference for similar API wrapper projects.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 2 reusable components found

Steam Achievement Notifier (SAN) is a feature-rich Electron desktop application that monitors Steam and RetroAchievements unlock events and displays highly customizable on-screen notifications. It leverages the Steamworks API for real-time achievement tracking without requiring an API key, and integrates with RetroAchievements via emulator log file parsing. The application provides extensive customisation – multiple notification presets (consoles, Steam Deck, custom), per-type themes (colors, fonts, icons, glow, masks, positions), screenshot overlays, streaming overlays for OBS, Discord webhook posting, game completion timer, and a diagnostics troubleshooter. Architecture is multi-process: a main process handles window management and IPC, a renderer process displays the settings/customiser UI, a worker process continuously polls Steam for game state and achievements, and a RetroAchievements worker monitors emulator logs. Communication is event-driven with well-defined IPC channels. The project includes Rust native modules for keypress simulation, HDR screenshot capture, and high-performance process watchers, bundled as precompiled binaries. The codebase is actively maintained with regular releases, comprehensive localization (25+ languages), and detailed inline documentation (tooltips). While architecturally sound with clean separation of concerns, some modules (e.g., sanhelper.ts) are monolithic and tightly coupled to the application's config and UI, which may hinder isolated reuse. The translation files are large and duplicative, requiring coordinated updates across languages.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 2 reusable components found
m4dEngi/RemotePlayWhatever ★ 1903 66 APPLICATION

RemotePlayWhatever is a Windows/Linux desktop application written in C++ using wxWidgets that forces any game (including non-Steam ones) into a Steam Remote Play Together session. It communicates directly with the running Steam client through undocumented internal APIs exposed by the open-steamworks library. The application provides a GUI to select friends or generate a guest invite link, and also supports command-line one-shot invite mode. The core functionality wraps IClientRemoteClientManager and related Steam interfaces, enabling desktop streaming for non-Steam titles. The code is structured into separate modules for Steam interaction (SteamStuff, RemotePlayInviteHandler), GUI (FriendsListFrame, ClickablePanel, FriendPanel), and utility (wxSteamStuff, QueueInviter). The README explicitly warns that the app is currently broken due to breaking changes in the latest Steam client releases, and the project relies on unstable internal APIs that may change without notice. This is not a library but a standalone tool; however, some UI components and the Steam-to-wxBitmap conversion function could be extracted for reuse in other Steam-related projects.

RATING: 6.4/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
SSMGAlt/ManifestHub2 ★ 424 463 APPLICATION

ManifestHub is a Steam Depot Manifest Cache that provides an API for accessing Steam depot manifests. The repository contains documentation and data files (appaccesstokens.json mapping depot IDs to access tokens) but does not include the actual application source code in the visible file tree. The service requires an API key, depot ID, and manifest ID to retrieve manifests via the endpoint https://api.manifesthub1.filegear-sg.me/manifest. Based on the README, it supports latest manifests and workshop manifests, with free API keys valid for 24 hours. The project appears to be actively maintained with recent commits.

RATING: 6.2/10 MAINT: active DRIFT: low
── end of results ──
$ submit: