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.

Hi (:
Random question. Why is ASF not sending foil cards anymore?

7 years ago
Permalink

Comment has been collapsed.

Because you marked your bots as primary accounts.

7 years ago
Permalink

Comment has been collapsed.

not sure if i was just lucky today and not sure if ASF can run multiple games at once but my idle master just idled all my games at one time and got all drops from all of them in 4 hours 68 drops total that i had left,i think it might have something to do with steams new inventory management they rolled out yesterday. ether way you might want to look into it just in case i didnt just get lucky:)

7 years ago
Permalink

Comment has been collapsed.

Its a well know bug, that might or might not work.

7 years ago
Permalink

Comment has been collapsed.

Ether way i wont complain was trying to get the rest of my cards before the Christmas sale,saved me a few days of idleing:)

7 years ago
Permalink

Comment has been collapsed.

I see, thanks for the answer!

7 years ago
Permalink

Comment has been collapsed.

I'm sorry, this is just really confusing for me @_@ I have only one Steam account, no bots.

I found the commands, but where do I input them? When ASF is running it won't let me input anything.

!loot is what I want to do, but
"Sends all booster packs and Steam trading cards (including foils if IsBotAccount) of current bot instance to SteamMasterID"

How do I configure the SteamMasterID? Right now it's 0 (zero), but I don't want to just guess that I should change it to a 1.

7 years ago
Permalink

Comment has been collapsed.

what do you intend to loot if you don't have bots?

7 years ago
Permalink

Comment has been collapsed.

I was assuming that this was like IdleMaster, and that the farmed cards would show up with a Steam notification that there were new items in my inventory, but now I'm guessing that the cards go straight into my inventory?

7 years ago
Permalink

Comment has been collapsed.

Forget about commands if you are using it for one account. Leave SteamMasterID as 0. Follow the setup guide and configuration guide. You can turn notifications on or off (DismissInventoryNotifications).

I was assuming that this was like IdleMaster

Never do that ;)

7 years ago
Permalink

Comment has been collapsed.

Before, I can put my own steamid so the BOT will refer itself. With this, ASF can receive my own command in group chat.
I tried that with sending !play 570 to group chat so that ASF starts farming dota2. LOL.
But I don't know, it doesn't work anymore. FAQ and changelog don't say anything about that.

7 years ago
Permalink

Comment has been collapsed.

please read FAQ and then report back @_@

7 years ago
Permalink

Comment has been collapsed.

I had read the FAQ, but I'd missed the Misc section. facepalm You'll have to forgive me, I just work up =_=

My apologies, and thank you!

7 years ago
Permalink

Comment has been collapsed.

This probably was answered already, but is there a way to idle all games with under 2h played at the same time?

7 years ago
Permalink

Comment has been collapsed.

everything is answered in FAQ

7 years ago
Permalink

Comment has been collapsed.

Ty, I only checked wiki instructions and thought that was enough.

7 years ago
Permalink

Comment has been collapsed.

2016-12-12 19:22:02|ASF-6608|INFO|Dandey|ParseTrade() Ignoring trade: x
2016-12-12 19:48:06|ASF-6608|INFO|Dandey|ParseTrade() Ignoring trade: x
2016-12-12 19:49:34|ASF-6608|INFO|Dandey|ParseTrade() Accepting trade: x
so basically i got yesterday two trades and it kept ignoring both of them untill today at that point when it accepted one of them...is it from volvo inventory "change"(aka screw up)?

7 years ago
Permalink

Comment has been collapsed.

There can be various reasons, usually it's either being unable to fetch trade details, or the fact that it was not neutral+ trade at the time of last ignore, but it became one later.

7 years ago
Permalink

Comment has been collapsed.

no trades were accepted in that period....checked it now and apparently was a neutral trade...whatever....a little bit of off-topic...this is heresy...people with 2.1.7.3 don't appear on that online listing :D

7 years ago
Permalink

Comment has been collapsed.

Of course they won't, it's clearly stated that online listing is not ready yet and you can expect updates, also breaking changes, until it lands in stable release.

7 years ago
Permalink

Comment has been collapsed.

comment for later testing

7 years ago
Permalink

Comment has been collapsed.

Silly question: if i use the bot with two accounts will i get the cards 2 time faster? by now im ussing 1 account and im getting one card every 30 min, if i use two accounts will i get 2 cards every 30 minutes?
Thanks!

7 years ago
Permalink

Comment has been collapsed.

