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.

Hello Archi
I've been using ASF for a few days and it's working great. I'm encountering a small issue, I'd like to know if there's something to fix on my side ?
I'm using Ubuntu 14.04 with last updates, and mono 4.2.3:

~$ mono --version
Mono JIT compiler version 4.2.3 (Stable 4.2.3.4/832de4b Wed Mar 16 13:19:08 UTC 2016)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       altstack
    Notifications: epoll
    Architecture:  amd64
    Disabled:      none
    Misc:          softdebug 
    LLVM:          supported, not enabled.
    GC:            sgen

This is what my config looks like:

~$ cat config/Saint.json
{
  "Enabled": true,
  "StartOnLaunch": true,
  "SteamLogin": "CENSORED!",
  "SteamPassword": null,
  "SteamParentalPIN": "0",
  "SteamApiKey": null,
  "SteamMasterID": 0,
  "SteamMasterClanID": 0,
  "CardDropsRestricted": false,
  "DismissInventoryNotifications": false,
  "FarmOffline": true,
  "HandleOfflineMessages": false,
  "ForwardKeysToOtherBots": false,
  "DistributeKeys": false,
  "UseAsfAsMobileAuthenticator": false,
  "ShutdownOnFarmingFinished": false,
  "SendOnFarmingFinished": false,
  "SteamTradeToken": null,
  "SendTradePeriod": 0,
  "AcceptConfirmationsPeriod": 0,
  "CustomGamePlayedWhileIdle": null,
  "GamesPlayedWhileIdle": [
    0
  ]
}

It works perfectly that way.
My issue is: I wanted to try the other farming algorithm to see if it's faster, so I changed
"CardDropsRestricted": false,
to
"CardDropsRestricted": true,
(and nothing else).
When I launch ASF, it always gets disconnected after checking "hours", and nothing happens after:

~$ mono ASF.exe 
22/03/2016 14:28:45 [*] INFO: Init() <Main> Archi's Steam Farm, version 2.0.1.5
22/03/2016 14:28:46 [*] INFO: CheckForUpdate() <Main> Checking new version...
22/03/2016 14:28:47 [*] INFO: CheckForUpdate() <Main> Local version: 2.0.1.5 | Remote version: 2.0.1.5
22/03/2016 14:28:47 [*] INFO: CheckForUpdate() <Main> ASF will automatically check for new versions every 24 hours
22/03/2016 14:28:47 [*] INFO: RefreshCMs() <Main> Refreshing list of CMs...
22/03/2016 14:28:47 [*] INFO: RefreshCMs() <Main> Success!
22/03/2016 14:28:47 [*] INFO: Start() <Saint> Starting...
22/03/2016 14:28:47 [*] INFO: Init() <example> Not starting this instance because it's disabled in config file
22/03/2016 14:28:47 [*] INFO: Init() <minimal> Not starting this instance because it's disabled in config file
22/03/2016 14:28:48 [*] INFO: OnConnected() <Saint> Connected to Steam!
22/03/2016 14:28:48 [*] INFO: OnConnected() <Saint> Logging in...
22/03/2016 14:28:48 [*] INFO: OnLoggedOn() <Saint> Successfully logged on!
22/03/2016 14:28:48 [*] INFO: Init() <Saint> Logging in to ISteamUserAuth...
22/03/2016 14:28:49 [*] INFO: Init() <Saint> Success!
22/03/2016 14:28:51 [*] INFO: IsAnythingToFarm() <Saint> Checking badges...
22/03/2016 14:28:51 [*] INFO: IsAnythingToFarm() <Saint> Checking first page...
22/03/2016 14:28:56 [*] INFO: IsAnythingToFarm() <Saint> Checking other pages...
22/03/2016 14:29:01 [*] INFO: IsAnythingToFarm() <Saint> Checking hours...
22/03/2016 14:31:00 [*] INFO: OnDisconnected() <Saint> Disconnected from Steam!

It happens today with 2.0.1.5 but it was the same previously with 2.0.0.7.
Maybe some timeout property involved on my system ? I looked at the known issues and didn't find that, but I may have missed something. Also, in case it matters, I'm using Mobile Authentication, I had to type a code once, and never after that.
Anyway, nothing important, but I'm curious :)
Thanks for sharing your nice work

8 years ago
Permalink

Comment has been collapsed.

How many games you have to farm?

Checking hours request fires quite many different requests, although that shouldn't be any reason to disconnect the client, because requests are HTTP-based. I wouldn't be shocked to see timeouts, but that DC from steam network doesn't make any sense to me. Not to mention that I've never seen similar issue.

8 years ago
Permalink

Comment has been collapsed.

