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.

i suck

8 years ago
Permalink

Comment has been collapsed.

Thanks for all your work on this. I set up several accounts. Was able to have accounts get cards and send a redeem, that was cool!
Trading is not working. First I had one api key, but I think you have to have a key for each account. You might want to say in the faq "Using the browser, log into each account that you will farm and go to the link to get a key for each account." Something like that.
Now that i have a key for each, trading doesn't do anything, but a trade offer shows in the console "Accepting trade". But it doesn't work. Can this work with email and no 2FA?

8 years ago
Permalink

Comment has been collapsed.

Read wiki.

8 years ago
Permalink

Comment has been collapsed.

i read the wiki and it's not clear to me. It says it cannot accept email confirmations, that is fine. But can it accept the steam trade or trade offer? I can manually accept the email confirm.

Or do you have to either have 2FA setup inside ASF or disable Confirmation of Trades to get the "Automatically accept all trades coming from master" to work?

8 years ago*
Permalink

Comment has been collapsed.

FAQ -> ASF doesn't accept my trades.

8 years ago
Permalink

Comment has been collapsed.

would be great if ASF could accept trade offers like it does the redeem.

8 years ago
Permalink

Comment has been collapsed.

Would be great if you started reading instead of forcing me to repeat same things over and over again.

Remember that new devices have 7-days trade lock, so if you've just added your account to ASF, wait at least 7 days. After that period, everything should work.

8 years ago
Permalink

Comment has been collapsed.

sorry for the misunderstanding. didn't mean to offend. I read the faq several times. my accounts don't have locks.
i meant, it would be great if ASF could accept trades because I will not be using the 2AF or disabling trade email confirmations.
don't feel safe about that ATM.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

8 years ago
Permalink

Comment has been collapsed.

that helped, thank you

8 years ago
Permalink

Comment has been collapsed.

As pointed in the FAQ you don't need to use any of that.

You can keep using ASF with accounts on standard steamguard and no 2FA, and with trades confirmations turned on. In this case, you'll need to manually confirm trades on e-mail. Likewise, if you use classic 2FA, you'll need to confirm trades manually on your phone.

Disabling trade confirmations is required only if you don't want to manually accept trades. ASF works in all scenarios.

8 years ago
Permalink

Comment has been collapsed.

oh oh oh, when i read new device trade lock I was thinking about the trade lock when turning on mobile auth or 2FA for the first time. i didn't know there was a new "device" trade lock. now I get it. thanks!

8 years ago
Permalink

Comment has been collapsed.

I'm glad you finally understood the problem. As pointed in the FAQ, everything should start working regarding trades after a week passes since adding account to ASF.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 8 years ago.

8 years ago
Permalink

Comment has been collapsed.

If you have questions or issues ask them in the thread.
Prior to doing so, make sure to read main page and the wiki, especially FAQ.
Or don't be shocked if I kindly ignore your already-answered-million-times question.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 8 years ago.

8 years ago
Permalink

Comment has been collapsed.

I don't think so.

And no, your latest version shipped with your Linux distro is not the latest Mono version.

root@archi:~# mono --version
Mono JIT compiler version 4.3.2 (Nightly 4.3.2.155/9115bf0 Thu Dec 31 16:03:47 UTC 2015)

But ASF doesn't require latest mono version compiled 4 days ago, it just requires Mono 3.0+ and reading the wiki.

8 years ago*
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 8 years ago.

8 years ago
Permalink

Comment has been collapsed.

I do want to help you, but I did write the point there for a reason - mozroots command solved the problem for everybody with this issue.

Did you run mozroots command as the same user that is supposed to run ASF? Do you have ca-certificates-mono package installed? mono --version?

If you just followed my suggestion to update Mono to latest version then you wouldn't have to worry about all of that.

8 years ago*
Permalink

Comment has been collapsed.

Well, since you blocked me on steam, i'd like to add you to talk about business.
Its not about this bot ^
Please add me up.
Thanks.

8 years ago
Permalink

Comment has been collapsed.

OK, I've managed the minimal configuration and it's working, both in the client and in the web profile I'm in-game at the game of the app-id it indicates. I've seen all the available options of the example.xml but there's nothing I'm really interested in using beside the basic card farming.

