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.

Is it possible to idle 10-50 games always at the same time?
I got 1-2 cars per minute when this was activated on IdleMaster.

8 years ago
Permalink

Comment has been collapsed.

That is a bug, which may or may not work.
There is the farmingalgorithm "complex", which farms up to 32 games (IM did 30, more than 32 is not possible because of steam) simultaniously until you reach 2 hours of gameplay (like IM did).
Otherwise you can use the "play" command to try and reproduce.

But as I said. That "fast droppign cards" was and is a bug, which does not work for most people and most of the time.

8 years ago
Permalink

Comment has been collapsed.

New settings in new version or bug in ASF?
"StartOnLaunch": false, - this option in my main account json file since March
But yesterday and today ASF try to farm on account after starting.

8 years ago
Permalink

Comment has been collapsed.

There was change with introduced auto-reload of config files.
But with "StartOnLaunch": false the bot should stay offline.
Maybe add/change: "Paused": true
Then it should not farm (even if it is online).
But thats only a workaround. Otherwise wait for archi, maybe he knows whats up.

8 years ago*
Permalink

Comment has been collapsed.

I forgot to add that information to changelog, thanks for pointing out.

With introduction of this commit, we also ditch StartOnLaunch property (because it no longer means sense, any disabled bot can be started through config edit)

In short, simply set Enabled to false when you had StartOnLaunch set to false previously.

  • Removed StartOnLaunch config property, as it no longer makes sense with auto-reload ability. Simply set Enabled to false where you had StartOnLaunch set to false previously.

Also, it's much better to make use of recently introduced Paused property, together with ShutdownOnFarmingFinished.

8 years ago*
Permalink

Comment has been collapsed.

Thank you for answer.

8 years ago
Permalink

Comment has been collapsed.

Concerning the recently added redeem command variants: I kind of wonder why ForwardKeysToOtherBots & DistributeKeys are config properties in the first place instead of direct commands. As the latter would significantly increase flexibility.

I'd suggest having 3 (or 4) redeem commands.
1) always redeems on given account (current redeem^)
2) redeems on given account or forwards to others (ForwardKeysToOtherBots)
3) distribute keys across accounts (DistributeKeys)
4) forwards on other accounts (the new redeem& command, not sure why that was invented though, but as it seems to be wanted)

name suggestions (just some quick ideas):
1) redeem or redeemDirect
2) redeemForward
3) redeemDistribute
4) redeemForwardOthers

Thanks for consideration.

8 years ago
Permalink

Comment has been collapsed.

Defaults still make sense for people that drop keys casually without a need to specify !redeem command. The point of newly added redeem variants is to cover special rare cases which would otherwise require config edit. !redeem^ is for people generally forwarding/distributing, but e.g. dropping important key (SG win) that should never be forwarded further. !redeem& was added as an answer to not polluting given steam account with trash games for cards farming only.

So while I generally agree with you, I see usage of having configured defaults too.

8 years ago
Permalink

Comment has been collapsed.

So config properties as a means to override default redeem command behavior. Makes sense for those who always use the same method, indeed.

My general sentiment then is to add commands 2+3 then, in order to use these methods w/o having to switch configs back and forth. (And the other 2 of 4 suggested commands are there already.)

8 years ago
Permalink

Comment has been collapsed.

Still would be nice to be able to paste a list of keys without any commands to a bot and have it forward from that bot onwards, not always start from the beginning. For example if you have 10 bots which all have the games and add 10 more, you could just start from bot 11 and keys would be accepted instead of putting the first 10 bots on cooldown for no reason. There usually might be a reason why you message the keys to some specific bot instead of just the first one.

8 years ago
Permalink

Comment has been collapsed.

not always start from the beginning

for that you can tell to start with 11th bot

not sure what you exactly mean otherwise, the DistributeKeys function?

8 years ago
Permalink

Comment has been collapsed.

I mean what I said, if you paste 10 keys to bot 11, it goes 11, 1, 2...10, 12 .. instead of 11, 12 ..., making bots 1-10 go on cooldown for too many keys tried that they already own.

8 years ago
Permalink

Comment has been collapsed.

really? I thought it was made to go in order

8 years ago
Permalink

Comment has been collapsed.

Yes it goes in order but always jumps to the start no matter what bot you paste the keys to. Unless I managed to miss some additional config setting that would make it not do that.

8 years ago
Permalink

Comment has been collapsed.

Iam kinda lazy to read through 3000 comments just to see if someone asked this question:

Right now I get a card every 60 or 30 min..kinda hard and long way. Any way to farm cards on multiple games at the same time?

8 years ago
Permalink

Comment has been collapsed.

No, if you have configured the settings correctly ASF will use the most efficient/fastest method for you.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

8 years ago
Permalink

Comment has been collapsed.

8 years ago
Permalink

Comment has been collapsed.

^ or GamesPlayedWhileIdle

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

7 years ago
Permalink

Comment has been collapsed.

install is not necessary, but you might have to add it, with "add Licence"

7 years ago
Permalink

Comment has been collapsed.