If you really want to answer both your and mine curiosity, then enable Debug mode, reproduce the problem, exit ASF, pack whole debug directory together with log.txt and send it to my e-mail: JustArchi[at]JustArchi[dot]net.

Keep in mind that debug directory contains sensitive information though. That's the only way for me to actually try to guess why steam client got disconnected. So don't upload it to any public place.

8 years ago
Permalink

Comment has been collapsed.

I guess the number is bigger than 450, this may explain that ! I'm sending you the debug data in a few minutes. Don't lose your time on this if it turns into a headache :)

8 years ago
Permalink

Comment has been collapsed.

It still doesn't explain client disconnect, but at least I can suspect that steam network sees many requests from your IP, thus disconnects the steam client session to invalidate sessionID which it established.

That's wild guess though. I should improve that part actually.

8 years ago
Permalink

Comment has been collapsed.

I'm packing the data and sending it. While there are errors, the debug mode seems to make it work in the end, my wild guess would be a timeout that doesn't break the whole thing because of debug mode. May the wilder guess win :)
Edit: looks like your ISP blocked mine, sending again with another mail provider.

8 years ago*
Permalink

Comment has been collapsed.

Yeah, I'm getting ton of spam so my mail server is subscribed to several RBLs in order to limit it, works well :3.

Got it, thanks! In the meantime I created more efficient method which was on my TODO since implementing complex algorithm,

8 years ago
Permalink

Comment has been collapsed.

I still don't know why Valve does something like that, but I released ASF 2.0.1.7 - https://github.com/JustArchi/ArchiSteamFarm/releases/tag/2.0.1.7

Greatly improved efficiency of Complex algorithm by reading hours data directly from fetched badge pages (instead of checking every app page)

Which should solve the issue you're having regardless, not to mention the gigantic speedup with more games to check.

8 years ago
Permalink

Comment has been collapsed.

I didn't expect such a fast fix, thanks a lot ! I'm checking it in a few minutes, feedback incoming.

8 years ago
Permalink

Comment has been collapsed.

I can confirm that 2.0.1.7 solved the problem on my side. Congrats, you rock !!

8 years ago
Permalink

Comment has been collapsed.

Hi!
I have a problem with installing mono, I'm on ubuntu 4.2.0, here is the error message I get when I do sudo apt-get install mono-complete

The following packages have unmet dependencies:
mono-complete : Depends: mono-devel (= 4.2.3.4-0xamarin2) but it is not going to be installed

Can you help?

8 years ago
Permalink

Comment has been collapsed.

Did you add repo, the key, and did apt-get update without errors as stated in the wiki?

8 years ago
Permalink

Comment has been collapsed.

Yes I followed the wikim I did get this one when doing update, is that the problem? I don't see any double entries of mono in the sources file, only the one I added from the wiki.

W: Duplicate sources.list entry http://download.mono-project.com/repo/debian/ wheezy/main amd64 Packages (/var/lib/apt/lists/download.mono-project.com_repo_debian_dists_wheezy_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://download.mono-project.com/repo/debian/ wheezy/main i386 Packages (/var/lib/apt/lists/download.mono-project.com_repo_debian_dists_wheezy_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems

(I did run apt-get update several times)

8 years ago
Permalink

Comment has been collapsed.

Check for mono entries in sources.list.d inside /etc/apt, perhaps you have some older entries there. It's enough to rm them.

8 years ago
Permalink

Comment has been collapsed.

That did the trick, thanks so much for the help!

8 years ago
Permalink

Comment has been collapsed.

Where is .dmg for macs?

8 years ago
Permalink

Comment has been collapsed.

Nowhere. Read setting up guide instead.

8 years ago
Permalink

Comment has been collapsed.

Thanks so much for this!
Finally got it working after failing many times :3

8 years ago
Permalink

Comment has been collapsed.

Hi Archi,
Been using this for a couple of weeks now. It was running fine until today when my main account keeps getting disconnected from steam and keeps removing my login key. I was using the stable version, then tried the pre-release, both having the same problem. Any idea why it would keep disconnecting me? My password remain unchanged but it keeps asking for password and mobile authentication.

Thanks so much again!

3/23/2016 3:03:31 PM [] INFO: OnConnected() <leah> Connected to Steam!
3/23/2016 3:03:31 PM [
] INFO: OnConnected() <leah> Logging in...
3/23/2016 3:03:32 PM [!] WARNING: OnLoggedOn() <leah> Unable to login to Steam: InvalidPassword
3/23/2016 3:03:32 PM [] INFO: OnDisconnected() <leah> Disconnected from Steam!
3/23/2016 3:03:32 PM [
] INFO: OnDisconnected() <leah> Removed expired login key
3/23/2016 3:03:32 PM [] INFO: OnDisconnected() <leah> Reconnecting...
3/23/2016 3:03:45 PM [
] INFO: OnConnected() <leah> Connected to Steam!
<leah> Please enter your password:

8 years ago
Permalink

Comment has been collapsed.

This is Steam, nothing there works as it should. Probably removing both .bin and .db files and linking account once again will fix the problem.

8 years ago
Permalink

Comment has been collapsed.

I have the exact same problem, I've tried your suggestion but now every time I restart ASF it asks for the mobile auth code.

8 years ago
Permalink

Comment has been collapsed.

And? This is Steam, I can't answer you why it suddenly decided to not accept login keys which ASF is saving and using. You could try de-linking, you could try deauthorizing all devices, you could also try going to a local wizard and asking why steam doesn't work as it should.

I had exactly the same problem and solved it by de-linking, which is basically stopping ASF, removing .bin and .db files of affected bot, and starting again.

8 years ago
Permalink

Comment has been collapsed.

It solved itself updating to latest stable but I bet for a temporary Steam glitch as you said, thanks.

8 years ago*
Permalink

Comment has been collapsed.

Thanks but I've tried that as well. Lol, will try again in a few days and see if the problem will magically go away. XP

8 years ago
Permalink

Comment has been collapsed.

Good news everyone

ASF now includes graphical config generator, so it's much easier to configure and use ASF now. If creating and editing files was too hard for you, it's worth giving it a try (I even added a very special tutorial for newcomers).

Have fun.

8 years ago
Permalink

Comment has been collapsed.

My two account have each others SteamMasterID in the configs so I can control each one while I'm logged in with the other

When feeding a key to one, the bots answer will trigger another activation attempt on the sender and so forth, causing an infinite loop which will get both accounts an activation cooldown within seconds:

20:37 - hagebot: XXXXX-XXXXX-XXXXX
20:37 - hage: 
<hage> Key: XXXXX-XXXXX-XXXXX | Status: InvalidKey | Items: 
20:37 - hagebot: 
<hagebot> Key: <hage> Key: XXXXX-XXXXX-XXXXX | Status: InvalidKey | Items:  | Status: InvalidKey | Items: 
20:37 - hage: 
<hage> Key: <hagebot> Key: <hage> Key: XXXXX-XXXXX-XXXXX | Status: InvalidKey | Items:  | Status: InvalidKey | Items:  | Status: InvalidKey | Items: 
20:37 - hagebot: 
<hagebot> Key: <hage> Key: <hagebot> Key: <hage> Key: XXXXX-XXXXX-XXXXX | Status: InvalidKey | Items:  | Status: InvalidKey | Items:  | Status: InvalidKey | Items:  | Status: InvalidKey | Items: 
20:37 - hage: 
<hage> Key: <hagebot> Key: <hage> Key: <hagebot> Key: <hage> Key: XXXXX-XXXXX-XXXXX | Status: InvalidKey | Items:  | Status: InvalidKey | Items:  | Status: InvalidKey | Items:  | Status: InvalidKey | Items:  | Status: InvalidKey | Items: 

Any way to prevent this or could you implement a check?

8 years ago
Permalink

Comment has been collapsed.

My two account have each others SteamMasterID in the configs so I can control each one while I'm logged in with the other

This is a flaw.

You should have ONE master for all your bots, and use !redeem with given bot instance instead.

8 years ago
Permalink

Comment has been collapsed.

Example: I have primary acc and alt acc. I'm always using primary.

I can tell my alt:

!redeem archi XXXX

Which will redeem key XXXXX on my primary acc.

8 years ago
Permalink

Comment has been collapsed.

Yeah I just tried it myself. Worked just like I wanted, thanks

8 years ago
Permalink

Comment has been collapsed.

Is there a way to get a bot to only attempt redeeming keys when given the !redeem command? Currently it attempts whenever there's anything with dashes at all.

8 years ago
Permalink

Comment has been collapsed.

No, why do you need it? Bot is listening only to his master anyway.

8 years ago
Permalink

Comment has been collapsed.

Earlier I was passing URLs between computers using the shared Steam chat. All the URLs that had dashes were interpreted as potential keys by my Alt that was in the chat.

It's an edge case, I guess. For me though, why would I want my Alt trying to parse everything with dashes as if it were keys? We have the !redeem command for that.

8 years ago
Permalink

Comment has been collapsed.

!redeem command doesn't work with multiple redeeming, and that feature is useful for many people. Well, you could use a "workaround" and just put ! at the start of your message, so bot would simply tell you that the command is unrecognized, such as !ignore <whatever you want> :3. That's definitely better than trying to redeem something.

8 years ago
Permalink