Idle Master is, as the author himself notes, more user-friendly but even if I have a single account, I like the idea of not needing to have the Steam client necessarily running, and I'm curious to eventually test how much data it will consume since I often have to run this laptop not with my regular connection but with my phone which has a weekly quota. Right now I see it gives an update message every 5 minutes.

Since I've got no more "urge" to feed my Steam wallet for the sale, I'm really curious to try this over the next days. Thanks JustArchi and good job!

8 years ago
Permalink

Comment has been collapsed.

Steam client + idle master uses far more data than ASF, as ASF is custom steam client implementation that uses only absolutely crucial things. Launching steam client and loading all of your friends data along with their avatars (which is happening regardless if you like it or not), will consume more data than ASF farming for the whole month, and it's just one thing from a dozen of those who you have no control over.

Of course, as always, I suggest to measure used bandwidth yourself if you want to get the actual results. Just don't forget to count both idle master + steam as one thing.

8 years ago*
Permalink

Comment has been collapsed.

You are right, I didn't think about what the client consumes firsthand. BTW, I thought I'd have to get ASF restart after closing the client but I see it reconnects quickly after that. Just got its first card, so I can further confirm it works :)

Since I'm now using the "minimal" file, can I just add to it the lines pertaining to blacklisting, from the "example" file?
EDIT nevermind on that, at first it wasn't working because I didn't realize I had to put that line before the <configuration> at the end.

The Cirno icon is cute BTW ^^

8 years ago*
Permalink

Comment has been collapsed.

any one tried asf while playing cs go competitive ?

8 years ago
Permalink

Comment has been collapsed.

Can archi be used for idling? For example to set up only one game and idle constantly in it. (To idle in TF2 to be specific)?

8 years ago
Permalink

Comment has been collapsed.

Technically it'd be possible if I decided to implement it, but it's not ASF objective.

8 years ago
Permalink

Comment has been collapsed.

Whenever I try running the application the command prompt responds with "not starting this instance its disabled in the config file"

Am I required to remove the .xml from the config file into a newly made folder (yes I did extract the items from the zip folder).

8 years ago
Permalink

Comment has been collapsed.

You have to open the config and set the variables. (The first one needs to be changed to "True" in your case)

8 years ago
Permalink

Comment has been collapsed.

ah, i had wondered why it was set for "false" to begin with lol

Its working right now. I think

8 years ago
Permalink

Comment has been collapsed.

Well, I think the default is false so you can choose which bots you want to run when you have multiple accounts (more than 2 bots plus your main)

If you use the example config as a template, you can run as many bots as you want at the same time. Be sure to check out the other variables, that way you won't have to log in to each one manually, and many other useful things.

8 years ago
Permalink

Comment has been collapsed.

currently i'm just using the minimal bot as I want to see the performance of that first. If it does what I need it to, then i won't need to bother with the example.

If I want something better faster then I'll mess with the example template. Though I will have to refresh myself a tad on the C# as the only programming languages I mess with are HTML, CSS, JAVASCRIPT, JQUERY, KENTICO, PYTHON, SQL, etc.

C# hasn't been in my site very much as I tend to work on Front End Web Development and Background as well. Also a side project of robotics from time-to-time.

8 years ago
Permalink

Comment has been collapsed.

Editing config files doesn't need any C# knowledge, just basic XML knowledge. Unless you want to dig inside ASF source, which I doubt you want to.

8 years ago
Permalink

Comment has been collapsed.

To dumb to use that :/
Can we have a youtube video for dummys ?:D

8 years ago
Permalink

Comment has been collapsed.

8 years ago
Permalink

Comment has been collapsed.

https://github.com/JustArchi/ArchiSteamFarm

Simply copy example.xml to a new file, and edit properties inside. Don't forget to switch Enabled property to true once you're done, as this is the master switch which enables configured bot to launch. The most minimalistic setup to make ASF working is changing only Enabled, SteamLogin and SteamPassword properties, everything else is more or less optional to enable additional features.

8 years ago
Permalink

Comment has been collapsed.

Hi Archi, I'm trying to run this on a mac through Mono, and I get this:
2016-01-04 04:06:19 PM [*] INFO: Main() <Main> Archi's Steam Farm, version 1.2.4.0
2016-01-04 04:06:21 PM [*] NOTICE: CheckForUpdate() <> Local version: 1.2.4.0
2016-01-04 04:06:21 PM [*] NOTICE: CheckForUpdate() <> Remote version: 1.2.4.0
2016-01-04 04:06:21 PM [!!] ERROR: Main() <Main> Config directory doesn't exist!