Just out of couriosity.
Did any of you noticed bots farming faster than others?
I redeemed the same games to 3 bots and one of them is farming faster (all have complex algorithm, thats confirmed).
When I noticed it first he had 3 cards "advantage", later 4 and now its 5 cards.
They farmed the games in the same order, meaning different droprates of games is not a cause as well.

I assume that it's a thing on steams side, I was just courious if some of you noticed that as well, since I never saw that before^^.

Edit: Just noticed the remaining games have 2.1 hours already for the "faster" bot (but no cards dropped), the other two have "just" 2 hours.

8 years ago*
Permalink

Comment has been collapsed.

Steam as usual, drop rates can vary a lot for identical bots. Just like all kinds of other behavior related to only some accounts.

8 years ago
Permalink

Comment has been collapsed.

archi is there a setting to prioritize games with fewer drops (closer to completion?)

8 years ago
Permalink

Comment has been collapsed.

FarmingOrder

8 years ago
Permalink

Comment has been collapsed.

thanks got it. it wasnt in the default config options so i didnt know i had to manually enter it.

8 years ago
Permalink

Comment has been collapsed.

Default config is not updated when it's already on your disk - I always suggest wiki + latest ConfigGenerator from (latest) ASF.zip to check all available options. Reading changelogs also helps, because if it wasn't in your default config then it means that I added it after you downloaded ASF for the first time.

8 years ago
Permalink

Comment has been collapsed.

any idea why i get that error on line 100?
http://pastebin.com/qcFhr8V0
everythink worked fine till i updated to 2.1.6.2 and started to have more of that error since then

8 years ago
Permalink

Comment has been collapsed.

Nothing to do with versioning, clearly volvo fuckup.

8 years ago
Permalink

Comment has been collapsed.

okay...thanks

8 years ago
Permalink

Comment has been collapsed.

sorry for another useless notifications...got it fixed...because I didn't used flag on trading preferences for both stm and accept donations it would've ignored donations from others and end up with error with donations from isbotaccout on which i was the master

8 years ago
Permalink

Comment has been collapsed.

Program told me to report this: image

There wasn't a problem though, the listings sold/confirmed just fine.

8 years ago
Permalink

Comment has been collapsed.

Already fixed in 2.1.6.4, thanks for report.

8 years ago
Permalink

Comment has been collapsed.

View attached image.
8 years ago
Permalink

Comment has been collapsed.

In a WCF situation when sending a startall command, the server only returns a response after all bots finished connecting.
With several to be started bots this leads for the client to be completely blocked and eventually creates a timeout exception (after 1min which equates 6 bots connecting).

8 years ago
Permalink

Comment has been collapsed.

Fixed, thanks for report!

8 years ago
Permalink

Comment has been collapsed.

d-(・∀・)

8 years ago
Permalink

Comment has been collapsed.

2016-11-02 01:32:04|ASF-5092|WARN|Pastica|OnLoggedOn() Unable to login to Steam: TryAnotherCM / Invalid

8 years ago
Permalink

Comment has been collapsed.

i get this too and unable to use it now.. guess its back to idlemaster for me

8 years ago
Permalink

Comment has been collapsed.

it's called "weekly maintenance"

8 years ago
Permalink

Comment has been collapsed.

But it works properly almost all the time, I didn't get this warn before.

8 years ago
Permalink

Comment has been collapsed.

Because you never attempted to use ASF when Steam was down before. Weekly maintenance as Madu said above.

8 years ago
Permalink

Comment has been collapsed.

Ah, so it's "STEAM weekly maintenance"
Btw, the warning was just for one bot, the rest are currently working as usual. Thanks for the infos.

8 years ago
Permalink

Comment has been collapsed.

Hi, I've been reading the Wiki (in particular the performance page) but I haven't found an answer to my question: how does ASF decide what game to farm and can users affect this? What I figured out is that the Simple algorithm just picks a random game, while the Complex one takes the 2 hours grace period into consideration, but still picks randomly after that. Is this the case, or is there more than randomness?

IdleMaster allows users to set the farming order to the card value, descending or ascending, or just random. I have simple farming needs and I currently prefer ASF since it runs nice and headless and almost never requires me to login, but the inability to sort is a kind of deal breaker for me.

8 years ago
Permalink

Comment has been collapsed.

but the inability to sort

https://github.com/JustArchi/ArchiSteamFarm/wiki/Configuration

FarmingOrder - byte type with default value of 0. This property defines the preferred farming order of ASF. There are currently 9 farming orders available.

8 years ago
Permalink

Comment has been collapsed.

Thanks! I was looking in the wrong place. :) So there's no option to order farming by card value, right? Is there any plan to add it or a reason why you don't think it's a good idea?

8 years ago
Permalink

Comment has been collapsed.

There is no easy way for ASF to check cards value, as Steam doesn't offer any API for that, and coding my own way just for that is too complicated and totally not needed. IM uses proprietary enhanced steam API for that, which is undocumented and third-party, and as ASF should remain independent, it's not planned and probably won't happen anytime soon.

