Releases: JustArchiNET/ArchiSteamFarm
ArchiSteamFarm V2.1
NOTICE: Pre-releases are experimental versions that often contain unpatched bugs, work-in-progress features or rewritten implementations. If you don't consider yourself advanced user, please download latest stable release instead. Pre-release versions are dedicated to users who know how to report bugs, deal with issues and give feedback. No technical support will be given.
PLEASE MAKE BACKUPS
ArchiSteamFarm V2.1
After a little over 3 months since last V2.0 release, there is another major ASF version ready - 2.1, which contains some crucial changes.
Before updating, I strongly recommend to create a backup of your ASF. While everything should work out of the box (as usual), this release contains breaking change that will modify existing structure and break backwards compatibility. It's always a good idea to make a backup every once in a while as well.
ASF 2FA rewrite
When ASF 2FA was firstly introduced, the whole 2FA concept was rather new and older users of ASF can still remember that not everything worked right away. Now the time has come to end old ASF 2FA "v1" and introduce new ASF 2FA "v2". The major difference between those two versions is the fact that old ASF 2FA was purely based on SteamAuth module written by developers of SteamDesktopAuthenticator. It works quite decent, but has it's own limitations such as not being SteamParental-friendly, running into unhandled steam issues and having rather poor "ASAP" implementation that comes from nearly half a year back when we all needed something that works.
Unfortunately it seems that developers more or less abandoned the library, therefore I decided to drop it and write my own ASF-integrated 2FA module that includes the same functionality, done in much better, faster, smarter and error-aware optimized way. While previous library was more "universal" and worked with nearly all 2FA features, current one is ASF-centered and provides the functionality that ASF needs, rather than being general-purpose for SDA or WinAuth programs. It's still in somehow beta stage, but it already works much better than the old implementation, and will benefit ASF in long-run.
Some important changes include:
- [!] Incompatibility with previous versions of ASF - Bot's database will be converted from old V1 into new V2 format, which means that newly generated Bot's database will not run correctly with previous versions of ASF.
- [!] Removed support for linking new authenticator and delinking existing ones, effectively removing
UseAsfAsMobileAuthenticatorBot config property and!2faoffcommand. - Added support for SteamParental in 2FA sessions. New ASF 2FA uses existing ASF mechanism of
SteamParentalPINto unlock and operate on such accounts, no action is needed. - Improved security of ASF 2FA - 2FA module will now only accept confirmations ASF directly creates, and not all of them.
!2faokcommand is not affected and still accepts everything. - Many internal optimizations, bugfixes, improvements and general code review of ASF 2FA.
Point 2 is most important - until now ASF 2FA could potentially work in "solo" mode, called ASF 2FA (only) which was possible to achieve with UseAsfAsMobileAuthenticator and linking new authenticator. That mode is no longer available, and you're expected to link your authenticator firstly in either SDA or WinAuth. This is a security measure followed by the fact that ASF 2FA is a module designed for ASF, and not general-purpose authenticator. Every already linked authenticator will remain active and work properly, but if you used ASF 2FA "solo" mode, you're strongly encouraged to re-add your authenticator to SDA or WinAuth and keep a copy there, in addition to using it in ASF 2FA. This is more convenient for both you as an user, and me as a developer, because ASF instead of implementing extra unneeded features can focus on remaining compatible with SDA and WinAuth, working with their data and ensuring that you have a backup plan in case something goes wrong.
.NET 4.6.1
Until now ASF was targetting .NET 4.5.1 framework, this was mainly because latest stable Mono version was 4.2 and it didn't support any more recent framework version. Things have changed, as Mono devs recently released version 4.4, which supports latest .NET framework 4.6.1, therefore ASF from now on uses this version as both compile environment and runtime.
Majority of users should be unaffected. Make sure you're using latest .NET on Windows, and latest Mono (4.4+) with other OSes.
Latest .NET framework ensures that ASF apart from using recently added features, can operate in better environment, which should improve things such as performance or memory usage.
Apart from major changes above, usual changelog:
- Massive portion of code improvements, optimizations and bugfixes.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.9
- [!]
SteamTradeMatcheraccepts trading cards only now (previously: trading cards and foils). - [!]
SteamTradeMatcherwill now reject the trade if user asks for steam summer/winter sale cards and has a trade hold. - Misc code improvements, optimizations and bugfixes.
STM change was introduced for two reasons.
Firstly, against my expectations, prices of foils can differ greatly, and ASF shouldn't decide for you if it's worth it to do a trade. Even though it's very likely that you do want to trade your dupe foil for a foil you don't have, the price difference can be significant and I'm not making trade bot but ASF.
Secondly, foil cards are quite rare, and even if you drop some, it's even more unlikely that you drop 2 or more foils of the same card, and even more unlikely that you'll find somebody on STM willing to trade them. Therefore, ASF help in this regard is already negligible, and I don't really think that it's required, especially when we consider foil prices from point above.
Therefore, ASF will no longer automatically accept foil swaps - but you can still accept those trades manually, same as emoticons or backgrounds.
When it comes to trade holds, I decided that summer/winter sale cards have short lifespan and majority of people (including me) do not want to see them being on trade hold - especially the 15 days one. That change applies only to those special cards though, and ASF will still keep working on liberal rules even for people with trade holds, as long as they ask for normal cards with long lifespan.
I strongly encourage to read Trading wiki part that I've just finished writing - it contains a good explanation how STM module works in current form.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.8
NOTICE: Pre-releases are experimental versions that often contain unpatched bugs, work-in-progress features or rewritten implementations. If you don't consider yourself advanced user, please download latest stable release instead. Pre-release versions are dedicated to users who know how to report bugs, deal with issues and give feedback. No technical support will be given.
- [!]
SteamTradeMatcheraccepts trading cards only now (previously: trading cards and foils) [1] - Misc code improvements, optimizations and bugfixes.
- This change was introduced for two reasons.
Firstly, against my expectations, prices of foils can differ greatly, and ASF shouldn't decide for you if it's worth it to do a trade. Even though it's very likely that you do want to trade your dupe foil for a foil you don't have, the price difference can be significant and I'm not making trade bot but ASF.
Secondly, foil cards are quite rare, and even if you drop some, it's even more unlikely that you drop 2 or more foils of the same card, and even more unlikely that you'll find somebody on STM willing to trade them. Therefore, ASF help in this regard is already negligible, and I don't really think that it's required, especially when we consider foil prices from point above.
Therefore, ASF will no longer automatically accept foil swaps - but you can still accept those trades manually, same as emoticons or backgrounds.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.6
- Added workaround for Mono bug 41701 affecting Mono runtimes 4.4+.
- Misc code improvements, optimizations and bugfixes.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.7
NOTICE: Pre-releases are experimental versions that often contain unpatched bugs, work-in-progress features or rewritten implementations. If you don't consider yourself advanced user, please download latest stable release instead. Pre-release versions are dedicated to users who know how to report bugs, deal with issues and give feedback. No technical support will be given.
- [!]
SteamTradeMatcheraccepts trading cards only now (previously: trading cards and foils) [1] - Misc code improvements, optimizations and bugfixes.
- This change was introduced for two reasons.
Firstly, against my expectations, prices of foils can differ greatly, and ASF shouldn't decide for you if it's worth it to do a trade. Even though it's very likely that you do want to trade your dupe foil for a foil you don't have, the price difference can be significant and I'm not making trade bot but ASF.
Secondly, foil cards are quite rare, and even if you drop some, it's even more unlikely that you drop 2 or more foils of the same card, and even more unlikely that you'll find somebody on STM willing to trade them. Therefore, ASF help in this regard is already negligible, and I don't really think that it's required, especially when we consider foil prices from point above.
Therefore, ASF will no longer automatically accept foil swaps - but you can still accept those trades manually, same as emoticons or backgrounds.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.5
- [!] Added Steam Summer Sale 2016 with appID of
480730toBlacklistand built-inGlobalBlacklist. - [!] Implemented brand new event-based cards farming module[1].
- Changed default value of
FarmingDelayfrom5to15. - Improved logic of restarting cards farming module on newly added games.
- Misc code improvements, optimizations and bugfixes.
- [2.0.5.5] Hopefully fixed another Windows false-positive introduced in 2.0.5.4.
- From the very first version of ASF, cards farming module worked the same way - it periodically checked every
FarmingDelayminutes if game is fully farmed already, and moved to another game if that's true. It worked very well and reliable, but there was a room for future improvement. That improvement happened now, and cards farming module is now additionally powered by ASF events - "new items" event in particular. That approach allows ASF to check game badge page as soon as built-in ASF steam client notifies the process about card drop, which makes it possible to avoid wasting any extra second after the game is fully farmed. Previously we could waste up toFarmingDelayminutes waiting for the next check.
However, FarmingDelay config property and old approach was not removed, as it's still possible for Steam network to not inform us through an event about new item drop - be it because of an issue or similar. That's why we still periodically check game badge page, even though it should not be required with properly-working Steam network. We can make the checks rarer though, and rely on them only when Steam is talking crap (which sadly, happens too often).
Still, the improvement is significant, and that's another great ASF feature which will save up to 5 minutes per every title being farmed. The efficiency of farming is now at maximum, and I doubt that there is anything that could improve it further, but we will see 👍.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.4
- [!] Added Steam Summer Sale 2016 with appID of
480730toBlacklistand built-inGlobalBlacklist. - [!] Implemented brand new event-based cards farming module[1].
- Changed default value of
FarmingDelayfrom5to15. - Improved logic of restarting cards farming module on newly added games.
- Misc code improvements, optimizations and bugfixes.
- From the very first version of ASF, cards farming module worked the same way - it periodically checked every
FarmingDelayminutes if game is fully farmed already, and moved to another game if that's true. It worked very well and reliable, but there was a room for future improvement. That improvement happened now, and cards farming module is now additionally powered by ASF events - "new items" event in particular. That approach allows ASF to check game badge page as soon as built-in ASF steam client notifies the process about card drop, which makes it possible to avoid wasting any extra second after the game is fully farmed. Previously we could waste up toFarmingDelayminutes waiting for the next check.
However, FarmingDelay config property and old approach was not removed, as it's still possible for Steam network to not inform us through an event about new item drop - be it because of an issue or similar. That's why we still periodically check game badge page, even though it should not be required with properly-working Steam network. We can make the checks rarer though, and rely on them only when Steam is talking crap (which sadly, happens too often).
Still, the improvement is significant, and that's another great ASF feature which will save up to 5 minutes per every title being farmed. The efficiency of farming is now at maximum, and I doubt that there is anything that could improve it further, but we will see 👍.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.3
NOTICE: Pre-releases are experimental versions that often contain unpatched bugs, work-in-progress features or rewritten implementations. If you don't consider yourself advanced user, please download latest stable release instead. Pre-release versions are dedicated to users who know how to report bugs, deal with issues and give feedback. No technical support will be given.
- [!] Implemented brand new event-based cards farming module[1].
- Changed default value of
FarmingDelayfrom5to15.
- From the very first version of ASF, cards farming module worked the same way - it periodically checked every
FarmingDelayminutes if game is fully farmed already, and moved to another game if that's true. It worked very well and reliable, but there was a room for future improvement. That improvement happened now, and cards farming module is now additionally powered by ASF events - "new items" event in particular. That approach allows ASF to check game badge page as soon as built-in ASF steam client notifies the process about card drop, which makes it possible to avoid wasting any extra second after the game is fully farmed. Previously we could waste up toFarmingDelayminutes waiting for the next check.
However, FarmingDelay config property and old approach was not removed, as it's still possible for Steam network to not inform us through an event about new item drop - be it because of an issue or similar. That's why we still periodically check game badge page, even though it should not be required with properly-working Steam network. We can make the checks rarer though, and rely on them only when Steam is talking crap (which sadly, happens too often).
Still, the improvement is significant, and that's another great ASF feature which will save up to 5 minutes per every title being farmed. The efficiency of farming is now at maximum, and I doubt that there is anything that could improve it further, but we will see 👍.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.2
- Added
IsBotAccountbot config property. Visit wiki for more info. - Added
!versioncommand. Visit wiki for more info. - Fixed ASF not always resetting games played when farming got interrupted (e.g. with
!pausecommand). - Misc code improvements, optimizations and bugfixes.
IsBotAccount - bool type with default value of false. This property defines if account used for this bot instance should be considered a primary one (false), or bot/alt one (true). ASF tries to be as much compatible with both types as possible, therefore switching this option to true for alts is not technically required for ASF to work, but doing so will allow ASF to tune the logic better for alt accounts. At the moment, default value of false will tell ASF to ignore both invalid trades and friend requests not from SteamMasterID, as this is what we want for primary accounts. Switching this option to true will cause invalid trades and those friend requests to be rejected instead, which is better for alts. The logic might get extended in future releases, if needed. If you're not sure how to set this property, leave it with default value of false.
!version - Prints ASF version.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!
ArchiSteamFarm V2.0.5.1
- [!] Greatly improved primary accounts support[1] and removed
AccountPlayingDelayglobal config property. - ASF will now ignore initial
OnFarmingFinished()event whenShutdownOnFarmingFinishedis set, and you've just!started this bot instance, allowing you to issue commands without much hassle. Every next event (including the one fired afterIdleFarmingPeriod) will be honored. !updatecommand will now ignore (override)AutoUpdatessetting, allowing you to force ASF update while still being able to skip automatic ones (on program startup and every 24 hours).- Fixed valid trades potentially being ignored in
SteamTradeMatcherwhen user was overpaying with cards from the same game. - Fixed wrong dupes calculation when Steam is talking crap and responding with NULL instanceID of items (thanks GabeN).
- Fixed ASF accidentally dismissing notifications related to profile comments.
- Massive portion of code improvements, optimizations and bugfixes.
- [2.0.5.1] Fixed harmless error when account was not using
SteamApiKey, introduced in 2.0.5.0.
[1] Previously we had rather half-blind mechanism of trying to play given games, expecting a disconnect, and reconnecting in AccountPlayingDelay minutes. Now instead we have proper event-based handling - ASF listens on each PlayingSessionState event and updates availability of farming accordingly, not only resuming farming immediately after it's possible, but also limiting number of reconnects and other issues which could be caused by previous approach.
Please note that new mechanism is in semi-beta state. It should work properly, but it wasn't carefully tested with all possible scenarios yet. If you spot anything weird, feel free to report with log file.
ASF is available for free. If you're grateful for what we're doing, please consider donating. Developing ASF requires massive amount of time and knowledge, especially when it comes to Steam. Even smallest amount is highly appreciated!