I went through the thread and this person had the same problem on Linux and I don't see any resolution for that issue.
I've just installed mono, unzipped the 1.2.4 release download and changed the example.xml file then ran it. It's entirely possible I missed something, but I can't figure out what. Do you have any idea what?

8 years ago*
Permalink

Comment has been collapsed.

You need to navigate to ASF executable directory prior to running it.

Or, alternatively, you can use ASF 1.3 pre1+ which fixes issue by doing it for you.

8 years ago
Permalink

Comment has been collapsed.

Thanks, I did that and it's working well now. I did pick up a bug (I think?) though, I just tried testing it with login, password and steamparental set to null, logged in with my alt first then restarted ASF and tried to log in with my main. What does the bin file that gets created contain? I deleted that and was able to log into my main fine (I have mobile 2FA on it, and Steam client running in the background so I wanted to check that all worked). Anyway, now setting it up to use my alts, I may try out the 2FA hack on one of them and see how that goes. Thanks for the great tool!

8 years ago
Permalink

Comment has been collapsed.

That's not a bug, it's clearly stated that every account should have it's own XML config. Bin file is responsible for steamguard sentry file.

8 years ago
Permalink

Comment has been collapsed.

I understand that now, I wasn't sure that applied when you set all the login parameters to null, but it makes sense.

8 years ago
Permalink

Comment has been collapsed.

Running 1.2.4.0, went through the instructions and looked through the wiki and didn't see anything that I missed, though it's possible I missed something anyway. Probably something obvious.

It loads up, connects to steam, then nothing. I know I have plenty of games with card drops but it never starts farming. Tried without then with the steam client running.

8 years ago
Permalink

Comment has been collapsed.

OS?

8 years ago
Permalink

Comment has been collapsed.

Win7, latest updates

8 years ago
Permalink

Comment has been collapsed.

ASF issues LogOn() after getting connected to steam. It also handles eventual errors coming from OnDisconnected and OnLoggedOff callbacks.

If nothing happens, then I don't know what's wrong. I never stumbled upon this issue, and I don't have any logical solution. Check firewalls and other things that can potentially disrupt connection.

8 years ago
Permalink

Comment has been collapsed.

Ah, probably hughesnet's fault then. Ever since I moved and got stuck with them for an ISP I've had connection issues with a lot of things.

I checked the log and it connects to steam, but just stops there. I let it run for about an hour and nothing else ever happened.

8 years ago
Permalink

Comment has been collapsed.

And nothing will happen because basically ASF sends requests and never receives the response, so it'll silently keep sending requests (TCP retransmission), but if they don't pass through, it'll look like it's stuck.

I'm not sure if there is anything to be done to be honest, I may ask SK2 developers about that.

8 years ago
Permalink

Comment has been collapsed.

Do you have a debug version that gives more detailed feedback? If so I could try that and see if it comes up with anything else other than silence after "Connected to steam!"

8 years ago
Permalink

Comment has been collapsed.

I don't at the moment, maybe later I'll make one, I never needed it.

8 years ago
Permalink

Comment has been collapsed.

A little suggest, it would be awesome if we can check with !status how many card drops remains.

8 years ago
Permalink

Comment has been collapsed.

ASF doesn't track that info.

8 years ago
Permalink

Comment has been collapsed.

I seem to be getting a rather nasty error:

OnDisconnected() <example> Disconnected from Steam!
OnDisconnected() <example> Reconnecting...

It just started and I tried falsing it then making it true again but that didn't help. I switched it as well to test the other document but it's having trouble connecting. Any idea why?

8 years ago
Permalink

Comment has been collapsed.

First up, great work! I just tried installing it etc and had the exact same problem. Downloaded and installed the latest .NET and still got that issue. Using Win 8.1

8 years ago
Permalink

Comment has been collapsed.

Seems like temporary Volvo problems, https://github.com/JustArchi/ArchiSteamFarm/issues/65

8 years ago
Permalink

Comment has been collapsed.

It's fixed in V1.3 now.

8 years ago
Permalink

Comment has been collapsed.

Seems like temporary Volvo problems, https://github.com/JustArchi/ArchiSteamFarm/issues/65

