All Projects → Philipp15b → Go Steam

Philipp15b / Go Steam

Licence: other
Steam's protocol in Go to allow automation of different actions on the Steam network without running an actual Steam client. Includes APIs for friends, chatting, trading, trade offers and TF2 crafting.

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Go Steam

steam-stylegan2
Train a StyleGAN2 model on Colaboratory to generate Steam banners.
Stars: ✭ 30 (-88.64%)
Mutual labels:  steam
bypass-captcha-examples
Different complex captcha bypass examples: Steam, Netflix, Data Dome, Adobe, etc.
Stars: ✭ 62 (-76.52%)
Mutual labels:  steam
luxtorpeda
Steam Play compatibility tool to run games using native Linux engines
Stars: ✭ 301 (+14.02%)
Mutual labels:  steam
notion-game-list
Notion game list
Stars: ✭ 26 (-90.15%)
Mutual labels:  steam
rs-manager
Stats Manager for Rocksmith - Manage Playlists, Stats, Setlists and more!
Stars: ✭ 40 (-84.85%)
Mutual labels:  steam
MissedIT
Fully Featured hack Always Free As Feedom
Stars: ✭ 30 (-88.64%)
Mutual labels:  steam
SteaScree
SteaScree: Steam Cloud Screenshot Uploader
Stars: ✭ 140 (-46.97%)
Mutual labels:  steam
Vac
Source code of Valve Anti-Cheat obtained from disassembly of compiled modules
Stars: ✭ 254 (-3.79%)
Mutual labels:  steam
SteamDepotDownloader-GUI
A useful tool with GUI to download depot from steam.
Stars: ✭ 132 (-50%)
Mutual labels:  steam
UndocumentedAPI
💩 Undocumented Steam WebAPI Methods
Stars: ✭ 78 (-70.45%)
Mutual labels:  steam
download-steam-reviews
Download Steam reviews for any game. Available on PyPI.
Stars: ✭ 26 (-90.15%)
Mutual labels:  steam
HammerPatch
Modification of Source Valve Hammer Editor to fix some issues. Fixes brush vertex precision loss.
Stars: ✭ 49 (-81.44%)
Mutual labels:  steam
SteamCMD-AppID-List
Complete Steam AppID List
Stars: ✭ 12 (-95.45%)
Mutual labels:  steam
MonoGame.Forms
MonoGame.Forms is the easiest way of integrating a MonoGame render window into your Windows Forms project. It should make your life much easier, when you want to create your own editor environment.
Stars: ✭ 183 (-30.68%)
Mutual labels:  steam
tf2-rich-presence
Discord Rich Presence for Team Fortress 2
Stars: ✭ 30 (-88.64%)
Mutual labels:  steam
SteamDepotDownloaderGUI
A simple GUI tool based on DepotDownloader for downloading Steam depots.
Stars: ✭ 26 (-90.15%)
Mutual labels:  steam
chimera
A web interface for managing Steam remotely
Stars: ✭ 113 (-57.2%)
Mutual labels:  steam
Boxtron
Steam Play compatibility tool to run DOS games using native Linux DOSBox
Stars: ✭ 262 (-0.76%)
Mutual labels:  steam
cozinha loader
An injector focused on undetectability that automatically injects a DLL into the target process with VAC3 bypass.
Stars: ✭ 53 (-79.92%)
Mutual labels:  steam
GetFreeGames
Python script to search and find free games using Steam's API and to claim them using ASF's IPC API.
Stars: ✭ 18 (-93.18%)
Mutual labels:  steam

Steam for Go

This library implements Steam's protocol to allow automation of different actions on Steam without running an actual Steam client. It is based on SteamKit2, a .NET library.

In addition, it contains APIs to Steam Community features, like trade offers and inventories.

Some of the currently implemented features:

  • Trading and trade offers, including inventories and notifications
  • Friend and group management
  • Chatting with friends
  • Persona states (online, offline, looking to trade, etc.)
  • SteamGuard with two-factor authentication
  • Team Fortress 2: Crafting, moving, naming and deleting items

If this is useful to you, there's also the go-steamapi package that wraps some of the official Steam Web API's types.

Installation

go get github.com/Philipp15b/go-steam

Usage

You can view the documentation with the godoc tool or online on godoc.org.

You should also take a look at the following sub-packages:

Working with go-steam

Whether you want to develop your own Steam bot or directly work on go-steam itself, there are are few things to know.

  • If something is not working, check first if the same operation works (under the same conditions!) in the Steam client on that account. Maybe there's something go-steam doesn't handle correctly or you're missing a warning that's not obviously shown in go-steam. This is particularly important when working with trading since there are restrictions, for example newly authorized devices will not be able to trade for seven days.
  • Since Steam does not maintain a public API for most of the things go-steam implements, you can expect that sometimes things break randomly. Especially the trade and tradeoffer packages have been affected in the past.
  • Always gather as much information as possible. When you file an issue, be as precise and complete as you can. This makes debugging way easier.
  • If you haven't noticed yet, expect to find lots of things out yourself. Debugging can be complicated and Steam's internals are too.
  • Sometimes things break and other SteamKit ports are fixed already. Maybe take a look what people are saying over there? There's also the SteamKit IRC channel.

Updating go-steam to a new SteamKit version

Go source code is generated with code in the generator directory. Look at generator/README.md for more information on how to use the generator.

Then, after generating new Go source files, update go-steam as necessary.

License

Steam for Go is licensed under the New BSD License. More information can be found in LICENSE.txt.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].