Comment has been collapsed.

Would you please add a !pause command, so that I can stop my Alt but still have it on and listening for instructions? My Alt is family-shared, and if I stop it so that my sister can play games out of that library, I have to go to the computer that has ASF to restart it.

8 years ago
Permalink

Comment has been collapsed.

ASF automatically handles that, family sharing does not interfere with ASF farming - there is a notification about account playing elsewhere, you agree on disconnect, and ASF handles the rest.

8 years ago
Permalink

Comment has been collapsed.

I'm not sure what you mean by "ASF automatically handles that".

Right now, Alt1 is farming. Someone wants to play a game from Alt1's account. In Steam, it says "Shared by Alt1, whose shared library is in use" (because Alt1 is farming), and the Play button is a Buy button. The only way to play this game is to stop Alt1 from farming.

But then there's no easy way to restart Alt1 farming again, if you're doing everything via chat commands, because when you stop Alt1 it goes offline and isn't listening anymore.

Have I misunderstood? It must be frustrating having to listen to my old brain, haha. It's OK to tell me "You're not smart enough to use ASF." I promise I can't get offended, haha.

Edit: AH! I think I understand! You meant, if my sister were using my Alt1 account, it would be handled by ASF correctly. YES! OK, that's where the confusion was.

I wasn't clear. My sister has her own Steam account. Me, my brother, my nephews... Everyone has Steam. In addition to those accounts, we have a communal Family-Shared account (my Alt1) that I put games on for everyone to play when my Main account is in use. So my sister wanted to play a game from my Alt1's library, from her own Steam account, via Family Sharing. But my Alt1 was farming, so the library was unavailable. And there was no way to pause farming, only shut everything down completely instead.

I hope that's more clear. I apologize for the earlier confusion.

8 years ago*
Permalink

Comment has been collapsed.

I thought that family sharing is working like usual steam client, which would make an option to disconnect other client and start a game, my bad then.

There are still some solutions though. If that's your alt, you could just give credentials to your sister, so she can disconnect ASF whenever she wants, and that would solve everything. In addition to that, there is also other way - you could make her steam account (if she has one, if not - just create) a SteamMasterID of alt account. She can then stop it whenever she wants, and start it through writing to you a command such as !start myalt1. Remember that ASF accepts both current and given bot instance commands, which means that SteamMasterID can give commands to his/her bot by accessing ANY bot from the ASF process, that includes your primary account too.

There is also third way, you could just make another alt made purely for sending commands for ASF, this way you can not only stop but also start bots anyway you want.

So as you can see, there are at least 3 solutions. Pick the one you like.

8 years ago
Permalink

Comment has been collapsed.

My sister is 8, haha. I don't know if I'd trust her with the responsibility of my Alt account.

What do you mean by "give credentials to your sister"? Give her my Alt login/password? How would she two-factor authenticate? That sounds like a lot of work.

When you say a SteamMasterID, do you mean that a bot can have more than one? Now.... that might work. But I'd only want her to be able to start/stop it, not loot it (You don't know my sister, but she is mischievous).

The third option of having another Alt just to have one is indeed possible, but I already have enough trouble keeping track of a single Alt.

I just figured that since there was already a ShutdownOnFarmingFinished configuration option, the functionality was already there for a !pause command.

Actually, wouldn't it be the same as !stop but call StopFarming(); instead?

::coding coding::

