[[
wikihub
]]
Search
⌘K
Explore
People
For Agents
Sign in
Explore
People
For Agents
Sign in
@harrisonqian / Awesome / wiki/miscellaneous/steam.md
Suggest edit
Cancel
Submit suggestion
Title
Name
Note
--- visibility: public --- # Steam **repo:** [scholtzm/awesome-steam](https://github.com/scholtzm/awesome-steam) **category:** [[miscellaneous|Miscellaneous]] **related:** [[game-development|Game Development]] --- # Awesome Steam [](https://github.com/sindresorhus/awesome) > A curated list of [packages](#packages) and [resources](#resources) regarding [Steam](http://store.steampowered.com/) development. *Please read the [contribution guidelines](CONTRIBUTING.md) before contributing.* The purpose of this document is to provide a quick overview over existing packages (libraries, modules etc.) and resources available regarding Steam client automation and WebAPI usage. Whenever you need to start a new project, have a look at the list of packages and see if there is anything useful for your use case. If you need technical details or tutorials, check out the resources section. ## Table of Contents - [Packages](#packages) - [Node.js](#nodejs) - [C#](#c) - [PHP](#php) - [Go](#go) - [Python](#python) - [C++](#c-1) - [Java](#java) - [Objective-C](#objective-c) - [Ruby](#ruby) - [Rust](#rust) - [Resources](#resources) - [General](#general-3) - [Tutorials](#tutorials) - [Posts](#posts) - [Standalone Tools](#standalone-tools) - [Discussion Boards](#discussion-boards) - [Third-Party Services](#third-party-services) ## Packages > 💡 Many of these package repositories provide helpful READMEs and wiki pages, which explain the usage and/or provide examples. Do not forget to check them out when using particular package. ### Node.js #### General - [steam](https://github.com/seishun/node-steam) - Interface directly with [Steam](/@harrisonqian/awesome/wiki/learn/steam) servers from [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js). - [steam-client](https://github.com/DoctorMcKay/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-client) - API-compatible fork of node-steam's SteamClient. - [steam-user](https://github.com/DoctorMcKay/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-user) - Feature-rich easy-to-use Steam client. - [vapor](https://github.com/scholtzm/vapor) - Lightweight [Steam](/@harrisonqian/awesome/wiki/learn/steam) client framework. - [steam-parentbot](https://github.com/dragonbanshee/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-parentbot) - Simple base class for a Steam bot. - [steamworks-ffi-node](https://github.com/ArtyProf/steamworks-ffi-node) - A [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js) wrapper for Steamworks SDK. #### WebAPI - [steam-webapi](https://github.com/DoctorMcKay/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-webapi) - Complete WebAPI wrapper with support for extra HTTP headers sent by Steam. - [steamapi](https://github.com/lloti/node-steamapi) - A nice [Steam](/@harrisonqian/awesome/wiki/learn/steam) API wrapper. #### Trading - [steam-trade](https://github.com/seishun/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-trade) - [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js) wrapper around Steam live trading. - [steam-tradeoffers](https://github.com/Alex7Kom/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-tradeoffers) - Steam Trade Offers for [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js). - [steam-tradeoffer-manager](https://github.com/DoctorMcKay/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-tradeoffer-manager) - Simple and sane Steam trade offer management. - [steam-inventory-stream](https://github.com/timvandam/steam-inventory-stream) - Fetch inventories as readable streams. - [steam-inventory-api-ng](https://github.com/itsjfx/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-inventory-api-ng) - A Steam Inventory API wrapper with advanced features such as retries and proxy support. #### Game Interaction - [steam-gameserver](https://github.com/DoctorMcKay/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-gameserver) - Steam client handler for Gameserver and AnonGameserver account types. - [tf2](https://github.com/DoctorMcKay/node-tf2) - Interact directly with TF2 game coordinator. - [csgo](https://github.com/joshuaferrara/node-csgo) - Interact directly with CS:GO game coordinator. - [dota2](https://github.com/RJacksonm1/node-dota2) - Interact directly with Dota 2 game coordinator. #### Community & Store Automation - [steamcommunity](https://github.com/DoctorMcKay/node-steamcommunity) - Interact with steamcommunity.com. Also allows to confirm trade offers. - [steamstore](https://github.com/DoctorMcKay/node-steamstore) - Interact with store.steampowered.com. - [steam-weblogon](https://github.com/Alex7Kom/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-weblogon) - Retrieve SteamCommunity cookies if you are running Steam network client. - [steam-web-api-key](https://github.com/Alex7Kom/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-web-api-key) - Automatically registers and retrieves Steam API key. - [steam-parental](https://github.com/Alex7Kom/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-parental) - Disable parental lock. #### Authentication - [steam-login](https://github.com/cpancake/steam-login) - Simple Connect / Express [Steam](/@harrisonqian/awesome/wiki/learn/steam) authentication library. - [passport-steam](https://github.com/liamcurry/passport-steam) - [Steam](/@harrisonqian/awesome/wiki/learn/steam) (OpenID) authentication strategy for Passport and [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js). - [meteor-accounts-steam](https://github.com/scholtzm/meteor-accounts-steam) - [Steam](/@harrisonqian/awesome/wiki/learn/steam) OpenID [integration](/@harrisonqian/awesome/wiki/platforms/integration) for [Meteor](/@harrisonqian/awesome/wiki/front-end-development/meteor) Accounts. #### Misc - [steam-resources](https://github.com/seishun/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-resources) - Steam's enums, protobufs and structs. - [steam-crypto](https://github.com/seishun/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-crypto) - [Node.js](/@harrisonqian/awesome/wiki/platforms/node-js) implementation of Steam crypto. - [steam-groups](https://github.com/scholtzm/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-groups) - Custom node-steam handler which provides group functions. - [steamid](https://github.com/DoctorMcKay/node-steamid) - SteamID usage and conversion made easy. - [steam-totp](https://github.com/DoctorMcKay/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-totp) - Easily generate 2FA codes used by Steam. - [steam-chat-bot](https://github.com/Steam-Chat-Bot/node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-chat-bot) - Simplified interface for a steam chat bot. - [vdf](https://github.com/RJacksonm1/node-vdf) - vdf to object and vice versa. - [steamrep](https://github.com/scholtzm/node-steamrep) - Check user's SteamRep reputation. - [reptf](https://github.com/scholtzm/node-reptf) - Check user's rep.tf reputation. - [steamapis](https://github.com/itsjfx/node-steamapis) - Module to use the API of [steamapis.com](https://steamapis.com). ### C# #### General - [SteamKit2](https://github.com/SteamRE/SteamKit) - .NET library designed to interoperate with Valve's [Steam](/@harrisonqian/awesome/wiki/learn/steam) network. - [SteamAuth](https://github.com/geel9/SteamAuth) - A C# library that provides vital [Steam](/@harrisonqian/awesome/wiki/learn/steam) Mobile Authenticator functionality. - [SteamBot](https://github.com/Jessecar96/SteamBot) - Automated bot software for interacting with [steam](/@harrisonqian/awesome/wiki/learn/steam) trade. - [SteamTradeOffersBot](https://github.com/waylaidwanderer/SteamTradeOffersBot) - SteamBot fork which focuses on trade offers. - [SteamStandardProject](https://github.com/ObsidianMinor/SteamStandardProject) - A collection of .NET Standard libraries using common types that provide functionality in one or more parts of [Steam](/@harrisonqian/awesome/wiki/learn/steam). #### Misc - [BackpackLogin](https://github.com/igeligel/BackpackLogin) - A .NET Standard library for logging into backpack.tf using [Steam](/@harrisonqian/awesome/wiki/learn/steam) credentials. - [TeamFortressOutpostApi](https://github.com/igeligel/TeamFortressOutpostApi) - A .NET Standard class library which allows user to interact with TF2Outpost. ### PHP - [SteamCommunity](https://github.com/waylaidwanderer/PHP-SteamCommunity) - A PHP library for interacting with the [Steam](/@harrisonqian/awesome/wiki/learn/steam) Community website. - [SteamAuthentication](https://github.com/SmItH197/SteamAuthentication) - [Steam](/@harrisonqian/awesome/wiki/learn/steam) OpenID authentication with PHP. - [SteamAuthOOP](https://github.com/BlackCetha/SteamAuthOOP) - An object-oriented alternative to SteamAuthentication. - [steam-api](https://github.com/DaMitchell/steam-api-php) - A PHP wrapper for the [Steam](/@harrisonqian/awesome/wiki/learn/steam) API. - [steamid](https://github.com/DoctorMcKay/php-steamid) - SteamID class for PHP. - [steam-totp](https://github.com/DoctorMcKay/php-[steam](/@harrisonqian/awesome/wiki/learn/steam)-totp) - PHP library to deal with Steam's proprietary TOTP algorithm. - [steam-auth](https://github.com/vikas5914/steam-auth) - An alternative [Steam](/@harrisonqian/awesome/wiki/learn/steam) authentication library with [Composer](/@harrisonqian/awesome/wiki/programming-languages/composer) support. ### Go - [steam](https://github.com/0xAozora/steam) - Simple [steam](/@harrisonqian/awesome/wiki/learn/steam) library for trading in Go. - [go-steam](https://github.com/Philipp15b/go-steam) - [Steam](/@harrisonqian/awesome/wiki/learn/steam)'s protocol in Go. - [steam-mobileauth](https://github.com/YellowOrWhite/go-[steam](/@harrisonqian/awesome/wiki/learn/steam)-mobileauth) - Port of SteamAuth in Go. ### Python #### General - [steam](https://github.com/ValvePython/steam) - Module for various interactions with [Steam](/@harrisonqian/awesome/wiki/learn/steam). - [steamodd](https://github.com/Lagg/steamodd) - [Steam](/@harrisonqian/awesome/wiki/learn/steam) tools library. - [steampy](https://github.com/bukson/steampy) - Fully automated [Steam](/@harrisonqian/awesome/wiki/learn/steam) trade offers library with SteamGuard support. - [SteamAPI](https://github.com/smiley/steamapi) - An object-oriented [Python](/@harrisonqian/awesome/wiki/programming-languages/python) 2.7+ library for accessing the [Steam](/@harrisonqian/awesome/wiki/learn/steam) Web API. - [Steam-Trade](https://github.com/Zwork101/steam-trade) - An asynchronous, event-based trade library. - [aiosteampy](https://github.com/somespecialone/aiosteampy) - Trade and interact with [Steam](/@harrisonqian/awesome/wiki/learn/steam) market, WebAPI, SteamGuard. #### Game Interaction - [csgo](https://github.com/ValvePython/csgo) - [Python](/@harrisonqian/awesome/wiki/programming-languages/python) module for interacting with CSGO's Game Coordinator. - [dota2](https://github.com/ValvePython/dota2) - [Python](/@harrisonqian/awesome/wiki/programming-languages/python) module for interacting with Dota 2's Game Coordinator. #### Misc - [vpk](https://github.com/ValvePython/vpk) - [Python](/@harrisonqian/awesome/wiki/programming-languages/python) module for working with Valve's Pack format. - [vdf](https://github.com/ValvePython/vdf) - [Python](/@harrisonqian/awesome/wiki/programming-languages/python) module for working with Valve's KeyValue format. ### C++ - [SteamPP](https://github.com/seishun/SteamPP) - C++ library to interoperate with [Steam](/@harrisonqian/awesome/wiki/learn/steam) servers. ### Java - [SteamKit-Java](https://github.com/Top-Cat/SteamKit-Java) - [Java](/@harrisonqian/awesome/wiki/programming-languages/java) port of SteamKit. - [JavaSteam](https://github.com/Longi94/JavaSteam) - [Java](/@harrisonqian/awesome/wiki/programming-languages/java) library that provides an interface to directly interact with Valve's [Steam](/@harrisonqian/awesome/wiki/learn/steam) servers. ### Objective-C - [SteamAuth](https://github.com/michaelchum/SteamAuth) - An iOS wrapper around [Steam](/@harrisonqian/awesome/wiki/learn/steam)'s OpenID login. ### Ruby - [steam-trade](https://github.com/OmG3r/steam-trade) - [Ruby](/@harrisonqian/awesome/wiki/programming-languages/ruby) gem for sending trade offers. ### Rust - [steamguard-cli](https://github.com/dyc3/steamguard-cli) - Command-line utility for generating [Steam](/@harrisonqian/awesome/wiki/learn/steam) 2FA codes and managing Steam confirmations. ## Resources ### General - [Steam WebAPI @ ValveSoftware](https://developer.valvesoftware.com/wiki/Steam_Web_API) - [Steam WebAPI @ TF2 Wiki](https://wiki.teamfortress.com/wiki/WebAPI) - [Steam WebAPI Documentation by xPaw](https://lab.xpaw.me/steam_api_documentation.html) - [Steam Internal WebAPI Documentation by Revadike](https://github.com/Revadike/UnofficialSteamWebAPI) - [Steam as OpenID Provider](http://steamcommunity.com/dev) - [Steam API Key Registration](http://steamcommunity.com/dev/apikey) - [Steam Error Codes](https://steamerrors.com/) - List of `EResult` codes with possible explanations. ### Tutorials - [Creating a [Steam](/@harrisonqian/awesome/wiki/learn/steam) Trade Bot with Node.js](https://firepowered.org/developer/create-a-steam-trade-bot-with-nodejs-iojs-updated-for-node-steam-v1-0/) - [Charred's [node.js](/@harrisonqian/awesome/wiki/platforms/node-js) Guide to [Steam](/@harrisonqian/awesome/wiki/learn/steam) Bots](https://github.com/charredgrass/nodejs-bot-guide) - [In-depth [Steam](/@harrisonqian/awesome/wiki/learn/steam) Bot Guide with Node.js](https://github.com/andrewda/node-steam-guide) - [Retrieving 2FA Keys from iOS Device](http://forums.backpack.tf/index.php?/topic/45995-guide-how-to-get-your-shared-secret-from-ios-device-[steam](/@harrisonqian/awesome/wiki/learn/steam)-mobile/) ### Posts - [Item IDs Explained](https://dev.doctormckay.com/topic/332-identifying-[steam](/@harrisonqian/awesome/wiki/learn/steam)-items/) - [Everything Related to Escrow](https://www.reddit.com/r/SteamBot/comments/3udhkd/everything_related_to_escrow/) - [Understanding Avatar Hash](https://www.reddit.com/r/SteamBot/comments/3cv6k7/problem_downloading_an_avatar_using/) ### Standalone Tools - [NetHook2](https://github.com/SteamRE/SteamKit/tree/master/Resources/NetHook2) - Intercept [Steam](/@harrisonqian/awesome/wiki/learn/steam) client's network messages. - [NetHook2 Analyzer](https://github.com/SteamRE/SteamKit/tree/master/Resources/NetHookAnalyzer2) - Inspect messages dumped by NetHook2. - [steam-auth-web-util](http://scholtzm.[github](/@harrisonqian/awesome/wiki/development-environment/github).io/steam-auth-web-util/) - Generate 2FA codes directly in your web browser. - [SteamDesktopAuthenticator](https://github.com/Jessecar96/SteamDesktopAuthenticator) - Desktop implementation of [Steam](/@harrisonqian/awesome/wiki/learn/steam)'s mobile authenticator app. - [protonenv](https://github.com/rizkiarm/protonenv) - Simple Proton version and prefix management. - [steam-desktop-authenticator-multiplatform](https://github.com/tre3p/steam-desktop-authenticator-multiplatform) - [Steam](/@harrisonqian/awesome/wiki/learn/steam) desktop authenticator. ### Discussion Boards - [/r/SteamBot](https://www.reddit.com/r/SteamBot) - [/r/SteamBot Discord](https://discord.gg/0i5X3oDHJbDUsiGC) - [/r/nodesteam](https://www.reddit.com/r/nodesteam) - [DoctorMcKay's Dev Forum](https://dev.doctormckay.com/) - [node-[steam](/@harrisonqian/awesome/wiki/learn/steam)-forum](https://github.com/steam-forward/node-steam-forum) ### Third-Party Services Websites listed below may provide free and/or paid services and are listed alphabetically according to their domain name. - [backpack.tf](https://backpack.tf/developer) - Provides TF2 prices and [Steam](/@harrisonqian/awesome/wiki/learn/steam) market/inventory related services. - [steamanalyst.com](https://steamanalyst.com/) - Provides CS:GO prices. - [hexa.one](https://hexa.one/) - Provides prices for several games and [Steam](/@harrisonqian/awesome/wiki/learn/steam) market/inventory related services. - [steamapis.com](https://steamapis.com/) - Provides prices for several games and [Steam](/@harrisonqian/awesome/wiki/learn/steam) market/inventory related services. ## License [](https://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, the author and contributors of this text have waived all copyright and related or neighboring rights to this work.