8 years ago
Permalink

Comment has been collapsed.

I understand. Thanks again for your reply!

8 years ago
Permalink

Comment has been collapsed.

I've been thinking about this. The API for Enhanced Steam is proprietary in that it's not official Steam stuff, but it's all open source and it works. Frankly sorting by value is the only sorting that makes sense to me: yesterday I farmed 3 cards from a game with IM that were worth 60 cents and by farming in random order I would probably have gotten them weeks later, with a much decreased value.

If I were in charge of ASF, I would implement the order by value feature the way IdleMaster did, with a fallback to random sorting in case the API falls apart. But I am not in charge and I respect your decision. I'll just use IM for the time being.

8 years ago
Permalink

Comment has been collapsed.

but it's all open source and it works

No, it's not open-source, and nothing can guarantee that it keeps working (considering IM is deprecated). If sorting by cards value is absolute must for you, then you're out of luck and I can only suggest you to keep using IM because it's the feature that is definitely out and not being considered at all for time being.

8 years ago
Permalink

Comment has been collapsed.

The whole Enhanced Steam project is on GitHub, what part of it is not open source? A server side I am not aware of?
By the way, Steam does offer an API for marketplace item prices:

http://steamcommunity.com/market/priceoverview/?appid=753&currency=3&market_hash_name=113200-II%20The%20High%20Priestess

{"success":true,"lowest_price":"0,07\u20ac","volume":"75","median_price":"0,06\u20ac"}

In any case, thanks again for all your work on ASF and for listening to feedback. I guess right now IM suits my needs better so I'll use that as long as it works.

8 years ago
Permalink

Comment has been collapsed.

A server side I am not aware of

Yes.

By the way, Steam does offer an API for marketplace item prices

Of course it does, otherwise you wouldn't seen IM doing that, or any dota/cs:go lounge functioning. The difference is that if I don't want to use third-party closed-source and unreliable IM API, then I must write my own, because if I sent API calls as your own account then the only thing you'd get would be a community ban on your steam account for excessive number of requests.

If I say that something is out of the scope, then there is a very good reason for that.

8 years ago
Permalink

Comment has been collapsed.

All right then. Nice talk. :)

8 years ago
Permalink

Comment has been collapsed.

Meep, it seem my Steam Badges page is down (redirects to profile) and that's why ASF keep saying I have nothing to farm. I guess I have to wait patiently until Steam fixes that. :/

8 years ago
Permalink

Comment has been collapsed.

https://steamstat.us/
Market failure + Player inventories delayed !

EDIT : whole team down...
That is how we realize we are tied to steam...

8 years ago
Permalink

Comment has been collapsed.

BOOOOOOOOOM

8 years ago
Permalink

Comment has been collapsed.

Yeah just got pages of error messages from asf too

8 years ago
Permalink

Comment has been collapsed.

Most of Steam isn't working now, so Steam as usual.

8 years ago
Permalink

Comment has been collapsed.

Yeah, the usual. Not really surprised to be honest.

8 years ago
Permalink

Comment has been collapsed.

Hi, I am want to keep the notifications on steam, I mean while Im using ASF when Im getting new card in steam there is no notification, ASF readts it automaticly.
How I can keep notifications?

8 years ago
Permalink

Comment has been collapsed.

8 years ago
Permalink

Comment has been collapsed.

I have some question about !pause command: I set it to true, then go play in something and when I close game, ASF automatically enable farming, but I dont want it. Is this correct? If no, can you improve it (there can be 3 option: first - leave everything as is; second - farm can be only enable using !resume command, no matter if you start play game and close it or not; third - disable any farming process in general for config, but leave it enabled)? I was think !pause can be disable only using !resume. Just dont want every time manually stop farm. And yes, I need always enable my config for main account, so just disable its not a solution for me.

And second question: there will be in future command to skip current farming game, what still have card drops to another game with cards? For example, command can be like !play next, !next or !skip. ASF already have !play, but to use it you need know app ID or name for game, what still have cards. And I want that ASF choice automatically, which farm next game with cards (there can be 2 option: farm next game with less 2 hours of play time or what have more than 2 hours).

Hope its useful info and tnx in advance for answer

8 years ago*
Permalink

Comment has been collapsed.

Ah, for fucks sake. wrong reply button, see below ^^

8 years ago
Permalink

Comment has been collapsed.

I read it and answered ;)

8 years ago
Permalink

Comment has been collapsed.

I have some question about !pause command: I set it to true,

Are you talking about the command !pause (then there is no true) or the cnfig setting paused.
If a bot is running and farming. Sending a !pause command should stop the farming until you send !resume again. If it does not do that, then thats (as far as I know) a bug.
After using paused, what does the status say? It should be
"Bot XXXXX is paused or running in manual mode."