8 years ago
Permalink

Comment has been collapsed.

Volvo Potato servers running hot as always! :D Baked potatoes incoming booooys!

8 years ago
Permalink

Comment has been collapsed.

So the only solution for now is leave it running and hope it connects?
EDIT Never ask things before you see for yourself... for others, I can confirm that it eventually managed to connect after a dozen retries or so.

8 years ago*
Permalink

Comment has been collapsed.

It's fixed in V1.3 now.

8 years ago
Permalink

Comment has been collapsed.

Thanks, I just moved the config files of the previous version there and it has started immediately now.

8 years ago
Permalink

Comment has been collapsed.

It's fixed in V1.3 now.

8 years ago
Permalink

Comment has been collapsed.

Is there any way for put more than 1 SteamMasterID as bot master?

8 years ago
Permalink

Comment has been collapsed.

Currently - no. Why do you need it?

8 years ago
Permalink

Comment has been collapsed.

Need to add my brother as bot master too.

Is to hard to implement it?

8 years ago
Permalink

Comment has been collapsed.

You could set him as bot master, and use recently introduced WCF for yourself.

It's not hard, but it has to be done, and I'm out of time recently. In fact, I released V1.3 that early only because of a need to fix volvo fuckup.

8 years ago
Permalink

Comment has been collapsed.

ok! Let me check the news and thx you for fast reply

8 years ago
Permalink

Comment has been collapsed.

Thank you so much :^)

8 years ago
Permalink

Comment has been collapsed.

Fixed recently introduced connection issues - https://github.com/JustArchi/ArchiSteamFarm/releases/latest

Thanks GabeN.

8 years ago
Permalink

Comment has been collapsed.

  • 08.01.2016 09:08:11 [*] INFO: ReconnectIfNeeded() <primary> Reconnecting because our sessionID expired!
  • 08.01.2016 09:28:50 [*] INFO: ReconnectIfNeeded() <primary> Reconnecting because our sessionID expired!
  • 08.01.2016 10:09:28 [*] INFO: ReconnectIfNeeded() <primary> Reconnecting because our sessionID expired!
  • 08.01.2016 10:40:05 [*] INFO: ReconnectIfNeeded() <primary> Reconnecting because our sessionID expired!
  • 08.01.2016 11:20:44 [*] INFO: ReconnectIfNeeded() <primary> Reconnecting because our sessionID expired!

I think this did not happen (this often) before I updated to 1.3.0.0, but I'm not sure. (Maybe add log rotation if you got some the time)
Could this be due to the fact that I'm logged into the browser at work? I remember having a problem with being logged in here while idlemaster was running, it got logged out and could not get the badge page.

8 years ago
Permalink

Comment has been collapsed.

Steam handles sessionID in very weird way. Basically it's very usual case that sessionID expires when you're using primary account, there's nothing to be done here. The less you use your primary account, the higher chance that sessionID will not expire.

Do not worry, ASF automatically handles the problem. Even if it has hard times with steam, it's supposed to be as transparent as possible, and handle all of steam fuckups silently.

8 years ago*
Permalink

Comment has been collapsed.

Okidoki... while I have you anyway: Whenever I start it up, I get a "Got a bad hardware address length for an AF_PACKET 16 8"... It works perfectly, so this is just my curiousity :) (and a nifty reason to keep bumping this thread ;))

8 years ago
Permalink

Comment has been collapsed.

Something considering Mono and SteamKit2, I guess it's a debug message, nothing to worry about - I have the same on my server.

8 years ago
Permalink

Comment has been collapsed.

Archi Is it necessary to update xml files on every version?

I was using ArchiSteamFarm V1.2.2 xml on ArchiSteamFarm V1.2.4.0 sinice the hash matched :D
But looks like u've updated xml in latest version.
So my question is do I've to update the example.xml file on every version?

8 years ago
Permalink

Comment has been collapsed.

Short answer: No.

I am trying to avoid breaking changes, even if some property gets added to the config files, and your old config misses it, ASF will use default value regardless. Take a look at minimal.xml.

I suggest to follow my suggestion regarding configs:

  • Start off minimal.xml for every of your bot
  • Manually copy-paste those properties from example.xml which you want to change.
  • If you accept default value for given property, there's no point in defining it with default value.

