ASF is a C# application that allows you to farm steam cards using multiple steam accounts simultaneously. Unlike Idle Master which works only for one account at given time, requires steam client running in background, and launches 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 .NET Core-supported operating system, such as Windows, Linux or OS X. ASF is possible thanks to gigantic amount of work done in marvelous SteamKit2 library.

ASF doesn't require and doesn't interfere in any way with Steam client. In addition to that, it doesn't require exclusive access to given account, which means that you can use your main account in Steam client, and use ASF for idling the same account at the same time. If you decide to launch a game, ASF will get disconnected, and resume idling once you finish playing your game, being as transparent as possible during entire process.


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
  • Complex error-reporting mechanism, allowing ASF to be smart and resume idling even in case of Steam or networking problems
  • Customizable cards idling algorithm which will push performance of card drops to the maximum
  • Offline idling, allowing you to skip in-game status and stop confusing your friends
  • Advanced support for alt accounts, including ability to redeem keys, redeem gifts, accept trades and more through a simple Steam chat
  • Support for latest Steam security features, including SteamGuard, SteamParental and two-factor authentication
  • Unique ASF 2FA mechanism allowing ASF to act as a mobile authenticator (if needed)
  • StreamTradeMatcher integration allowing ASF to help you in completing your steam badges by accepting dupe trades
  • Rebased on .NET Core 2.0, cross-OS compatibility, official support for Windows, Linux and OS X
  • ...and many more!

Interesting features

For comparison with other similar programs and further read about the most interesting exclusive ASF features, I recommend to visit appropriate FAQ entry that explains everything in detail. It's also a very good starting point if you want to have a glimpse on what ASF can do, besides the obvious.


Setting up

Detailed guide regarding setting up and using ASF is available in the setting up article on our wiki. It's user-friendly tutorial with helpful screenshots that compacts the whole basic knowledge about ASF into a single document.


Useful links

Main page / Source code
Latest version / Download
Wiki / Help
Steam group
Discord

You might be also interested in our side project, ASF STM listing.


Is the project still supported?

As stated in my thread closing statement, despite of SG thread being closed, I intend to keep the project up-to-date and supported through non-SG channels. You can check the date of the latest release for reference.


This thread

The thread on SG is open for discussion and support matters that are related to ASF as a program. If you have any particular issue, question or other case to discuss, feel free to leave a comment.


Have fun.

Please do not add me on steam, if you have questions or issues - ask in the thread.

Prior to doing so, make sure to read main page and the wiki, especially our FAQ.

9 years ago*

Comment has been collapsed.

Hey Archi, i just saw that you have 3 Years today. Happy Cakeday my Friend :)

8 years ago
Permalink

Comment has been collapsed.

Happy Cakeday!

8 years ago
Permalink

Comment has been collapsed.

happy cakeday, JustArchi!

8 years ago
Permalink

Comment has been collapsed.

I get these errors:
2016-10-21 19:33:24|ASF-9516|WARN|ASF|UrlGetToContentRetry() Request failed even after 5 tries
2016-10-21 19:33:24|ASF-9516|WARN|ASF|CheckForUpdate() Could not check latest version!

Probably with the ddos atack i guess?
Have a great cake-day! ASF is still awesome 2 of course ^_^

8 years ago
Permalink

Comment has been collapsed.