EDIT (could reproduce it):
2016-11-04 14:54:34|ASF-4396|INFO|ASF|HandleCommand() Answered to command: pause XXXXXX with: Automatic farming is now paused!
2016-11-04 14:55:07|ASF-4396|INFO|ASF|HandleCommand() Answered to command: status XXXXXX with: Bot XXXXXX is paused or running in manual mode.
2016-11-04 14:55:31|ASF-4396|INFO|XXXXXX |CheckOccupationStatus() Account is currently being used, ASF will resume farming when it's free...
2016-11-04 14:56:22|ASF-4396|INFO|XXXXXX |CheckOccupationStatus() Account is no longer occupied, farming process resumed!
2016-11-04 14:56:22|ASF-4396|INFO|XXXXXX |IsAnythingToFarm() Checking badges...
2016-11-04 14:56:22|ASF-4396|INFO|XXXXXX |IsAnythingToFarm() Checking first page...
2016-11-04 14:56:27|ASF-4396|INFO|XXXXXX |StartFarming() We have a total of XXXXXX games (XXXXXX cards) to farm on this account...
2016-11-04 14:56:27|ASF-4396|INFO|XXXXXX |StartFarming() Chosen farming algorithm: Simple
2016-11-04 14:56:27|ASF-4396|INFO|XXXXXX |FarmSolo() Now farming: XXXXXX
2016-11-04 14:56:29|ASF-4396|INFO|XXXXXX |ShouldFarm() Status for XXXXXX : 1 cards remaining
2016-11-04 14:56:29|ASF-4396|INFO|XXXXXX |Farm() Still farming: XXXXXX

That should be unwanted behaivior. Leaving a game should not sent a resume I guess, but maybe its intended.

For the second part. Not going to happen. archi stated multiple times, that he does not care in which order cards get farmed (since you want to farm all anyways). There were recently farming orders added, but thats it.
For games you do not want to farm at all, there is the blacklist.

8 years ago
Permalink

Comment has been collapsed.

For the first question: yep, I am talking about !pause command in config. I set it to true, because I dont want to farm anything in my main account, but this config must be enabled. If I go start playing (ASF saying: "Account is currently being used, ASF will resume farming when it's free...") and than close game (ASF says: "Account is no longer occupied, farming process resumed!"), that !pause stoped working and ASF starting farm cards. I know, that I can manually sent !pause, but its will be annoying do it every time, when I finish playing.

For the second part: well, its sad news. I was hopping for more options in choice what games to farm :(

8 years ago
Permalink

Comment has been collapsed.

Pause got changed due to steam family sharing changes and the fact that it has to be automatically unpaused in some circumstances now. I'm re-adding sticky pause in next version.

8 years ago
Permalink

Comment has been collapsed.

Awesome, tnx for reply. Downloading V2.1.6.5 right now :)

8 years ago
Permalink

Comment has been collapsed.

!pause doesn't stay paused anymore. So now I'm getting "You're logged in on another device, re-enter your password to continue", while playing games every few minutes.

It's resuming before it's told to resume, and while I'm still trying to use my account. This is not wanted behavior

8 years ago
Permalink

Comment has been collapsed.

So now I'm getting "You're logged in on another device, re-enter your password to continue", while playing games every few minutes.

You're getting Valve fuckup that has nothing to do with account being paused or not, as even unpaused account should not be able to play a game if you're playing already.

8 years ago
Permalink

Comment has been collapsed.

I believe it's the intermittent Internet connection on the computer I'm playing games on, vs the rock-solid connection on the computer ASF is running on. My computer drops Internet, I disappear from Steam (even though I am in fact actually playing a Steam game), in the other location ASF sees that my account is no longer busy and automatically resumes.

Then my Internet comes back a moment later, and Steam is very unhappy to see that I'm playing games in two locations.

This wouldn't happen if my Internet connection were rock-solid. Or if my ASF-running computer had as bad a connection. Likely, running ASF on my gaming computer instead of my work laptop would be a better idea, although I had other problems with that in the past (the intermittent Internet connection is really not good for programs that need the Internet).

NONE of these problems are enough to make me stop using ASF though, as even with this it's one of the best/handiest programs around. I'm really glad that family-sharing people can pause my account. That's such a great feature! I love it, and it's only one of many-many that have gone into ASF. Thank you for creating this.

8 years ago
Permalink

Comment has been collapsed.

Indeed, this can be a root cause for your issue as Steam can't tell if your PC dropped connection or stopped playing a game, so naturally ASF will attempt to resume farming process once it sees that your account is free.

Check out 2.1.6.5 - there is now !pause^ command, as well as Paused bot config property that works (once again) as sticky pause.

8 years ago
Permalink

Comment has been collapsed.

How does IdleMaster cause VAC to trigger?

8 years ago
Permalink

Comment has been collapsed.

8 years ago
Permalink

Comment has been collapsed.

Hi Archi,

I have a question concerning the console output of asf.
Normally I could save stdout to a var, but with the current version I am not able to fetch any console output:

VAR=$(mono asf.exe --client "command")
> echo $VAR

>

Do you have any idea why it doesn't work atm?

I also tested to fetch mono output to see if it has something to do with mono instead of asf, but I was able to fetch the console output:

> VAR=$(mono)
> echo $VAR
Usage is: mono [options] program [program-options]
Development:
    --aot[=<options>]      Compiles the assembly to native code
    --debug[=<options>]    Enable debugging support, use --help-debug for details
[...]
    --gc=[sgen,boehm]      Select SGen or Boehm GC (runs mono or mono-sgen)
>
8 years ago*
Permalink

Comment has been collapsed.

I have no idea why you'd want to save stdout of ASF to variable, when you have excellent and super-advanced logging module that allows you to write to crapload of different targets, but if you catch the first ASF version that stopped working in the way you want then I could take a look what changed.

Chances are, shell/mono is getting confused when NLog is in charge of logging to stdout and redirect doesn't work as intended, because normal console logging works fine. If that's the case, then it's out of the scope of ASF, as ASF uses NLog entirely for whole logging logic since quite some time now, and I'm definitely not going to ditch it only because shell/mono is getting confused about redirects.

8 years ago
Permalink

Comment has been collapsed.

Actually I found out culprit of your issue, and as I guessed right, NLog is smarter than I thought it is.

https://github.com/NLog/NLog/wiki/Console-target

detectConsoleAvailable - Indicates whether the console target should disable itself when no console detected. Boolean Default: true (introduced in 4.3.10)

Simply declare your console with this property set to false and stdout will work properly once again.

Although I'd still recommend using logging module properly and writing to target of your choice instead of catching console stdout.

I also corrected it, so you can grab latest appveyor build (or wait for pre-release).

8 years ago*
Permalink

Comment has been collapsed.

Thanks as always, as for NLog, totally missed that :D I guess I should take a look :)

I save the output for different reasons, e.g. I have a wrapper for the redeem command, where I catch the status of "redeem^ botXY" and if status is AlreadyOwned I wait for user input to redeem it on another account or abort, for other statuses I print the response.
I only catch the output if I want a script to react to the response of the command (also automatically), so I guess NLog wouldn't be an alternative in that cases.

8 years ago*
Permalink

Comment has been collapsed.

I just read the Wiki page, the NLog module looks really interesting. Thanks for the tip! Should also make parsing console output easier.

8 years ago
Permalink

Comment has been collapsed.

So, your tip was really good, I could filter to only show responses like this:

<logger name="*" minlevel="Trace" writeTo="ColoredConsole" >
  <filters>
    <when
      condition="not contains('${message}', 'Response received')"
      action="Ignore"
    />
  </filters>
</logger>

I guess I will have to experiment a little more :)

One question: Is it possible to make custom rules depending on, if the source is asf server or client?
It would be interesting for debugging, because with this setting everything is discarded, except the response, so asf server doesn't print anything :D. Of course I log everything in a file without filtering, so it would be just nice to have, but not necessary.

8 years ago
Permalink

Comment has been collapsed.

Nope, the best thing would be probably copying ASF binary to other directory and executing from there with it's own NLog.config. I've improved logging module a bit in a few latest commits, but it's not easy to tell when you want to use client with custom logging, and when server with custom logging. There is also a case where you can use --client and --server at the same time. Too complex to write logic for all cases.

8 years ago
Permalink

Comment has been collapsed.

Okay, yeah that makes sense.
FYI in the wiki you mention ${logger} would be different depending on the bot, but for me it stays the same. But you could parse ${message} if you would want to do something depending on which bot is responding, as the message format is SOURCE|function() msg.
Couldn't you also include in the message if it comes from client or server, for example SOURCE|S or C|function() msg, or would this also add too much complexity?

EDIT: totally missed your tip to use two binaries. This is actually a easy and good fix. Thanks again!
EDIT 2: It's working like a charm with 2 binaries!!!

8 years ago*
Permalink

Comment has been collapsed.

${logger} trick didn't land in any pre-release yet, as it's part of logging enhancements I'm doing for 2.1.6.6. You can grab latest AppVeyor build though (or wait for 2.1.6.6).

8 years ago
Permalink

Comment has been collapsed.

Just downloaded the latest build, but for me it only shows ArchiSteamFarm.Logging for every ${logger} entry.
Also I think you could delete the logger source from the message body, when the new ${logger} method is implemented.

Nevermind, seems like I accidently did not overwrite the old version. It's working, sorry for the wrong information.

8 years ago*
Permalink

Comment has been collapsed.

Hopefully the last message, I don't want to start being annoying ;)

I encountered an error using the WCF interface (using latest build). It says your WCF class lacks a default constructor.
The error message is:

HandleCommand()System.ServiceModel.FaultException: Default constructor not found for type ArchiSteamFarm.WCF
  at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_remoting_wrapper (intptr,intptr)
  at (wrapper remoting-invoke) ArchiSteamFarm.IWCF:HandleCommand (string)
  at ArchiSteamFarm.Client.HandleCommand (System.String input) [0x00026] in <2b662f8af88949a7846e4cdf1fb43463>:0
8 years ago
Permalink

Comment has been collapsed.

Well, there is a reason why there is no pre-release yet :3.

Fixed, I think.

8 years ago
Permalink

Comment has been collapsed.