OK, I have !pause working in my copy, but it needs !farm to restart rather than !start (because StopFarming doesn't turn off KeepRunning, which Start checks).

Edit: Ah this is perfect. I went to restart my Alt after forgetting that I left it paused, but because of the way StopFarming works, it checked after three hours to see if I had any cards left to idle (which of course I do) and restarted itself. IT'S PERFECT.

<3 ASF. <3 Archi. <3

8 years ago*
Permalink

Comment has been collapsed.

Another option would be to !play X where X is the appID of the game you don't have yet, that would turn on manual farming module.

8 years ago
Permalink

Comment has been collapsed.

BTW, I added !pause command, it will be available in next ASF version (2.0.2.0+)

8 years ago
Permalink

Comment has been collapsed.

I love you.

8 years ago
Permalink

Comment has been collapsed.

I wasn't clear. My sister has her own Steam account. Me, my brother, my nephews... Everyone has Steam. In addition to those accounts, we have a communal Family-Shared account (my Alt1) that I put games on for everyone to play when my Main account is in use. So my sister wanted to play a game from my Alt1's library, from her own Steam account, via Family Sharing. But my Alt1 was farming, so the library was unavailable. And there was no way to pause farming, only shut everything down completely instead.

It still doesn't change anything. Make her account SteamMasterID of your alt, so she can issue !stop whenever she wants, and she can also write !start myalt1 to you or any other ASF account that is currently active in order to start it back (if needed).

Basically it's still the same. You can either give credentials to your alt to your sister, so she can access the account and disconnect ASF whenever she wants, without doing anything else (easiest solution, and recommended unless you have a reason not to), or you can make her SteamMasterID of your alt, this way she can !stop and !start the alt whenever she wants/needs.

8 years ago*
Permalink

Comment has been collapsed.

If my sister is SteamMasterID, can I still start/stop my Alt? Or does it only respond to SteamMasterID?

And, what if my brother wants to play? Or my nephews? There's more than one other person who would like access to Alt1's library.

8 years ago
Permalink

Comment has been collapsed.

What if Archi idles and does not do its job? o3o

8 years ago
Permalink

Comment has been collapsed.

I do not idle, my bots idle for me :3.

8 years ago
Permalink

Comment has been collapsed.

Archi 2.0.1.8 Crash

[!] EXCEPTION: UnhandledExceptionHandler() <Main> Значение не может быть неопределенным.
Имя параметра: obj
24.03.2016 4:29:01 [!] StackTrace:
в System.GC.GetGeneration(Object obj)
в System.PinnableBufferCache.Free(Object buffer)
в System.Net.Security._SslStream.Finalize()

8 years ago
Permalink

Comment has been collapsed.

.NET bug, there's not even ArchiSteamFarm in stacktrace.

8 years ago
Permalink

Comment has been collapsed.

3/24/2016 12:37:22 AM [] INFO: CheckForUpdate() <Main> Checking new version...
3/24/2016 12:37:23 AM [
] INFO: CheckForUpdate() <Main> Local version: 2.0.1.9 | Remote version: 2.0.1.9
3/24/2016 12:37:23 AM [] INFO: CheckForUpdate() <Main> ASF will automatically check for new versions every 24 hours
3/24/2016 12:37:23 AM [
] INFO: RefreshCMs() <Main> Refreshing list of CMs...
3/24/2016 12:37:24 AM [] INFO: RefreshCMs() <Main> Success!
3/24/2016 12:37:25 AM [
] INFO: OnBotShutdown() <Main> No bots are running, exiting

After update , tried to start it several times and its been shutting down every time =/

8 years ago
Permalink

Comment has been collapsed.

Read changelog, and wiki.

8 years ago
Permalink

Comment has been collapsed.

Uhhh... This is illegal.

I'd love to test it, but I like my account clean of VAC bans.

Thanks, anyways.

8 years ago
Permalink

Comment has been collapsed.

I'd like you to not spread false information, as ASF is completely VAC-free, and you can read in the FAQ why.

Whether you want to use it or not is up to you, but claiming that it's illegal is simply wrong.

8 years ago
Permalink

Comment has been collapsed.

Opinion, not saying it's a fact.

Still, I won't touch this, not even poking it with a stick.

Thanks, still.

Edit: Perhaps... a testimonial?

8 years ago*
Permalink

Comment has been collapsed.

Been using this for almost a week now, fantastic concept and implemented very well. I play when want, then I let ACF farm in the background when I switch users back to the Windows login screen to let the family use the computer. I've already picked up almost $6.00 in my steam wallet, and have about 780 installed games left to farm. Very useful for picking up Steam cash for people who get a lot of bundles or have extensive libraries with no time to play everything.

Thanks, Archi!
Great job!

8 years ago
Permalink

Comment has been collapsed.

Glad to hear that :3.

8 years ago
Permalink

Comment has been collapsed.

Hello bro
I have a question about "DistributeKeys".
How to send cdkey?

thank you in advance

8 years ago
Permalink

Comment has been collapsed.

Either by !redeem command or by posting a cd-key directly to the chat with given bot.

8 years ago
Permalink

Comment has been collapsed.

!redeem for each key right?

8 years ago
Permalink

Comment has been collapsed.

DistributeKeys is the option for multiple keys redeeming, and you can redeem multiple keys only through direct chat with given bot. Every key separated by a newline.

XXX
YYY
ZZZ
8 years ago
Permalink

Comment has been collapsed.

Just paste a bunch of them without !redeem

8 years ago
Permalink

Comment has been collapsed.

ok thank you bro.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

8 years ago
Permalink

Comment has been collapsed.

I don't understand the question.

8 years ago
Permalink

Comment has been collapsed.

I thought they only activated keys sent by MasterID?

8 years ago
Permalink

Comment has been collapsed.

Because they do. And in addition to that, also by SteamOwnerID of ASF. Any message sent from somebody who is not master neither owner gets ignored.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

8 years ago
Permalink

Comment has been collapsed.

Are you talking about ArchiBot?

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

8 years ago
Permalink

Comment has been collapsed.

Oh... But this thread is about something else. ArchiBot of course can activate any keys sent to it on chat, regardless of senders.

8 years ago
Permalink

Comment has been collapsed.

Firstly, this thread is about ASF and not ArchiBoT. ArchiBoT is not ASF.

Secondly, ArchiBoT can activate the key only by issuing a !feed command which is reserved only for my touhou giveaways chat, and nobody else. It's not possible that ArchiBoT could activate the key you sent to him, because you're not his master, neither you're on our touhou chat to be allowed to do so.

8 years ago
Permalink

Comment has been collapsed.

Is the !owns command only working for public profiles?
Is there no other way to implement this for friends only/private accounts since ASF has full control/info over the accounts regardless of that setting?

8 years ago
Permalink

Comment has been collapsed.

There is an option but it's not efficient, hence I decided to use community-based data instead of steam client one.

8 years ago
Permalink

Comment has been collapsed.

Hmm, I wasn't sure since this is not written in commands page.
Is it possible to add a command setting bot profiles public/private/friends only?

8 years ago
Permalink

Comment has been collapsed.

Possible? Yes, but not on ASF roadmap, not the purpose of ASF.

8 years ago
Permalink

Comment has been collapsed.

Yeah, guessed so, still as the number of bots you use increase you need to have some automation for this type of things. Even with only a few accounts it is very time consuming to login through steam client and make changes for each account.
ASF is already more than just a steam farmer since it gives someone control over bots. So adding more bot control commands can still be useful in my opinion. Like joining groups, channels, changing some simple profile settings like setting inventory or profile to public etc.

8 years ago
Permalink

Comment has been collapsed.

But that's not the purpose of ASF. I could as well integrate whole code written in ArchiBoT to ASF. The point of ASF is to farm cards, I won't complicate my codebase by integrating entire steam and all possible actions into it. In fact, it's already 99.5% finished, and soon updates will be much less frequent.

8 years ago
Permalink

Comment has been collapsed.

I understand, I guess the only way to customize something to your needs is to program it yourself :d
I suggested some things here, did that considering what you said before about the GUI addition, that you won't spend time on it before you run out of ideas to make the app better. So just thought of it giving you some ideas whether you find them useful or not is up to you ofc.
ASF is very stable and great as a farming tool, to be honest it is much better than idlemaster based on my experience with both of them and their capabilities.
But ASF is more than just a farm tool for me, for instance features like auto confirmations or getting 2fa tokens and redeeming keys via steam chat alone are very useful idd. Having a bit more control over the bot accounts without the need to login through steam can be useful and time saving.
Is ArchiBot opensource btw? :D

PS: Thanks for making all these possible Archi!

8 years ago*
Permalink

Comment has been collapsed.

ArchiBoT is not open-source as it contains many features that I don't want to make public, for example full API to interact with SG such as giveaway parser and more features used for my Touhou Giveaways.

ASF was created on core ArchiBoT codebase.

8 years ago
Permalink

Comment has been collapsed.

Can you release some ArchiBoT's function as optional modules to integrate with ASF? ArchiBoT have quite a lot of interesting functions that people would love to have.

8 years ago
Permalink

Comment has been collapsed.

No. That would make it too easy to program actually legit bot that would join giveaways, scan entire discussions for SG giveaways, even pass SGT checks, not to mention using APIs that are hidden and non-public. At the moment somebody willing to do that has to spend some time and knowledge, while with everything I coded for my group it would be uncommenting 5 lines of code.

Not going to happen.

8 years ago
Permalink

Comment has been collapsed.

Why not use this?

8 years ago
Permalink

Comment has been collapsed.

Nice find, that can be used indeed!

8 years ago
Permalink

Comment has been collapsed.

madjoki's link is great idd, this can also be used for nonpublic accounts !owns check I guess?

8 years ago
Permalink

Comment has been collapsed.

ummm..small question...the "done farming after x hours playtime" was added with 2.0.1.9 or was there before and I didn't noticed it?

8 years ago
Permalink

Comment has been collapsed.

In 2.0.1.9. In next version it will be more human-readable (hh:mm instead of float number of hours).

It was added mostly for determining whether one should use CardDropsRestricted or not. So if somebody uses simple algorithm and he notices that all games require typically 2-3 and more hours to farm, then it's wise to set CardDropsRestricted to true.

In my case I'm getting mostly 1.4-1.8 times, so it's obvious for me that CardDropsRestricted is not required (and not recommended, because it would degrade my farming efficiency)

8 years ago*
Permalink

Comment has been collapsed.

Hi JustArchi, does it make sense to run several bots on a same account or will Steam only allow to run a single game at a given time anyway?

8 years ago
Permalink

Comment has been collapsed.

Rule of thumb, never have the same account being used in more than one bot, and never have more than one ASF instance run anywhere.

Only one steam client can play games at given time, if you run 2x ASF, or 1x ASF with 2x same account, then they'll fight with each other, meaning one will farm, and second one will wait for the first one to finish.

8 years ago
Permalink

Comment has been collapsed.

What could possibly go wrong if we have two ASF processes with different bots in each? I could think about hitting limit of request, it there something even worse or that's the only problem?

8 years ago
Permalink

Comment has been collapsed.

Nothing to be honest - it's just waste of resources. With recent addition of SteamOwnerID I can't see any real reason to do that, as you have fine-tuning of permissions now, and if you decide to launch 2+ processes then you're simply losing resources (and memory sharing, because .NET is more smart than anything, and it does awesome tricks to reduce memory usage).

ASF was coded in such way to not need more than one main process to handle everything, but if you ran bots A + B in one instance, and C + D in other one, then you really can't go wrong, apart from wasting resources to maintain both of these processes.

8 years ago
Permalink

Comment has been collapsed.

Thanks for the explanation. Not that I going to start more then one instance, as you said - there is no need for this, I just wanted to understand those things better.

8 years ago
Permalink

Comment has been collapsed.

And yeah, you can run into steam limits, such as that one allowing ~120 (?) steam clients being connected from one IP at the same time. There's really no solution for that, and launching another ASF will not help because it's limitation of Steam, ASF has no real limitation of bot instances, you could even run a million of them (assuming you have enough memory for that of course)

8 years ago
Permalink

Comment has been collapsed.

Also one more point to note - as you know ASF has many rate limiters, such the one that ensures no more than 1 login request per 7 seconds. This is important to ensure that ASF works properly. If you divided e.g. 100 bots into 100 ASF instances, then they would NOT be synchronized with each other, meaning than it'd be very likely that steam would simply return InvalidPassword to every bot after some time. As written in the wiki, limits exist so ASF can handle many bots at once, if you use just one or two accounts, you can even set all of them to 0 and it would work properly, but try running 100 or more bots with no delay and steam will cut you very fast.

One of the reasons why I added those limits to global config, so one can tune those variables however he wants, even setting them to 0 if there are not many accounts and no limits are needed.

8 years ago*
Permalink

Comment has been collapsed.

Ok that's clear! Thanks for your quick answer and your useful little program :)

8 years ago
Permalink

Comment has been collapsed.

HI. Your application is awesome.
I have some questions:
1) Are you planning to implement full GUI interface?
2) Is there any way to output the game name rather than a AppID?
Thanks for attention!)