For example, I have only two configs:
archi.xml (primary)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
        <Enabled type="bool" value="true"/>
        <SteamLogin type="string" value="XXX"/>
        <SteamPassword type="string" value="YYY"/>
        <FarmOffline type="bool" value="true"/>
</configuration>

patchy.xml (alt)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
        <Enabled type="bool" value="true"/>
        <SteamLogin type="string" value="XXX"/>
        <SteamPassword type="string" value="YYY"/>
        <SteamApiKey type="string" value="ZZZ"/>
        <SteamMasterID type="ulong" value="76561198006963719"/>
</configuration>

Missing properties that can be found in example.xml are getting default defined values, which I have no need to change.

So there's no point in rebasing your config every time I change/add something. Instead, check if default value of new property satisfies you, and if yes, there's nothing to add, if no, you can always add that property and redefine it. The changelog is supposed to tell you if anything changed regarding config properties, if nothing is listed, then nothing should be done.

8 years ago
Permalink

Comment has been collapsed.

Awesome. Thanks.

8 years ago
Permalink

Comment has been collapsed.

It looks intersting. Since I'm almost done getting all my cards I think that I'll stick with idlemaster for now. But I'll check it out if I get more drops.

8 years ago
Permalink

Comment has been collapsed.

I made some tests that people asked me for.

Q: Is ASF faster than Idle Master?

A: Yes, although the explanation is rather complicated.

For more info, check FAQ

8 years ago
Permalink

Comment has been collapsed.

I was going to ask if the option to send statistics is enabled by default if you don't use that specific line in your config but I see I've already joined the group, so it's "yes" :p

So far, extremely satisfied. Sometimes it disconnects and reconnects, and having to read the badges page again may suck a few megabytes too much from my phone connection, but it seems to be a problem on Steam's side and not of the program. Still lighter and much more convenient than keeping client + idlemaster open, as the only thing I need after configuring is launching the executable.

The only suggestions for improvement I have right noe would be superficial and not necessary, like seeing what game exactly is being farmed and its progress (x cards got out of y drops), instead of just the id and having to check on the profile to know, but it'd be just a little additional convenience, nothing more.
Would also be nice if beside a blacklist it was possible to create a custom priority list to decide what games of your library you want farmed first, but knowing IM doesn't have it, and reading some comments from around the first version of ASF, I gather it's not so easy to implement, so no biggie.

8 years ago
Permalink

Comment has been collapsed.

It is enabled by default, because "statistics" consists only of joining the group and the chat, and I don't consider it as major privacy issue, rather a tip for me how many people are using ASF.

There is !status command, and there are plans on improving it in future with more information.

"Whitelist" is not going to happen because it'd have to alter cards farming algorithm, and ASF is supposed to work as effectively as possible. It already farms faster than idle master, and I want to keep it like that.

8 years ago
Permalink

Comment has been collapsed.

One word : android

8 years ago
Permalink

Comment has been collapsed.

One word: Xamarin.

8 years ago
Permalink

Comment has been collapsed.

Did you try it?

8 years ago
Permalink

Comment has been collapsed.

No, because as I pointed out initially ASF is supposed to be run on my Linux server, not Android.

8 years ago
Permalink

Comment has been collapsed.

Hey, something went wrong when I loaded ASF. I get the message 'unable to login to steam:invalidpassword' and 'removed expired login key' for all my alts. All the key files got deleted and I can't login to my alts. I have a backup of all the files but the same thing keeps happening. This problem just started. I was able to login my alts a few hours ago.

edit: Seems to be working now. I don't know what happened. Weird.

8 years ago*
Permalink

Comment has been collapsed.

Volvo happened, and better get used to that, because it's going to happen on usual basis ;).

8 years ago
Permalink

Comment has been collapsed.

"No bots are running. Shutting down" <----?

8 years ago
Permalink

Comment has been collapsed.

It's a synonym for RTFM.

8 years ago
Permalink

Comment has been collapsed.

☐ Not rekt
☑ Rekt

8 years ago
Permalink

Comment has been collapsed.

Users living on the bleeding edge might be interested in latest pre-release, which adds option to forward already owned keys to other bots automatically. Links in OP, have fun.

8 years ago
Permalink

Comment has been collapsed.

View attached image.
8 years ago
Permalink

Comment has been collapsed.

Closed 5 years ago by JustArchi.