Yeah just reporting:) . Do you want to receive bug reports for the dev builds?

8 years ago
Permalink

Comment has been collapsed.

It's good to receive bug reports for dev builds, it's good to receive bug reports for any bugs that are not fixed yet, and bugs that could slip to stable release due to being unnoticed are the worst ones, so yes.

There is however big difference between steam fuckups - lots of issues I have to intentionally ignore, and between ASF bugs. I'm happy that more and more users slowly are starting to understand what in fact ASF is doing and how unreliable Steam network is, which makes me content as I don't need to repeat hundreds of times that failure of sending a trade offer is not ASF bug.

A change that has been committed to GitHub almost always is going to stay there forever and not get reverted in the future (unless absolutely required), so AppVeyor builds shouldn't be really any more unstable than pre-releases, it's just the fact that it'd be very hard for me to release a build every time I add some modification, if I want to keep current versioning and not force pre-release users to update 3 times per day. So usually latest AppVeyor build is one version above latest pre-release, and includes things that didn't land in pre-release yet. Personally I wouldn't update ASF several times per day myself, that's why I very often test current ASF state the moment I'm about to release a pre-release, and not with every change I'm actually doing.

So in general, you're more than welcome to test those builds and report issues, as long as you keep in mind to always check GitHub commits first, because sometimes things are getting major rewrites, like logging module today, and you should be aware of that if you decide to test it - a lack of pre-release is very often caused either because last pre-release happened recently and there is not much to test since then, or if I consider current state of ASF as WIP even for pre-release, and while it should work, it's not guaranteed.

Overall I consider ASF's release cycle pretty decent.

8 years ago*
Permalink

Comment has been collapsed.

Okay. If I encounter any more bugs, I'll let you know! I am always glad, if I can be of help.
I actually checked if the build was on the latest commit and which changes where made to WCF.cs and will do again before posting new bug reports. I think I am also able to differentiate between Steam fuckups and bugs in ASF. Wasn't sure about mono, as the first suggestion I found on google, was to change a build option and I don't program in C#.

And for your release cycle, I already had checked it out and I think it is really good ;)

8 years ago
Permalink

Comment has been collapsed.

Hey Archi,
if you recommend the idea with 2 bins to another person, you should recommend to use a symlink (with relative filepaths, so you can easily move the directories) for the client, because if you use another bin, this one won't auto-update. I just ran into the problem, that client and server weren't compatible anymore and had trouble to find out what was wrong.
With the symlink everything is working well again (and you even save 1.85M disc space :D ;) ).

So this was just FYI.

7 years ago
Permalink

Comment has been collapsed.

Yes, that's the proper way to do it, perhaps I should force version check also in client mode.

7 years ago
Permalink

Comment has been collapsed.

I don't know if that's the best solution, because if you use the client you don't want to have an overhead every time you use it.
Perhaps you could instead add an option to specify a clientbin in the asf.ini and if one is specified, every time the serverbin is updated, the updated bin will be copied to the specified location?

7 years ago
Permalink

Comment has been collapsed.

There is no overhead for using symbolic link. It's quite the opposite.

7 years ago
Permalink

Comment has been collapsed.

Oh I misunderstood your question. I was talking about forcing update check on client.

My idea was an answer to the forced update check. If you add that option in asf.ini you could of course, depending on filesystem, either copy the updated bin or just add a symlink automically.

7 years ago*
Permalink

Comment has been collapsed.

Hi Archi, i love your program, keep the good work.

But there is something that i want to say to you Archi, i think you must change the parts of both SAM and Idle Master about vac ban, because both does not cause VAC, i have already done a lot of tests with alternative accounts with TF2 and CS: go and today they are my accounts for farming drops/cards because none of them got ban and the tests was like 9 months ago (i think?).
For example a lot of people know about this guy who done this test with SAM: http://steamcommunity.com/profiles/76561198173473939/
i have made that test too along with the idle master and no VAC bans in alt accs, because in reality VAC only trigger when there is illegal modifications that may give advantage in-game / multiplayer, so i know that you want to show to the others that your program is the best and safe, thats is good your program is really better and well safe too, but i think that using that method of fear by "may cause vac" is wrong with the other programs, because exactly like your program you can use both SAM and Idle while connected in a secured vac server if you want.
Ok perhaps you will not believe me, so i told you how you test it, it's not hard just create another account, if you don't have money for cs: go then test it on team fortress 2 both programs and wait several months (because VAC ban can be delay too) and you will see that nothing happens and that VAC in reality is really for banning cheats only.

8 years ago
Permalink

Comment has been collapsed.

It's discussed like 3 times in the last 10 comments...
Here is a explanation:
https://www.steamgifts.com/go/comment/rEzosGB
tl;dr: Only because I does not cause VAC for the most users at the moment it may do so (now or in the future) just by the way VAC works. ASF can not trigger VAC in any way. IM and SAM could do (since they are communicating with the steamclient and are 3rd party programms).

Edit: And "See it doesn't happen to me when I try it out" is not a proof... there are people cheating and not getting banned as well...