You should really read first question in the FAQ.

7 years ago
Permalink

Comment has been collapsed.

I am really that blind? i read it 2 times here https://github.com/JustArchi/ArchiSteamFarm/wiki/FAQ and couldn't find the information, what i'm missing? i'm raeding the correct FAQ link? (sorry my english is bad)

7 years ago
Permalink

Comment has been collapsed.

7 years ago
Permalink

Comment has been collapsed.

I assume you already know, but better save than sorry :->
https://www.reddit.com/r/SteamBot/comments/5he94k/psa_there_is_a_new_endpoint_for_fetching_user/
Seems to not matter for ASF right know since requests for own inventorys using the old API seem to be still unlimited.

7 years ago
Permalink

Comment has been collapsed.

It appears that bots started in paused-mode don't auto-accept incoming trades (including those stemming from a loot command).

I assume notification-handling isn't running/initialized then?

7 years ago
Permalink

Comment has been collapsed.

That should have nothing to do, unless your bot is not even connected, then indeed.

7 years ago
Permalink

Comment has been collapsed.

okay, seems was just a Steam network issue then, (got some timeouts with failed loots then too). Just re-tried and worked this time with pause too.
Sorry for false alarm ^^

7 years ago
Permalink

Comment has been collapsed.

Can i run both ASF and IdleMaster together >.< :?

Somehow i kinda ended having close to 2000 card drops ....

7 years ago
Permalink

Comment has been collapsed.

It wont work

7 years ago
Permalink

Comment has been collapsed.

Not at the same account.

7 years ago
Permalink

Comment has been collapsed.

Hey Archi, this is a noob question but I looked through github docs and didn't see an answer. How does !lootall work on the bots? I set up my main account, put in my trade ID for my main, then set up 9 bots, and used my SteamID64 for Owner/Master on all of them. When I use !lootall in chat they all get an error message. Do I have to put in the trade ID for all bots too?

EDIT: Error message is "urlPostRetry()" so probably? Gonna be a pain lol.

7 years ago
Permalink

Comment has been collapsed.

Also notice that you can trade only with your friends, and people with known trade link. If you're trying to initiate Bot->Master trade, such as !loot, then you need to either have SteamMasterID on Bot's friendlist, or SteamTradeToken of SteamMasterID set in Bot's config. Otherwise, you won't be able to send such trade.

never reads FAQ :cry:

7 years ago
Permalink

Comment has been collapsed.

Thanks for answer, even if you're being a douche about it. This says "EITHER" but they are already friends on MasterID's account and it doesn't work. And I already have SteamTradeToken set for MasterID.

7 years ago*
Permalink

Comment has been collapsed.

Don't bully my husbando!

View attached image.
7 years ago
Permalink

Comment has been collapsed.

I said that I "looked through the github docs" which is where the FAQ is, and I already did what he quoted. He then said "never reads FAQ" despite me saying that I already did, quoting material I described in my post.

7 years ago*
Permalink

Comment has been collapsed.

But FAQ also lists crapload of other reasons for being unable to send/accept trade offers, that you didn't read or simply ignored. Probably you simply didn't wait mentioned week.

7 years ago*
Permalink

Comment has been collapsed.

I already said I read the FAQ. I'll just wait a few days since that seems to be your recommendation.

7 years ago*
Permalink

Comment has been collapsed.

Is there a way to sell tons of cards at once for 1 cent lower than their selling price? By at once i actually mean 1 click to sell more than 1 card.

7 years ago
Permalink

Comment has been collapsed.

You need Steam Inventory Helper which is available for Chrome.

7 years ago
Permalink

Comment has been collapsed.

i already have it but it just sells steam trading cards 1 by 1 ... maybe i'm doing something wrong?

7 years ago
Permalink

Comment has been collapsed.

At once is not possible. Steam doesn't even have API for that. The closest you can get is to do that in consequential method.

7 years ago
Permalink

Comment has been collapsed.

ok thx

7 years ago
Permalink

Comment has been collapsed.

I just fired up ASF for the first time in a few months, and now it just keeps disconnecting and reconnecting like this:

2016-12-17 09:46:34|mono-sgen32-20083|INFO|primary|OnDisconnected() Disconnected from Steam!
2016-12-17 09:46:34|mono-sgen32-20083|INFO|primary|OnDisconnected() Reconnecting...
2016-12-17 09:46:34|mono-sgen32-20083|INFO|primary|Connect() Connecting...
2016-12-17 09:46:39|mono-sgen32-20083|INFO|primary|OnDisconnected() Disconnected from Steam!
2016-12-17 09:46:39|mono-sgen32-20083|INFO|primary|OnDisconnected() Reconnecting...
2016-12-17 09:46:39|mono-sgen32-20083|INFO|primary|Connect() Connecting...
2016-12-17 09:46:44|mono-sgen32-20083|INFO|primary|OnDisconnected() Disconnected from Steam!
2016-12-17 09:46:44|mono-sgen32-20083|INFO|primary|OnDisconnected() Reconnecting...
2016-12-17 09:46:46|mono-sgen32-20083|INFO|primary|Connect() Connecting...
2016-12-17 09:46:46|mono-sgen32-20083|INFO|primary|OnConnected() Connected to Steam!
2016-12-17 09:46:46|mono-sgen32-20083|INFO|primary|OnConnected() Logging in...
<primary> Please enter your 2 factor auth code from your authenticator app:

After entering my code, it just does the same thing again. Any idea what's going on?

7 years ago*
Permalink

Comment has been collapsed.

did you open ASF ConfigGenerator.exe to set the program? I think your ASF version might be obsolete and you might need to update it (?)

7 years ago
Permalink

Comment has been collapsed.

It auto updated to 2.1.7.9, the latest version. Is ConfigGenerator.exe something new? I originally set up the config files manually, using the sample files as a starting point. Everything was working fine the last time I used it.

7 years ago*
Permalink

Comment has been collapsed.

It's a new thing that comes with the download from the ASF website,try uninstalling the old asf and downloading the newest one from the website , it comes with the autoconfig.

7 years ago
Permalink

Comment has been collapsed.

Working now! Thanks!

7 years ago
Permalink

Comment has been collapsed.

Is there a way to export the farmer if i encrypted the data for the current user?
Is there a way to decrypt?

7 years ago
Permalink

Comment has been collapsed.

you mean config data?

7 years ago
Permalink

Comment has been collapsed.

I selected ProtectedDataForCurrentUser and wanted to chage the machine. How i decrypt?

7 years ago
Permalink

Comment has been collapsed.

Don't, simply change the machine, switch PasswordFormat back to clear text, put your password in SteamPassword and repeat encryption procedure.

You can't easily decrypt that, without proper tool and access to old machine. You might have access to old machine, but you don't have proper tool, and ASF doesn't have it either - code is built-in into executable and not possible to extract.

7 years ago
Permalink

Comment has been collapsed.

Thank you!

7 years ago
Permalink

Comment has been collapsed.

7 years ago
Permalink

Comment has been collapsed.

Hello. Is there any way to idle some specific games only ?
I just want to idle several games that not worth to play from my library and left the rest intact.
By ratio, 60% - 70% will be idled/farmed and I will play the rest manually whenever i have time >.<

In ASF config, I only find "Blacklist".
So do i need to blacklist my games one by one or is there any commands/additional script/config to idle only specific games ?

Thanks

7 years ago
Permalink

Comment has been collapsed.

yes, blacklist

7 years ago
Permalink

Comment has been collapsed.

Skipping specific games: Blacklist
Playing specific games: Manual farming aka !play (Check commands section)

There is nothing more, nothing less. You can achieve what you want with any of those methods, but probably second one is easier for you.

7 years ago*
Permalink

Comment has been collapsed.

Thanks for the answer.
Found it.

So basically it will idle all games, but whenever i use !play, it won't auto farm for the given appID right ?
Okay, i think easier then use blacklist :)
For composing blacklist, maybe i can use steam api and use sublime to do the rest.

Thanks again.

7 years ago
Permalink

Comment has been collapsed.

Yes, you can optionally start ASF in Paused mode, then it won't idle anything without your command. Check configuration for more details.

7 years ago
Permalink

Comment has been collapsed.

Just a curiosity.

I own 500+ games for quite a while now, 900+ for at least 6 months.

But a few days after I started using ASF the badge 500+ (Director of Acquisitions) got "highlighted" as if it were the last badge I've unlocked (getting in front of the Steam Awards Nomination Committee - a recent one - and others I've crafter way after I've already had 500+ games). And everyday that goes by the day Steam says the badge was unlocked changes to the current day. For example, yesterday it said I've unlocked this badge 17 dec. Today, it says I've unlocked it 18 dec.

Is it possible that this somehow is related to ASF? And if yes, why does this happen?