8 years ago
Permalink

Comment has been collapsed.

1) No. ASF is supposed to work on my headless server, and it's the whole point of it's existance. If that would not work, then ASF would not exist at all.
2) No, as ASF does not track that info. If you really need game name, you can check it yourself. It's supposed to do it's thing with minimal user interaction, the console output is just to let you know that it's not stuck and actually something is happening. Nothing more, nothing less.

8 years ago
Permalink

Comment has been collapsed.

I got that) Thanks for answer!))

8 years ago
Permalink

Comment has been collapsed.

Hi. When I try to farm with asf and play a game at the same time, I get the message 'account is being used else where..' and farming stops.

8 years ago
Permalink

Comment has been collapsed.

And that's how it's supposed to work.

8 years ago
Permalink

Comment has been collapsed.

hi bro
Automatically accept all trades coming from master
It's not working here.>..>

8 years ago
Permalink

Comment has been collapsed.

or I have to sent command through steam private chat, by SteamMasterID? :D

8 years ago
Permalink

Comment has been collapsed.

Read FAQ.

8 years ago
Permalink

Comment has been collapsed.

Read

Wait ... people read on the Internet? O.o

View attached image.
8 years ago
Permalink

Comment has been collapsed.

Certain people don't...

8 years ago
Permalink

Comment has been collapsed.