Excuse me referring to errors :(, I saw the thread after commenting, ty.

8 years ago
Permalink

Comment has been collapsed.

İs it okay to use it now with all the Ddos spread?

8 years ago
Permalink

Comment has been collapsed.

Why it should not be fine using it even during DDoS?

8 years ago
Permalink

Comment has been collapsed.

I have multiple accounts for farming, can i use multiple colors for each account?

8 years ago
Permalink

Comment has been collapsed.

No, colors are designed for warning levels.

8 years ago
Permalink

Comment has been collapsed.

:(

8 years ago
Permalink

Comment has been collapsed.

Still waiting for pink unicorn update.

8 years ago
Permalink

Comment has been collapsed.

hello
I have this problem appeared after having disarmed my hard drive.
http://prntscr.com/cxp01s

8 years ago
Permalink

Comment has been collapsed.

runtime error

take a guess

8 years ago
Permalink

Comment has been collapsed.

Which part of crapload of warnings and errors that you've even censored, you didn't understand?

8 years ago
Permalink

Comment has been collapsed.

jeje thanks , sorry :'(

8 years ago
Permalink

Comment has been collapsed.

No need to apologize, but it's kinda ridiculous that you've got an error that even states clearly in the text what to do, yet you still ask instead of reading the message.

8 years ago
Permalink

Comment has been collapsed.

Hey archi, i have a question. How to activate more than 107 (bot chat limit, strings) keys for one time. Can will be like the drag and drop a text file with the keys in windows archi and it will be in order to enable them to such accounts or use command like !redeem C:\ArchiFarmCard\keys.txt

8 years ago
Permalink

Comment has been collapsed.

how about issue !redeem more than once?

8 years ago
Permalink

Comment has been collapsed.

Either !redeem more than once, or use WCF for that.

8 years ago
Permalink

Comment has been collapsed.

well, it can be an example? how to transfer 108 keys so that they are activated on each bot
asf --client redeem key1, key2 (but then you need to specify the name of the bot)

8 years ago
Permalink

Comment has been collapsed.

Yes, specify bot that has distribute option enabled. You executing !redeem in chat with bot1 doesn't differ in any way from !redeem bot1 sent to bot2.

8 years ago
Permalink

Comment has been collapsed.

Thx, i have error then activate all keys:

2016-10-24 19:20:41|ASF-27300|ERROR|ASF|HandleCommand() System.TimeoutException: Тайм-аут канала запроса во время ожидания ответа после истечения 00:00:59.9839947. Увеличьте значение времени тайм-аута, передаваемое вызову при Request или увеличьте значение SendTimeout в Binding. Время, назначенное для выполнения этой операции, может быть составной частью более длинного тайм-аута. ---> System.TimeoutException: Во время запроса HTTP в "http://localhost:1242/ASF" было превышено выделенное время ожидания для 00:00:59.9910000. Время, выделенное для выполнения этой операции, может быть частью более длительного тайм-аута. ---> System.Net.WebException: Запрос был прерван: Время ожидания операции истекло.
в System.Net.HttpWebRequest.GetResponse()
в System.ServiceModel.Channels.HttpChannelFactory1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) --- Конец трассировки внутреннего стека исключений --- в System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason) в System.ServiceModel.Channels.HttpChannelFactory1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
в System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
--- Конец трассировки внутреннего стека исключений ---

Server stack trace:
в System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
в System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
в ArchiSteamFarm.IWCF.HandleCommand(String input)
в ArchiSteamFarm.Client.HandleCommand(String input)
2016-10-24 19:20:41|ASF-27300|INFO|ASF|ParsePostInitArgs() Response received: (blank screen)

But all keys activate normal
Ahh probably it is necessary to increase the "Http Timeout": 120 or maybe 180 sec

8 years ago*
Permalink

Comment has been collapsed.

Can I choose which game I want to idle or this program just chooses one randomly?

8 years ago
Permalink

Comment has been collapsed.

Use !play with the appID.

8 years ago
Permalink

Comment has been collapsed.

thx Archi

8 years ago
Permalink

Comment has been collapsed.

this is awesome. I got like 5k cards. P.s. I idles 103 games for other people.

But my ask is: how can I create a bot that accept 1:1 Steam card trades?

8 years ago
Permalink

Comment has been collapsed.

I think it could be nice to have a command who inform about the number of items in the inventory of the bot, in order to check if there is anything to loot. I know I could loot all of them at the same time, but is not working properly for the mobile-protected accounts (the steam android app just accept the trade if the bot account is open).

Just an idea, maybe a silly one. Thanks again for your hard work, Archi.

8 years ago
Permalink

Comment has been collapsed.

but is not working properly for the mobile-protected accounts

That's what ASF 2FA is for. Besides, if there is nothing to !loot, then ASF will tell you that the inventory is empty, instead of done/trade offer sent.

8 years ago
Permalink

Comment has been collapsed.

I've read the 2FA and already activated in my other accounts, but can't do that with the mobile protected because I have no root access. However, that's just a minor annoyance for me, I'll continue doing using my phone ;)

Thanks again!

8 years ago
Permalink

Comment has been collapsed.

You can use a desktop authenticator, eventually.

8 years ago
Permalink

Comment has been collapsed.

Can I use a desktop authentificator without remove the mobile protection?

8 years ago
Permalink

Comment has been collapsed.

No, unless you extract/copy the "security" steam account file generated on your phone.
That can't be done without root access/unrooting your phone.

8 years ago
Permalink

Comment has been collapsed.