Just to illustrate, I could only achieve this if I've activated 438 games in less than one day:

Image

7 years ago*
Permalink

Comment has been collapsed.

No, this is linked to your last key/gift activation - I got one just an hour ago. I don't know why you even considered ASF as possible culprit here - like it has anything to do with what steam network marks as most recent badge.

7 years ago
Permalink

Comment has been collapsed.

Dunno. It was just a curiosity as it never happened to me before. The badge was intact for a while and it seems it was just a coincidence I recently started to use ASF.

I'm not and I was not worried about it at all. Just wanted to know if there was a tech explanation so I could understand. Just geek curiosity.

I only considered ASF as a "cause" because my account is logged in somewhere else when I'm idling through ASF right, in a bot or something, so perhaps there could be some data crossing of some kind (?).

When I said it was just a curiosity I meant it. I thought it might have some interesting explanation and I was curious.

7 years ago
Permalink

Comment has been collapsed.

Eh, it's fine - probably I just met with so many Steam fuckups in the past that nothing makes me curious anymore, it's just pure hate towards Steam spaghetti code now.

7 years ago
Permalink

Comment has been collapsed.

Now the Director of Acquisition badge updates every single time a game is bought (I think every time a badge is crafted too). It will always almost be the most recent badge, nothing to do with Archi and ArchiBot or ArchiFarm.

7 years ago
Permalink

Comment has been collapsed.

Ty. Didn't know that. But it would not be a problem if it was related to ASF I would continue to use it even if it were, I was just curious.

7 years ago
Permalink

Comment has been collapsed.

i have trouble with my primary accout, i have to enter code from authenticator app every 24-48h, password is correct, it's never happen on bot account. help me please, thank!!
http://i.imgur.com/EzrPui0.png

7 years ago
Permalink

Comment has been collapsed.

FAQ, nothing to do with ASF.

7 years ago
Permalink

Comment has been collapsed.

Archi, is it possible to farm but with disabled counting to the account's playtime?

7 years ago
Permalink

Comment has been collapsed.

No.

7 years ago
Permalink

Comment has been collapsed.

Not a complaint, just a thank you for this neat program.

After 1 month and 1060 cards later, ASF finally dropped the last Steam card. I got some nice games and TF2 items using this (even GTAV), and I couldn't thank you enough for that.

Keep up this awesome work ;)

7 years ago
Permalink

Comment has been collapsed.

Since yesterday, using ASF (after auto update) after some time again, my trade offers are declined every time incl. the ones to ArchiBot that usually run smooth. Anyone experiences the same?

7 years ago
Permalink

Comment has been collapsed.

No.

7 years ago
Permalink

Comment has been collapsed.

Keeps getting better and better - thanks! :)

To keep that going here are some suggestions:

  1. Similar to the owner/master split, it would be nice to be able to split master/loot - meaning be able to have !loot commands send items to a different account than the master. Since the new market confirmations thing, (for those of us without Android and the ability to configure ASF 2FA on our master) selling from my master is too painful, and my current solution is to periodically load a different ASF profile that sends from my master to my market account, 5 trades at a time, going through all of the manual confirmations.
  2. An enhancement to the above would be the ability to send booster packs to my master for unpacking, and cards to my market account.
  3. Allow us to configure the account type functionality regarding card types and !loot. I have a couple of real user accounts for my family that I farm, and I want to set them as non-bot accounts for the trade/friend request behavior, but I want to auto-loot both normal and foil cards, and any other marketable items, not just normal cards.
  4. Allow us to set account-level config defaults in the global ASF config, overridden by explicit settings in the individual account configs. If I could set my master ID, clan ID, and some key handling and timing settings as defaults in the global config for all of my bots, my bot configs would be down to pretty much just login/password and a few things I would need to override for specific, mainly non-bot accounts.
  5. Not sure if this one's possible, but the ability to send a command to activate gifts on bot accounts would be awesome. I wouldn't want full auto-activation, as I sometimes buy gifts from my bot accounts to send elsewhere. I could either check manually that all gifts in that bot's inventory are for activation on that bot, then issue the command to activate all of them, or ideally list from ASF what gifts are there, then activate them individually by command parameters. I realize this whole thing is probably wishful thinking.
  6. The ability to send multiple commands to ASF at once, on separate lines, and have them executed in order would be nice. I have a spreadsheet where I track my keys, and it generates the !redeem commands for each account with all of the keys that I want to go to each. If I could copy/past all of the commands for all of the bots at once and just drop them into a single chat message, that would save me some hassle of doing them one account at a time.