8 years ago*
Permalink

Comment has been collapsed.

I agree with you.
But to be fair, we should add that all those programs send fake informations to steam servers, as well.

No possible game VAC for ASF, but steam can decide one day to ban all users sending fake informations to steam servers.

After all, only steam client is supposed to send genuine gaming informations about what is currently played. No ?

Quite improbable. But applicable to all those (cheating) softwares.

8 years ago
Permalink

Comment has been collapsed.

Jeha, but we are talking about VAC.
And there it is IM, SAM = possible, ASF = impossible.

If steam decides to ban all people owning bad rats, we can not do shit against that.

But for example if steam decides to ban IM and ASF users. Then all IM useres are affected unless they read it somewhere before starting IM.
archi could just use the update function to "destroy" ASF and protect at least some accounts from the ban, or modifiy ASF to go around the steam detection.

8 years ago
Permalink

Comment has been collapsed.

I'm answering after drinking a bit so forgive me :P
As far as I know when you accept the "Term of Agreement" of almost every game you sign that you're not allowed to run any third-party program to interfere with the game, let it be access to achievement or card farming or anything else, so it's not an issue of it be something like "it may cause vac", as long as you use a third-party program to interfere with the game in any way you're breaking a legal agreement that you signed and you're eligible for a Vac, if a game support it, or for a whatever kind of ban from that service.

Basically it become an issue of whatever the third-party program is easy to individuate or not since almost everything is suitable for a ban.

8 years ago
Permalink

Comment has been collapsed.

Oh ok, thanks KlappPC and Morshock you guys have really good points, but i really don't like the way people keep telling about both sam and idle that may cause or is causing VAC, idk i found this unfair with them, well in my opinion if Steam will punish users of both SAM, idle and of course ASF too someday in the future i don't think that's will happen with VAC bans and i think there is be more logic that it will be with account restrictions, even with a lot of research about these programs today i still didn't found any proof about a confirmed VAC and that's why i tested these with my alts accounts.
(Oh sorry for the bad english xD)

8 years ago
Permalink

Comment has been collapsed.

I didn't test anything myself.
Just remember that any discontinued project, as far as I know, has an higher chance of getting busted because the software itself is not getting updated so it's easier to track by the game/software owners.
I never used SAM but I think it's somewhat easy to track because most user won't check actual progression time between achievement or achievement order at all, so if there was some serious check it may highly be discovered.
As far as ASF is concerned Archi said that the program simulate a request from steam itself and since it's being updated regularly has a really lower change of being "discovered" because it's tricking steam on seeing a request from the actual platform and because the updates keep it safe.

Just remember that "those" programs have a relatively low change of triggering bans or VAC bans is mostly because both Idle Master and ASF just serve to purpose of farming cards and in itself that is just bypassing the need of downloading the game and launching it for a period of time so they're not really much "game-breaking". On the other side, being able to add or remove achievement at will is exponentially more serious since achievement even in single players only game are revered as a meant to show one's skill, or to unlock special restricted DLCs or prizes.

I don't know if Valve want to punish users of Idle Master or ASF with VAC bans, but as now SAM is the most likely to be eligible for VAC bans or bans in general. Then Idle Master follows because it's discontinued. And as result ASF is the safest one. And either way they have the power and the conditions to do so.

But as I said before any third-party program may trigger a ban because it would break the "Terms of Agreement", and as those states, the owners of the game have the full authority to modify, rewrite and modify the "Terms of Agreement" itself to theirs liking.
So basically it is always "Use it at your own risk".

8 years ago*
Permalink

Comment has been collapsed.

That's really a great explanation Morshock, Thanks for the heads up.

8 years ago
Permalink

Comment has been collapsed.

You're welcome.

8 years ago
Permalink

Comment has been collapsed.

You're confusing several things, the way that ASF presents facts is not misleading at all.

There is a major difference between a possibility of something to happen, and it actual happening. Both SAM and IM use third-party Steam DLL library that is being injected into Steam client process in order to do various actions with the client, such as launching games, recording achievements etc. This method is also used by several games, but those games are authorized to do so by Valve, while both IM and SAM are 100% unofficial, which means that Steam might at anytime flag them as malicious, without you or anybody else knowing it, and at another ban wave thousands of account will wake up being flagged for using it recently and it will be already too late to do anything about it. This is exactly the same what is happening with cheats.

ASF does not use library hooking method, ASF has it's own legit mini steam client inside, that is being used for interacting with steam network directly. There is no way of VAC triggering for ASF, because ASF does not interfere in any way with any of your launched games or steam client itself (unlike IM or SAM), it communicates with steam network as another steam client instance you'd run from another PC. There is no way for VAC to trigger if there is zero connections between ASF process and steam client or your game. This can also be verified by checking that ASF does not even require your original steam client running/installed to do it's thing, both IM and SAM require it.

What you're saying is that SAM or IM does not cause VAC for now and there are people that tested it does not cause VAC for now. This is not satisfying for me, because lack of detection for today is not equal in any way to lack of detection tomorrow, in a week, or in a month, and claiming that something is safe only because it's safe today is just foolish and stupid, because every single hack, cheat and exploit is undetectable at the beginning as well, you learn about it's unsafety when it's already too late.