Yeah, that's my problem. I will change it some day, but not for now. I'm a little bit lazy about it :P Thanks anyways!

8 years ago
Permalink

Comment has been collapsed.

Make your bot to reach Steam level 10
And use Badge Collector showcase to show how many cards it has.
That's what I did to my bot.

View attached image.
8 years ago
Permalink

Comment has been collapsed.

Hey, this is clever. Thanks! :D

8 years ago
Permalink

Comment has been collapsed.

Works for me! Can I play on VAC secured servers on CS:GO as an example while idling?

8 years ago
Permalink

Comment has been collapsed.

It only idles when you don't play.

8 years ago
Permalink

Comment has been collapsed.

Oh alright, thank you for the response.

8 years ago
Permalink

Comment has been collapsed.

Family sharing was added

8 years ago
Permalink

Comment has been collapsed.

Why sometimes ASF start farming one game and other times start farming multiple games?

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

8 years ago
Permalink

Comment has been collapsed.

so if i understand that correctly, for those that are not refunders and can farm the cards faster without the restriction and use the minimalist approach on ASF... my json setup like this okay?

{
  "Enabled": true,
  "SteamLogin": "myloginidhere",
  "SteamPassword": null,
  "CardDropsRestricted": false
}
8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

8 years ago
Permalink

Comment has been collapsed.

Yes.

8 years ago
Permalink

Comment has been collapsed.

thanks ^^
just couldn't confirm myself, already had farmed everything prior to the edit. xD

8 years ago
Permalink

Comment has been collapsed.

np, but remember that it's not obvious whether your account is restricted or not, and it might also change to other variant in future, therefore it's recommended to do tests as I described in the FAQ, even if you're sure that you know better. This is mainly because as I pointed out, setting card drops restricted to false when it's true in reality is much worse than keeping card drops restricted on true even though it's not needed (false in reality).

8 years ago
Permalink

Comment has been collapsed.

chroma squad fully farmed in 1.8hours, so certainly gotta be the unrestricted type personally. xD

8 years ago
Permalink

Comment has been collapsed.

I've tried this on one of my accs and it worked. Later I added the rest of my accs, one of them requested a key from email, entered it but the program window just got reset and was asking for it again, entered the key again, then it told me it disconnected from Steam.

Now NONE of my accs works with the programm. When I run it, it says the password is incorrect. WUT?! Everything is and was correct but now I get this error with every of my accs. What is happening?

8 years ago
Permalink

Comment has been collapsed.

Prior to doing so, make sure to read main page and the wiki, especially FAQ.

8 years ago
Permalink

Comment has been collapsed.

There's too much info which I don't understand! You found time or replying me but not for actuallyy helping me?

8 years ago
Permalink

Comment has been collapsed.

I found already too much time writing the program, explaining how it works and putting all of that online in addition to helping people so they can enjoy using it. Why I should answer you if you don't respect my time neither my polite request of visitng FAQ prior to asking a question? If you found the answer but you don't understand it, then ask specifically which part confuses you, so I can explain and rewrite that part of FAQ in order to avoid other people having the same issue as you.

8 years ago*
Permalink

Comment has been collapsed.

log maybe?

8 years ago
Permalink

Comment has been collapsed.

How to type commands?

8 years ago
Permalink

Comment has been collapsed.

via chat with the accounts, if I'm not wrong.

8 years ago
Permalink

Comment has been collapsed.

I want only farm specified game.Tried everything and not work anymote.Thanks for trying help me

8 years ago
Permalink

Comment has been collapsed.

Hi,
I have
IsBotAccount=true
TradingPreferences=Donations,STM

Jet I get "Ignoring trade" for an AB -> AA trade (instead of decline).

Since I only have like 6 hours sleep left, I won't try to reproduce it on other bots. Can do that tomorrow if needed.
Switching to botAccount=false still ignores the trade.(as it should do)

Local version: 2.1.6.2

Edit: Sometimes I get an "empty queue" in "HandleCallbacks()" when changing a config online. But I have to try out, when and why that happens.

8 years ago*
Permalink

Comment has been collapsed.

And that's correct, because ASF properly assumes that actual status of your inventory might change in the future and the trade that is not neutral+ for you now, might get neutral+ for you in the future. It always worked like that.

Although you're right that for bot accounts we can safely assume that inventory does not change, and issue permanent reject instead. That's misc enhancement though, and definitely not a logic flaw.

8 years ago
Permalink