90% of the people who come to this thread cant read

8 years ago
Permalink

Comment has been collapsed.

Might not be possible to configure and use ASF without reading wiki/FAQ on github.

8 years ago
Permalink

Comment has been collapsed.

Well u only need to change one field from false to true to get it starting

8 years ago
Permalink

Comment has been collapsed.

And you wouldn't even know that without reading wiki :D

Actually I wanted to mention this earlier. Since the configs changed to json it has become harder to use ASF for newcomers I think.
xml files had a lot of comments, explaining each field in the config files. Now you have to go and read the github wiki.
But I guess since json does not allow any comments, this can't be helped.

8 years ago
Permalink

Comment has been collapsed.

Yes.
But even those who read usually don't read FAQs, agreements, Terms of Use etc.
You know, these rather important things ^^

8 years ago
Permalink

Comment has been collapsed.

Hi. I want to suggest a function(feature):
GoOfflineOnFarmingFinished=true/false - changes Steam status to "Offline" when bot finished farming. But still can handle commands.

8 years ago
Permalink

Comment has been collapsed.

Can't see a need, you have offline farming already. Besides, that would still need to have offline commands handling.

8 years ago
Permalink

Comment has been collapsed.

I can't see in offline mode what is game farmind at this time))

8 years ago
Permalink