That's probably enough for now. :)

7 years ago
Permalink

Comment has been collapsed.

  1. I can't see reasoning for that - I have myself set my bot as master, and myself as owner, this way I send cards to ArchiBoT, but ASF still accepts all commands from me, as I'm the owner of the process.

  2. That's not really the purpose of ASF.

  3. As above - it's supposed to be simple looting, if you need advanced one, then you need to send trade offer yourself.

  4. Too hard to maintain in long-run. Also no real reasoning behind either.

  5. Not the purpose of ASF, once again - it's not gift manager.

  6. !redeem already accepts multiple keys to redeem.

7 years ago
Permalink

Comment has been collapsed.

  1. I thought about that, but I wasn't sure that owner was master+ (now I am), and I wasn't thrilled about the idea of my bot having control of everything else. I guess you're right - if that bot is compromised, they have my entire card inventory anyways. OK, good enough.
  2. What do you mean "purpose"? It support farming cards, and sending them to a single account for marketing purposes. All I'd like here is an easy way to unpack booster packs without having to logon to my market bot to do so. Not a big deal, but I think it's a valid idea.
  3. "Simple" looting in my mind would include foils...not sure why they are being excluded for non-bot accounts.
  4. Fine, not a big deal...just simplifies things for config and maintenance for those of us not using the GUI, but whatever.
  5. How are gifts and keys different? It handles key redemption, but not gift activation...I don't see the difference. I buy something as a gift copy that I want to activate on my bot so that I can farm the cards. No different than getting keys.
  6. I'm talking about multiple accounts, not multiple keys...for example, sending both of these commands, with multiple keys each, in a single chat message:
    !redeem bot1 aaaaa-aaaaa-aaaaa,bbbbb-bbbbb-bbbbb,ccccc-ccccc-ccccc
    !redeem bot2 xxxxx-xxxxx-xxxxx,yyyyy-yyyyy-yyyyy
7 years ago
Permalink

Comment has been collapsed.

2 It is valid idea, just not for ASF. ASF sends those boosters to master account, not unpacks them.
3 Very simple reasoning - because it's for me, as I want to send cards to ArchiBoT but keep foil cards for market.
5 ASF also handles gifts sent to it, but does not handle redeeming gifts from inventory, and it's not going to happen anytime soon - out of the scope of the program. Exactly for the same reason !redeem doesn't scan your google doc or txt file with all keys.
6 I'd just code a script and make use of WCF in this case. ASF.exe --client "redeem A X" "redeem B Y" is much easier to code and write.

7 years ago
Permalink

Comment has been collapsed.

2 Right, unpacking automatically wasn't what I was suggesting, just sending them to my primary account instead of my market account (owner instead of master in ASF terms), so that I can manually unpack them (the unpacked cards would then be sent to my market account automatically). Not mission critical, but it would save me having to periodically login to my market account to unpack them.
3 OK, but couldn't that be configurable for others that don't have the same needs? :)
5 I realized this was a long shot, same as my old idea for ASF to track the game libraries of each account for more efficient key redemption. Nice to have, but more work than they're worth - no big deal.
6 I figured I was going to have to go down that road...ok, I'll start looking into WCF.

7 years ago
Permalink

Comment has been collapsed.

I just realized (used for the first time) the AcceptGifts feature...that really addresses everything I needed for #5. I saw the setting before, but hadn't really tried it and so it didn't register in my mind.

Let me confirm something though - if I buy a gift copy of a game on one of my bot accounts with AcceptGifts=true configured, it won't auto-activate that gift copy from inventory, because it didn't receive it as a gift, right?

7 years ago
Permalink

Comment has been collapsed.

Yes.

7 years ago
Permalink

Comment has been collapsed.

If you can compile for yourself I did 1 and 2 and 3 gets obsolete:
https://www.steamgifts.com/discussion/gCxhN/archis-steam-farm-asf-steam-cards-farmer-windowslinuxos-x/search?page=39#8eKHiBJ
But I will not provide compiled exes for security and lazyness reasons and I TRY to keep it up to date but can not guarante that.

