Sebastian Göls 1f8b68f5ee Implement #852 (#2004)
* Update Actions.cs, Bot.cs, and BotConfig.cs

* First round of refactoring

* Check all badge pages

* Update Bot.cs

* Make sure multiple pages of badges work with foil badges and Make item selection algorithm work with all kinds of amount values we could get from Valve

* Change order of params in Actions.SendInventory(...), Cache amount of cards for game ids, Count card elements on page when fetching card count per game, Calculate items to send for all games in parallel

* Add unit tests

* Make sure only one real app id and one asset type are present while computing cards to send and Test it

* Update ArchiWebHandler.cs

* Update Bot.cs

* Fix iteration over badge pages

* Update Bot.cs

* Make stackable item stacks smaller if possible

* Simplify code based on changing stack size of stackable items and Adapt tests

* Consider only cards of the same rarity to be of one set and Add handling of already crafted level 5 badges

* Implement feedback

* Update Bot.cs

* Update Bot.cs

* Implement feedback from review

* Adapt tests

* Improve XPath efficiency

* Check real result for additional values in unit tests

* Implement feedback

* Add additional test combining classID, type and rarity

* Make collections readonly wherever you can

* Optimize misc. code and Add SetTypesToComplete to BotConfig

* Throw exception if we have more card types than cards per set

* Remove SendSetsOnCompleted and Make CompleteTypesToSend empty per default

* Fix existing unit tests and add new ones due to new exception

* Please nitpicky Archi

* Update Bot.cs

* Change expected exception type

* Make appID constants local

* Update Bot.cs and BotConfig.cs

* Do as JetBrains Rider says

* Only fetch card count for badge if we have cards for it

* Improve naming and fix handling of URIs for foil badges

* Add Bot.LoadCardsPerSet(...), Bot.GetItemsForFullSets(...) and Trading.GetInventorySets(...) to public API

* Let AWH do its job

* Make Bot.GetPossiblyCompletedBadgeAppIDs() part of public API as well
2020-10-21 18:41:20 +02:00
2020-10-04 02:21:53 +02:00
2020-10-21 18:41:20 +02:00
2020-08-03 23:46:35 +02:00
2020-10-16 02:10:41 +00:00
2020-09-27 15:25:03 +02:00
2019-05-29 19:19:29 +02:00
2020-08-11 01:07:15 +02:00
2020-09-28 21:46:17 +02:00
2020-10-01 01:21:50 +02:00
2020-07-05 00:58:59 +02:00
2020-06-15 13:45:17 +02:00
2020-10-14 14:26:08 +02:00
2020-09-28 21:46:17 +02:00
2020-09-28 21:46:17 +02:00
2020-08-11 01:06:27 +02:00

ArchiSteamFarm

Build status (GitHub) Build status (AppVeyor) Build status (Travis) Build status (Docker) Github last commit date License Localization

ConfigGenerator status Statistics status Steam group Discord Wiki

GitHub stable release version GitHub stable release date Github stable release downloads

GitHub experimental release version GitHub experimental release date Github experimental release downloads

GitHub sponsor Patreon support PayPal.me donate PayPal donate Bitcoin donate Steam donate


Description

ASF is a C# application with primary purpose of idling Steam cards from multiple accounts simultaneously. Unlike Idle Master which works only for one account at given time, while requiring Steam client running in the background and launching additional processes imitating "game playing" status, ASF doesn't require any Steam client running in the background, doesn't launch any additional processes and is made to handle unlimited Steam accounts at once. In addition to that, it's meant to be run on servers or other desktop-less machines, and features full cross-OS support, which makes it possible to launch on any operating system with .NET Core runtime, such as Windows, Linux and OS X. ASF is possible thanks to gigantic amount of work done in marvelous SteamKit2 library.

Today, ASF is one of the most versatile Steam power tools, allowing you to make use of many features that were implemented over time. Apart from idling Steam cards, which remains the primary focus, ASF includes bunch of features on its own, such as a possibility to use it as Steam authenticator or chat logger. In addition to that, ASF includes plugin system, thanks to which anybody can further extend it to his/her needs.


Core features

  • Automatic idling of available games with card drops using any number of active accounts
  • No requirement of running or even having official Steam client installed
  • Guarantee of being VAC-free, focus on security and privacy
  • Complex error-reporting mechanism, reliability even during Steam issues and other networking quirks
  • Flexible cards idling algorithm, pushing the performance to the maximum while still allowing a lot of customization
  • Offline idling, enabling you to skip in-game status and stop confusing your friends with fake playing status
  • Advanced support for Steam accounts, including ability to redeem keys, redeem gifts, accept trades, send messages and more
  • Support for latest Steam security features, including SteamGuard, SteamParental and 2-factor authentication
  • Unique ASF 2FA mechanism allowing ASF to act as a mobile authenticator, if needed
  • STM-like integration for trades, both passive (accepting) and active (sending), ASF can help you complete your sets
  • Special plugin system, which allows you to extend ASF in any way you wish through your own code
  • Powered by .NET Core, cross-OS compatibility, official support for Windows, Linux and OS X
  • ...and many more!

For learning about even more ASF features, we recommend starting with our FAQ entry.


Setting up / Help

Detailed guide regarding setting up and using ASF is available on our wiki in setting up section. It's user-friendly guide that shows basic, as well as a bit more complex ASF setup, covering all the required dependencies and other steps that are required in order to start using ASF software.


Compatibility / Supported operating systems

ASF officially supports Windows, Linux and OS X operating systems, but it can work anywhere where you can obtain working .NET Core runtime. Please visit compatibility section on the wiki for more information regarding environments that ASF can work in.


Want to know more?

Our wiki includes a lot of other articles that will tell you about everything in regards to ASF, as well as show you other features that you can make use of. If you have some time to spare and you'd like to find out what else ASF can do for you, we heavily encourage you to take a look!

Languages
C# 97.4%
C++ 1.2%
Shell 1.1%
Dockerfile 0.3%