Comment has been collapsed.

I'm slightly confused, when I add both my main and a second account it should farm cars on both accounts, correct? If so, then why is it only farming on my second account? Logs do say that my main account started farming 340310 although it does not show me as playing a game for friends? Strange thing is that after I thought I had closed the program I still got a card drop for the game it claimed to have been farming about 5 minutes after I had 'closed' the program? How does that work?

8 years ago*
Permalink

Comment has been collapsed.

Did you turn offline farming to on? Then that's the reason.

8 years ago
Permalink

Comment has been collapsed.

Yeah, I did. I've been running the program for a few hours now and it seems to be running great and I'm even quite certain that I seem to be getting cards a tiny bit faster now, so thanks! Although so far it doesn't seem to send me trades, so I'll have to figure that out.

8 years ago
Permalink

Comment has been collapsed.

Well, you shouldn't be shocked that it does not show your primary account as playing a game then :3.

Yes, it works. If ASF says on the console that it's farming, then it is. If you need visual confirmation from steam, then you need to turn offline farming off :3.

8 years ago
Permalink

Comment has been collapsed.

Regarding trading, it's described in the FAQ.

8 years ago
Permalink

Comment has been collapsed.

Last 3 versions 2.0.1.6 and 2.0.1.9/2.0.2.0 keep crashing on launch. No idea why. It doesn't auto update and JSON file seems to be issue. How can I rectify this?

8 years ago
Permalink

Comment has been collapsed.

No log = no help.

8 years ago
Permalink

Comment has been collapsed.

How do I get the log?

8 years ago
Permalink

Comment has been collapsed.

It's recorded automatically as log.txt next to ASF binary.

8 years ago
Permalink

Comment has been collapsed.

27/03/2016 2:11:35 AM [] INFO: CheckForUpdate() <Main> Checking new version...
27/03/2016 2:11:36 AM [
] INFO: CheckForUpdate() <Main> Local version: 2.0.1.9 | Remote version: 2.0.1.9
27/03/2016 2:11:36 AM [] INFO: CheckForUpdate() <Main> ASF will automatically check for new versions every 24 hours
27/03/2016 2:11:36 AM [
] INFO: RefreshCMs() <Main> Refreshing list of CMs...
27/03/2016 2:11:37 AM [] INFO: RefreshCMs() <Main> Success!
27/03/2016 2:11:37 AM [
] INFO: Start() <abc> Starting...
27/03/2016 2:11:37 AM [!] EXCEPTION: UnhandledExceptionHandler() <Main> Object reference not set to an instance of an object.
27/03/2016 2:11:37 AM [!] StackTrace:
at ArchiSteamFarm.BotDatabase.Load(String filePath)
at ArchiSteamFarm.Bot..ctor(String botName)
at ArchiSteamFarm.Program.Init(String[] args)
at ArchiSteamFarm.Program.Main(String[] args)

8 years ago
Permalink

Comment has been collapsed.

Remove abc.db and try again.

8 years ago
Permalink

Comment has been collapsed.

Thanks. Lemme try this.

8 years ago
Permalink

Comment has been collapsed.

In the meantime I fixed the bug in 2.0.2.1. Bug as in - ASF crash on broken bot databases, the fact that your bot won't run with invalid database remains, ASF is just aware of such possibilty now.

8 years ago
Permalink

Comment has been collapsed.

I have a problem with !statusall command. I'm sending all the commands to a single bot (private, not group chat). If I send !status <BOT> it works well for each one but !statusall don't show anything. Does this command only work in a group chat?

8 years ago
Permalink

Comment has been collapsed.

No, this command requires SteamOwnerID permission and you're not the owner.

8 years ago
Permalink

Comment has been collapsed.

Problem solved :)

I read about SteamOwnerID in the wiki when you launched the first 2.0.x version but only mentioned these commands:

SteamMasterID has full control over his bot instance, but global commands such as !exit, !restart or !update are reserved for SteamOwnerID only.

So I was using SteamMasterID only. Thank you!

8 years ago
Permalink

Comment has been collapsed.

Closed 5 years ago by JustArchi.