And in the GUI branch of the same repo, you'll find my GUI (which is heavily outdated and I do not use myself anymore, it's updated to net.tcp because I wanted to try something, but may crash on launch). It does implement 6.
Or look into ASFui (which is way more up to date, linked above or see Fork in my repo), which does not support that, but could be easily expanded to do so.
If you know C# both can give good examples on how to send commands via GUI.
Otherwise generating a .bat file might be easier for you.

7 years ago
Permalink

Comment has been collapsed.

Yeah...I was really trying to avoid having to maintain my own code, as most people would I suppose. If it's C# (I hadn't looked yet), I may consider it as a weekend project. This would be my first time looking at the Steam API (I've been avoiding it), so that could be interesting to dig through.

I don't want to have to mess with my own Git repository, and I don't have anything else readily available at home. Would this be a reasonable approach for managing updates if I want to avoid a local source control setup? Is there an easier approach for evaluating and merging changes from a source project into a permanently diverged branch/fork, without jumping through a bunch of hoops getting it setup?

  1. Grab the base solution and save it to a "current" folder
  2. Copy it to another "custom" folder and make my changes locally there
  3. When there are changes to the official code base, pull the new code down to a "new" folder
  4. Diff "new" and "current" and then either overwrite or manually merge files from "new" into "custom"
7 years ago
Permalink

Comment has been collapsed.

Well. Basically I have forked ASF and made my changes and pushed them to my fork.
If archi now changes something, I have to fetch his changes and merge (and recompile). If I'm lucky it auto merges, but if some of the changes are in the area where my modified code is I have to merge manually.

So in the best case its 2 commands in git and a recompile. In the worst case its 3 commands in git, manual code changes and a recompile.

So for the GUIs your approach should be fine (since they're not changing often) but for ASF I really would recommend using git, since it changes pretty often and significantly. If you pull mine (and don't want to add something) you do not have to care about merging, but are depending on me to update (which is a bad thing, if in doubt - and you have basically to check everytime, that I didn't change anything to rob you of you cards^^).

If you setup Visual Studio to compile you might as well install git along with it ;->

And yes, ASF and the GUIs are all in C#. Depending on what you want to change you do not need the steam API. Most of it is capsled well by archi. If you for example just want the "simple" transfer commands, thats only a handful lines of code.
The changed files are Bot.cs and CardsFarmer.cs but for the simple part you only need some of the changes in Bot.cs.

But in the end I can understand archi.
He would have to read, check and test other peoples code and if something breaks (the "complicated" transfer command is broken easily by volvo) he has to take care of it. And all of that for a function he will not use and sees as useless? Wouldn't do that as well.

PS: Your approach is basically a manual git in bad^^

7 years ago
Permalink

Comment has been collapsed.

Bug?

Farm() Stopped farming: 489070 (Edge of Twilight - Return To Glory)
FarmSolo() Done farming: 489070 (Edge of Twilight - Return To Glory) after 07:08 hours of playtime!

There are still 2 cards left in it. I'm guessing it's because I set max farming time to 5 (2 hours + 5 = 7). So that leaves us with 2 problems: (1) there's no mention of whether or not max farming time takes the 2h thing into account in the FAQ, (2) more importantly, this feature only works the FIRST time you farm a game... I stopped the ASF process and relaunched, and there you go, it's farming Edge again, despite it being past its 7 hours of fame.

7 years ago
Permalink

Comment has been collapsed.

And that's intended. Wiki states quite clearly that you should not lower that setting. It's for current session only, nobody said that it's global based on playtime.

7 years ago
Permalink

Comment has been collapsed.

I'm not sure it's working at all really, even if it's session-based.

2016-12-26 07:24:24|ASF-29220|INFO|Nao|ShouldFarm() Status for 205610 (Port Royale 3): 1 cards remaining
2016-12-26 07:24:24|ASF-29220|INFO|Nao|Farm() Stopped farming: 205610 (Port Royale 3)
2016-12-26 07:24:25|ASF-29220|INFO|Nao|FarmSolo() Done farming: 205610 (Port Royale 3) after 05:00 hours of playtime!
2016-12-26 07:24:25|ASF-29220|INFO|Nao|IsAnythingToFarm() Checking badges...
2016-12-26 07:24:25|ASF-29220|INFO|Nao|IsAnythingToFarm() Checking first page...
2016-12-26 07:24:27|ASF-29220|INFO|Nao|IsAnythingToFarm() Checking other pages...
2016-12-26 07:24:29|ASF-29220|INFO|Nao|StartFarming() Chosen farming algorithm: Complex
2016-12-26 07:24:29|ASF-29220|INFO|Nao|FarmSolo() Now farming: 205610 (Port Royale 3)
2016-12-26 07:24:30|ASF-29220|INFO|Nao|ShouldFarm() Status for 205610 (Port Royale 3): 1 cards remaining
2016-12-26 07:24:30|ASF-29220|INFO|Nao|Farm() Still farming: 205610 (Port Royale 3)
2016-12-26 07:39:33|ASF-29220|INFO|Nao|ShouldFarm() Status for 205610 (Port Royale 3): 1 cards remaining
2016-12-26 07:39:33|ASF-29220|INFO|Nao|Farm() Still farming: 205610 (Port Royale 3)
2016-12-26 07:54:27|ASF-29220|INFO|Nao|ShouldFarm() Status for 205610 (Port Royale 3): 0 cards remaining
2016-12-26 07:54:27|ASF-29220|INFO|Nao|Farm() Stopped farming: 205610 (Port Royale 3)
2016-12-26 07:54:27|ASF-29220|INFO|Nao|FarmSolo() Done farming: 205610 (Port Royale 3) after 05:29 hours of playtime!

I was sleeping at the time....

7 years ago
Permalink

Comment has been collapsed.

I am sure that it's working, because what you just pasted is the exact way how it is supposed to work. ASF won't ignore ANY title that is not on the blacklist, in worst case it can temporarily and intentionally skip it for spending time on other titles, but it will return to that title eventually in the next farming session, so when it runs out of the games in the current queue.

I'm not quite sure why you're trying so hard to find a flaw in my logic, if it's working as intended, and in the most reliable way I could think of. I'm working with steam fuckups for almost 3 years now, and I know very well how to handle crapload of cases that nobody has ever seen - that's why you might consider some ASF actions as weird, but they are implemented for a very good, yet annoying reason (that should never ever happen in the first place, but Valve proves me wrong all the time).

In fact, I could write a whole master thesis about what is wrong with Steam, but I don't have a time, neither willings to do so. Reporting ASF bugs is a good thing to do, but you're wasting time trying to find ASF flaw at all cost for some reason. I don't know why, but like I repeat multiple times it's best to leave ASF running in the background and forget about it's existance. Not because program is bugged or doesn't work, but because I know pretty damn well that Steam is so unreliable that even with ASF code it can lead to various anomalies that are not possible to fix anyway. Reporting those anomalies won't change anything, because they're so damn rare and not-reproducable that I stopped trying to fix them a year ago, and you'd have more luck e-mailing GabeN to fix his crap, than reporting to me that Steam once again made ASF not behaving as it should (even though your current "bug" is intentional behaviour and not a bug at all).

Do what I do - set up ASF on a server, and forget that it exists. It saves a lot of time and nerves that could otherwise be wasted on something that is not even worth it. Unless you want to get into the same shit like me, attempting to fix what is unfixable, make work something that is not meant to, and create something that is not possible to exist. Then... I'd say you have no idea what you're asking for, and wish you good luck :3. Today I'd probably not attempt to create ASF at all.

7 years ago*
Permalink

Comment has been collapsed.

  • That feature really doesn't make much sense to me then.
  • Another bug?

2016-12-26 23:24:59|ASF-26948|INFO|Nao|Farm() Still farming: 509000 (QUBIC)
2016-12-26 23:25:58|ASF-26948|DEBUG|Nao|VoteForSteamAwards() Getting SteamAwards page...
(....)
2016-12-26 23:26:02|ASF-26948|DEBUG|Nao|IsDiscoveryQueueEmpty() Our text is: Come back tomorrow to earn more cards by browsing your Discovery Queue!
2016-12-26 23:26:02|ASF-26948|DEBUG|Nao|ExploreDiscoveryQueue() Done!

After that, it doesn't say anything. I'm unable to determine if it resumed farming the other game, or if there's a bug in the loop.

  • I'm not trying hard to find a flaw in your logic, it's easier than you think. Oops, not what I meant eheh. No really, I'm not trying anything, I'm just reporting issues as I find them. I'm a developer, too. When I release an update to my software, I appreciate when people report bugs they encounter. And if it's not a bug, and many people are 'reporting' it, then I start considering adding a non-default flag to make the software behave that way.

  • Which reminds me, did you rewrite the farming process to actually go through the entire list of cards after 2 hours have passed..? I noticed something like 'Refreshing current session' in the log right after 2 hours, and when I went to check my inventory, I had one card of each game. Not even IdleMaster can achieve that without manual help. ^^

  • I try not to care, I really do. But sometimes a game won't behave, and will not drop all of its cards until after the 10-hour point (Resident Evil 5, Edge of Twilight, FIVE: Guardians of David, Green Moon, The Secret World and a dozen others took 9 to 11 hours to farm, but the worst is Wasteland 2 which I have yet to even install, and is clocking in at 16.1 hours in my library...) ---> this encourages me to try and find ways to get the rest of their cards as soon as possible. I even have a text file where I put it the farming playtime of games I intend to play, just so I can substract it when I want to know how long I spent playing a game. In a particular case (Highrise Heroes), it took over 10 hours to farm, and the game wasn't so good so I actually finished the game with a crack that allowed me to launch it outside of Steam and stop the playtime counter from increasing.

I perfectly agree, though, that if you don't give a damn about a game's playtime (and thus its position on your profile), ASF's way of farming is absolutely flawless. But personally, I really can do without the chat messages saying, "Oh I see you spent 16 hours on Wasteland 2, can you tell me how you finished mission X or Y? Did you kill Z?" (Yeah, I got spoiled by one such message.)

7 years ago
Permalink

Comment has been collapsed.

I perfectly agree, though, that if you don't give a damn about a game's playtime (and thus its position on your profile), ASF's way of farming is absolutely flawless. But personally, I really can do without the chat messages saying, "Oh I see you spent 16 hours on Wasteland 2, can you tell me how you finished mission X or Y? Did you kill Z?" (Yeah, I got spoiled by one such message.)

Then you need to change the program, or fork ASF and change it in the way you want, for the reasons I already claimed somewhere above. I'm not interested in gaming steam, spamming it with game-change requests, or abusing the loophole, and you won't convince me - actually the second part is most important, for the reason I wrote here.

And regarding anything to the queue or voting - it's clearly stated in the pre-release changelog that there is no support for that, not even bugs-reporting. There is also no support for pre-releases either tbh, but bugs are special case.

7 years ago*
Permalink

Comment has been collapsed.

Archi,

currently my main account keeps going to this game:
Bot 0coldstone is farming game 563120 (Desolate Wastes: Vendor Chronicles, 3 card drops remaining)
But according to the gamestore it will be released 23th and doesnt say anything about cards... so basicly ASF is just waiting for release date.
http://store.steampowered.com/app/563120/

ive manually added it to blacklist for now (and remove it on the 23th) but i was suprised it triggerd..

7 years ago
Permalink

Comment has been collapsed.

What does this mean??

View attached image.
7 years ago
Permalink

Comment has been collapsed.

This.

7 years ago
Permalink

Comment has been collapsed.

A question. When you update the exe and download a new configurator, is there any way to export the settings?

7 years ago
Permalink

Comment has been collapsed.

Yes, it's called copy paste of config directory :3.

7 years ago
Permalink

Comment has been collapsed.

OK thanks :)
I'm stupid, I had never even opened the config config folder :(

7 years ago
Permalink

Comment has been collapsed.

It seems:

 "AutoRestart": false

is ignored when changing asf.json config file as it still restarts then.

7 years ago
Permalink

Comment has been collapsed.

it is ignored because when ASF decides to reload config, it's based on old settings

7 years ago
Permalink

Comment has been collapsed.

Not how I meant it ^^
AutoRestart: false
is already set before, it still restarts every time on a settings change

7 years ago
Permalink

Comment has been collapsed.

7 years ago
Permalink

Comment has been collapsed.

noice (・∀・)-b

7 years ago
Permalink

Comment has been collapsed.

just tried again, seems not to work sadly, now ASF exits on a change

7 years ago
Permalink

Comment has been collapsed.

And? This is what is supposed to happen if you set AutoRestart to false. ASF won't automatically restart, just exit, like stated in the wiki.

7 years ago
Permalink

Comment has been collapsed.

Seems I've overlooked that part. I thought/wanted it to just keep running despite a config change and handle that manually as both restarting and exiting make ASFui crash, guess that should be addressed over there though.

7 years ago
Permalink

Comment has been collapsed.

I'm not fixing ASFui. ASF follows common pattern of 0 exit code on success, and ASFui can detect that and restart process if needed, like every script described in Mono section. Indeed, you'll have more luck asking in ASFui thread.

7 years ago
Permalink

Comment has been collapsed.

Closed 5 years ago by JustArchi.