Comment has been collapsed.

"Reject the trade if we don't accept matching everything, and it's worse than neutral for us."
"Notice: "Reject" of the trade will be either ignore, or decline, depending on configured IsBotAccount property."

Thats why I got confused. (So basically that case is Ignore always, independent of isBotAccount ?)

I am pretty sure I had declined trades (before the update), but can't remember if they were "just" bad trades or "unfair" ones.
Edit: Unfair trades still get declined, so I guess I never had that case before and missunderstood the wiki.

For the other thing, if I edit a config once, it works fine, as soon as I edit the same config twice (without restarting ASF) I get the following error for each edit (e.g. after the second edit I get two errors, after the third, three and so on) on the restart of the bot.
It does not seem to influence functionality in any way.

2016-10-27 10:30:48|ASF-516|ERROR|BotName|HandleCallbacks() System.InvalidOperationException: Die Warteschlange ist leer.
bei System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
bei System.Collections.Generic.Queue`1.Dequeue()
bei SteamKit2.SteamClient.WaitForCallback(Boolean freeLast, TimeSpan timeout)
bei ArchiSteamFarm.Bot.HandleCallbacks()

("Die Warteschlange ist leer."="The Queue is empty"), Net: 4.6.1, ASF: 2.1.6.2, OS: Win8.1. Tested without GUI.

EDIT: The error seems to be rethrown (one time, then) once in a while, after I stopped editing the configs.
Stopped editing bot1 at 2016-10-27 10:31:45 and got another error at 2016-10-27 10:34:14 and 2016-10-27 10:41:00
Stopped editing bot2 at 2016-10-27 10:32:58 and got another one at 2016-10-27 10:34:14 and 2016-10-27 10:45:15
Have the full logfile, if needed, but it's always an identical error.

8 years ago*
Permalink

Comment has been collapsed.

Try to reproduce exception with latest build, it should no longer be possible - https://ci.appveyor.com/project/JustArchi/ArchiSteamFarm/build/artifacts

8 years ago
Permalink

Comment has been collapsed.

Seems to be fixed. Could not reproduce it again.
Thanks.

8 years ago
Permalink

Comment has been collapsed.

Good, thanks for testing!

8 years ago
Permalink

Comment has been collapsed.

The game "The Admin" doesn't work
http://store.steampowered.com/app/420300/

ShouldFarm() Status for 420300 (The Admin): 5 cards remaining
Farm() Still farming: 420300 (The Admin)

My profile stats just show "Currently Online"

8 years ago
Permalink

Comment has been collapsed.

That's because it's not yet released but already some idiot added it to community page. You have blacklist for that.

8 years ago
Permalink

Comment has been collapsed.

The bot now refuses all incoming SteamTradeMatcher offers. It worked up until a few days ago. I tried to follow the wiki to set it to accept every "bad" offer, literally included every combination I could think of, but it still refuses to accept a simple 1:1 same game card trade.

  "TradingPreferences": "4",
  "TradingPreferences": 4,
  "TradingPreference": "4",
  "TradingPreference": 4,
  "SteamTradeMatcher": true,
  "MatchEverything": true,
8 years ago
Permalink

Comment has been collapsed.

Why you won't use ConfigGenerator for generating valid config?

And of course it won't work, because all of your combinations are wrong. In order to use STM you should have 2, in order to use STM + match everything, you should have 6. CG handles all of that bitwise mess for you with simple checkboxes.

8 years ago
Permalink

Comment has been collapsed.

Why you won't use ConfigGenerator for generating valid config?

Because it doesn't have a TradingPreferences option.

8 years ago*
Permalink

Comment has been collapsed.

Then why are you lanching outdated ConfigGenerator? :3

Use the one from latest ASF.zip.

8 years ago
Permalink

Comment has been collapsed.

Ah, so the self-updater only checks the one executable and not the whole deal. Okay, gotcha.

8 years ago
Permalink

Comment has been collapsed.

Yes, CG does not get automatically updated, but recent versions of it already include a pre-check that will refuse to edit configs if ASF binary does not match CG version.

8 years ago
Permalink

Comment has been collapsed.

Mine has started ignoring trades. Do you think it's related? Has there been a change in behavior?

8 years ago
Permalink

Comment has been collapsed.

I heard from various people in similar situation that reading changelog helped them :3.

8 years ago
Permalink

Comment has been collapsed.

Point taken. =)

8 years ago
Permalink

Comment has been collapsed.

I would remove that image.
That censorship might not be sufficient for some, that has a bit time and nothing better to do.

8 years ago
Permalink

Comment has been collapsed.

Well, it is not layered and the login name of my alt is not exactly a great secret. But I guess you are right, better be safe than hacked.

8 years ago
Permalink

Comment has been collapsed.

Jeha, but from the passwort here was a small stripe visible (from a part of it) and a bit on the top/bottem of the loginname.
People could reconstruct parts of you password with that and maybe (if its a word, or something) find out the whole password).
unlikely depending on your password, but still ;->

8 years ago
Permalink

Comment has been collapsed.

Is there a tutorial for how to install/use it?

8 years ago
Permalink

Comment has been collapsed.

Yes

8 years ago
Permalink

Comment has been collapsed.

Amazing. Thank you.

8 years ago
Permalink

Comment has been collapsed.

since the latest update when i use the !2faok command i got purple messages for each item he tries to confirm that he got an unknown code, but all the tasks are done afterwards nonetheless.

8 years ago
Permalink

Comment has been collapsed.

Can't reproduce, log?

8 years ago
Permalink

Comment has been collapsed.

sure, just listed one card on the market and confirmed afterwards to get this output
2016-10-29 02:25:28|ASF-1052|WARN|primary|GetConfirmations() Received unknown confirmation type, please report this: Sell - GarbageShooter

8 years ago
Permalink

Comment has been collapsed.

Fixed in 2.1.6.4, thanks for report!

8 years ago
Permalink

Comment has been collapsed.

Idle Master can't trigger VAC. Unless you're going to use outsider program on Idle Master it's safe. Already been using it for over a year for VAC-protected and non-protected games and guess what - no VAC. :)

8 years ago
Permalink

Comment has been collapsed.

No VAC yet, the moment you get VAC it will be already too late, and can't is a statement of possibility, which is not true when analyzing the way how IM communicates with your steam client, through hooked DLL library. Saying "it's unlikely" is much more appropriate, saying "it can't" is simply not true. One of the reasons why I created ASF was to ensure that ASF is VAC-free on software level and the way how it works, mainly because IM had still unlikely possibility of triggering the system. I want to have 100% safety, your 99% is not enough for me.

So unless you want to be indirectly responsible for anybody trusting you if your statement turns out to be false, I'd advise you to not spread misinformation, especially in my thread. And I hope for your own good that your statement will never turn out to be a wrong one, but considering the state of IM itself, I'm nearly sure that eventually something blows up and people will wake up covered in crap.

8 years ago*
Permalink

Comment has been collapsed.

Well, really only way of not getting VAC-banned 100% is just downloading the game and putting it on yourself without outside programs. ^_^

8 years ago
Permalink

Comment has been collapsed.

You clearly don't understand how ASF or VAC works if you're stating things like these, and I don't have enough willings to repeat what I said in various different places across last 38 pages, or here. Do yourself a favour and before claiming to know better at least try to do some basic research in the topic you're talking about.

"It's better to remain silent and be thought a fool than to speak out and remove all doubt."

8 years ago
Permalink

Comment has been collapsed.

So wait, you're saying that Idle Master can trigger VAC but it hasn't for some reason? So you're claiming that VAC- system sucks somehow because it just might find an outsider program like Idle Master at some point, and you know it can find, so you're better coder than those who Valve has? Daaayum son. :D

8 years ago
Permalink

Comment has been collapsed.

No.
What he says is:
The way VAC works there is a (small) chance of IM triggering VAC, since it is another program "manipulating" games and communicating with your steamclient. ASF on the other hand is emulating a steam client and is NOT communicating with your running one, so there is absolutely no chance of getting a VAC ban. Just because the steam client, which could detect a violation (could detect IM) is not involved in any way.

Currently IM seems not to trigger VAC, but a small change in the used algorithm and it may does. Some combination of IM and other stuff my does. Just some unlucky concidence with IM may does.

PS: Seeing what valve pulls sometimes, it seems any fithgrader is a batter programmer ;->

8 years ago
Permalink

Comment has been collapsed.

Happy one year anniversary to this thread (and possibly ASF's "official" release). Just wanted to congratulate you, that's a pretty damn impressive achievement. I remember back in the days when SAM was the only idler known. Now most people use ASF. :P

8 years ago
Permalink

Comment has been collapsed.

Closed 5 years ago by JustArchi.