Now I'm not going to wait until it's already too late to warn users about a possibility to cause VAC. This is the only point that interests ASF, not if something is detected or not, but if something is possible to cause VAC in future or not. And both SAM and IM can cause VAC because of how they're working as a software, so claiming that it's safe can only be used in today's context, never in context overall, because context overall can be claimed only if software is absolutely safe by design, and only ASF currently offers that. Whether users are satisfied with the "not detected today" statement or not, is up to them, and I can't see anything misleading in this and all my other statements in not only this but other threads as well, so if you have better software engineering knowledge than me in this field, please let me know what exactly is misleading. I've never stated that IM or SAM did result in VAC ban for anybody, but I'll always claim that they can trigger it, and that alone was not satisfying for me as a developer - that's one of the reasons why I created ASF. Whether people want to put in risk their expensive accounts with thousands of games for 5 cent cards only because somebody is claiming that something is safe, is always up to them - I'm simply not stupid enough to do so, and if I created something that guarantees safety, I have balls to claim it, unlike IM or SAM developers that can't give you such statement, ever.

This has nothing to do with non-VAC related bans, as those are described in Steam ToS and are not limited to any of those programs.

8 years ago*
Permalink

Comment has been collapsed.

Oh that's ok Archi, thanks for your explanation, yeah i understand now... btw in my opinion i'm still convinced that VAC will never be applied for those who drop cards or cheats achievements, thats why i said perhaps in the future if there is some form of punishment it will be perhaps with restrictions to Steam accounts like block functions of your account, etc... but i'm really not a expert and i cannot predict the future, i just posted here to tell you my experience with my tests and my opinion about the trigger vac of both programs and i did not expected you to answer this xD, thanks!

8 years ago
Permalink

Comment has been collapsed.

That may have been asked thousand times so far , but kinda lazy atm .

Is there a way to make ASF farm the cards based on the highest to lowest value ?

8 years ago
Permalink

Comment has been collapsed.

8 years ago
Permalink

Comment has been collapsed.

That was quick D:
Sorry for not checking , just came back home from work and kinda tired T.T

Ty !

8 years ago
Permalink

Comment has been collapsed.

Hey, thanks for this program, looks great so far.

i managed to set it up and it plays my game, but for some reason when i closed the program 2 times afterwards it instantly gave me a card, now i recalld a friend saying cycling trough games like mad gives u drops way more easier, is that possible in this program to cycle trough the games?

Another question i have is, im quite OCD and dont want all my games to show like 3 hour gametime, any way of it not actually counting u playing the game and adding time to it?

THanks again ^_^

8 years ago
Permalink

Comment has been collapsed.

Also been into it for a few minuts now, still no card drop when its normally up and running, game that its running also after 20 minuts is still n 2.8 hour

8 years ago
Permalink

Comment has been collapsed.

I'm not basing ASF development on steam glitches, but yes, you can manually farm with !play command. Also there is no way to farm without getting hours of gameplay.

8 years ago
Permalink

Comment has been collapsed.

Alright, thank you.

8 years ago
Permalink

Comment has been collapsed.

Hi, Archi. I have some interesting situation:
I have 10 bots in ASF
For 7 of them I have copied .maFiles from SDA, renamed and they have converted and working perfectly.
Now I've tried to copy .maFiles from SDA, rename for another 2 accounts in the same way but after restarting ASF that files wasn't converted. They have left in config directory.

8 years ago
Permalink

Comment has been collapsed.

Probably because they're encrypted and you have converting errors in ASF console you didn't notice.

8 years ago
Permalink

Comment has been collapsed.

no they wasn't encrypted. But looks like you don't need to rename .maFiles. They've converted too. I have just noticed that))
I copeid 10 .maFiles from SDA. 7 of them I renamed to test 2fa and 3 I left unrenamed) but looks like It worked for all 10 accs

P.S. Looks like it should work that way... "Alternatively you can leave it as it is"

8 years ago*
Permalink

Comment has been collapsed.

Yes, you don't need to rename them, but if you don't then they can't be imported before logging in, as written in the wiki.

8 years ago
Permalink

Comment has been collapsed.

How about a total for !ownsall too, telling 10/20 of bots already own the game.

8 years ago
Permalink

Comment has been collapsed.

Not possible currently, as owns data is not kept in memory but ASF simply forwards bot responses to one specific message. Plus, it's not really easy to determine "owned" for particular thing, as we don't only have a gigantic mess with appID, subIDs, packageIDs and more, but also !ownsall accepts substrings and various other things. Assuming that account owns something if it owns 1 or more titles matching search criteria is stupid and simply not true. That's why it's up to you to interpret ASF response.

8 years ago
Permalink

Comment has been collapsed.

I always use it with appID and trust ASF to know better since it does less errors than the user :)

8 years ago
Permalink

Comment has been collapsed.

Closed 5 years ago by JustArchi.