I'm trying to set up Archi's Steam Farm on my laptop (Macbook Pro) so I can idle games while I do homework.

I installed mono and created my .json file. When I go to the terminal and run command "mono ASF.exe" I get the message :

4/26/2016 2:42:55 PM [!!] ERROR: .ctor() <glumpot> Your bot config is invalid, refusing to start this bot instance!
4/26/2016 2:42:55 PM [] INFO: Init() <glumpot> Not starting this instance because it's disabled in config file
4/26/2016 2:42:55 PM [
] INFO: OnBotShutdown() <Main> No bots are running, exiting

I've setup the .json file as indicated and left it in the config folder.

Here is my file (I left SteamLogin and SteamPassword as null so I can be prompted to login manually). The only things I've changed from the default are Enabled, StartOnLaunch, and FarmOffline.

{
"Enabled": true,
"StartOnLaunch": true,
"SteamLogin": null,
"SteamPassword": null,
"SteamParentalPIN": "0",
"SteamApiKey": null,
"SteamMasterID": 0,
"SteamMasterClanID": 0,
"CardDropsRestricted": false,
"DismissInventoryNotifications": true,
"FarmOffline": true,
"HandleOfflineMessages": false,
"AcceptGifts": false,
"SteamTradeMatcher": false,
"ForwardKeysToOtherBots": false,
"DistributeKeys": false,
"UseAsfAsMobileAuthenticator": false,
"ShutdownOnFarmingFinished": false,
"SendOnFarmingFinished": false,
"SteamTradeToken": null,
"SendTradePeriod": 0,
"AcceptConfirmationsPeriod": 0,
"CustomGamePlayedWhileIdle": null,
"GamesPlayedWhileIdle": [
0
]
}

Any help is greatly appreciated! :) Here's a small train of bundle games for your trouble:

https://www.steamgifts.com/giveaway/vneXZ/the-silent-age

8 years ago

Comment has been collapsed.

bump ~ :)

8 years ago
Permalink

Comment has been collapsed.

bump til captain come

8 years ago
Permalink

Comment has been collapsed.

I don't use mono, maybe missing some file like ASF.json on config..?

8 years ago
Permalink

Comment has been collapsed.

I seldom use it. Bump

8 years ago
Permalink

Comment has been collapsed.

why dont just use Indle Master ;)

8 years ago
Permalink

Comment has been collapsed.

idlemaster is not compatible with os x

8 years ago
Permalink

Comment has been collapsed.

The original Python version is. I don't have an OS X machine to test on, and the pre-built binaries for OS X are outdated, but it looks like you'd just need to download the Linux version (which isn't compiled and is just python scripts), copy the libsteam_api.dylib file in from the OS X folder. After installing Python and the required libs (in the readme) set your cookies in settings.txt and launch start.py.

8 years ago
Permalink

Comment has been collapsed.

maybe but why even trying to get something run on a machine it wasn't coded for when you got a better tool (in my opinion) that runs with just installing mono? there's only 2 things that i like about idlemaster that are not features of ASF but the advantages that come with ASF are more for me than IM.

8 years ago
Permalink

Comment has been collapsed.

ASF has a lot more features for sure with the added bonus of actually being maintained. I've messed with it a bit recently and enjoyed it. There's not a huge reason to use Idle Master Py over ASF, but I was just pointing out that it was indeed made for Mac. The Python version was made for and included libraries for Windows, Mac and Linux. ASF is arguably the tool that isn't coded for non-Windows operating systems because it is written in C# and uses Microsoft's proprietary .NET framework. It only runs outside of Windows because the open source project Mono reimplements .NET in open source, which shows when ASF doesn't work properly due to bugs in Mono.

As crude as it is, Idle Master is still a human-readable 10KB script which doesn't require your Steam username or password. I like its simplicity, even though it shows its age more and more as Steam convolutes the process.

8 years ago*
Permalink

Comment has been collapsed.

As crude as it is, Idle Master is still a human-readable 10KB script which doesn't require your Steam username or password

It requires running steam client with those credentials, and it requires your cookie to check steam community, which is even worse than requiring login/password as you're sure that nobody will be capable of running ASF without your valid credentials, login key, and 2FA (if you have one), while cookie is persistent and allows anybody to log in and use your account, without even capability of revoking access. If you're die hard IM user, then I won't find any argument anyway, but ASF at the moment is very powerful and much better than IM in nearly every possible place, especially having it's own steam client is very important as it's the ONLY TOOL that was capable of running for over a month without a need to restart it even once, and many steam fucups and malfunctions happened during that time. Not to mention that it's much more secure as you're able to set null* login and password, which means that nobody but you will be capable of running ASF - IM doesn't offer such function. Not to mention that it's not maintained since more than a year now.

ASF is arguably the tool that isn't coded for non-Windows operating systems because it is written in C# and uses Microsoft's proprietary .NET framework

WRONG, ASF uses C# language, and C# is not proprietary microsoft language, it's open-source ECMA-334 standard and your argument is totally invalid. It also doesn't use microsoft proprietary .NET framework - ASF was coded since the very first version with Mono in mind, because it's first and the most important requirement is being able to run on my Linux server, and if that would not be possible, ASF would not exist. Mono is open-source implementation of ECMA above, and it also runs on Windows, which means that you can as well use ASF on Windows with it, and not use even single proprietary microsoft bit while you're doing that. Mono is very stable and really well maintained lately, and microsoft made .NET core open-source. Relation between Mono development team (Xamarin) and Microsoft is better than ever and that can only improve in future. It's much better than situation with other higher-level languages such as Java, where it's unknown what Oracle will do, even though the language is open-source as well.

Your entire post is totally wrong and without any sense. It's up to user to decide what he prefers better, and even argument "I don't like it" is better than spreading such false information like you did.

8 years ago*
Permalink

Comment has been collapsed.

delivered

8 years ago
Permalink

Comment has been collapsed.

View attached image.
8 years ago
Permalink

Comment has been collapsed.

View attached image.
8 years ago
Permalink

Comment has been collapsed.

Weird question if someone were to gain unauthorized access to your linux server (however unlikely) could they read out the login/password/current cookies and thereby gain full access to ones account - even though one is using the SGMA app on a real phone?

8 years ago
Permalink

Comment has been collapsed.

They could gain the access to the account ASF uses on that machine. ASF uses three different authentication mechanisms:
a) Login credentials in your config
b) Temporary login key stored in bot.db
c) Sentry hash stored in bot.bin

Login credentials are most important, if you use SteamLogin with value of null, it's not possible for attacker to guess it easily, and even with everything he wouldn't succeed.

Temporary login key is used as an alternative to password. Thanks to that, you don't have to put 2FA code every time you launch ASF (when not using ASF 2FA) - it's the same mechanism that Steam uses, thanks to which "remember me" option works even with 2FA enabled. Login key is temporary and can be used only once, ASF automatically asks Steam for new one when it's being used. Sometimes login keys are invalid or expired, in this case ASF will use login credentials in order to login - which will result in asking for 2FA if needed. Also it's nice to note that as long as your login key is working, you can use SteamPassword of null and still keep ASF working, as ASF doesn't use password as long as it's being able to authenticate with login + login key.

Sentry hash is literally SteamGuard. It's very similar to SSFN file in your Steam directory, it's device authorization. That file is created after you confirm login with your e-mail, or 2FA for the first time (depending what you use).

So as you can see, attacker needs to have three things to be able to control your account:
a) Your login
b) Your password or temporary login key
c) Your sentry hash

Login key and sentry hash are available in bot database and ASF can't magically make them disappear, as they must be stored for it to operate. However - SteamLogin and password don't have to be, and that's why ASF allows you to specify special null (empty) value, this way ASF will ask for those credentials on each startup, and make it impossible for attacker to guess those credentials only based on login key and sentry hash they have.

Of course, all of the above is pure theory. If I'm attacker and I have access to your machine, I have also access to your steam client, and that client has even more sensitive information stored if you have "remember me" option enabled. Putting login and password in ASF config is same as ticking "remember me" in steam, and it comes with exactly the same risk - not higher, not lower. Therefore worrying about ASF security is really pointless, you should be worrying about access to your machine instead.

And of course, ASF is fully client-based, it doesn't require anything but steam network to operate, so taking over my server (which is very unlikely to happen anyway) will have no further consequences on anybody but my own account and my own bots that I use.

I hope it answers your question.

8 years ago*
Permalink

Comment has been collapsed.

Login key and sentry hash are available in bot database and ASF can't magically make them disappear, as they must be stored for it to operate. However - SteamLogin and password don't have to be, and that's why ASF allows you to specify special null (empty) value, this way ASF will ask for those credentials on each startup, and make it impossible for attacker to guess those credentials only based on login key and sentry hash they have.

This sounds more than safe enough to me, thanks for the extensive and detailed answer.

8 years ago
Permalink

Comment has been collapsed.

My apologies as it was not my intent to disseminate false information. My post was an attempt to discourage the same (Idle Master doesn't run on OS X - Idle master wasn't written for OS X). I even explicitly said "There's not a huge reason to use Idle Master Py over ASF" and by "not a huge" I meant "no significant". Me calling IM "crude" at the end should have dispelled any doubt; I'm not a "die hard IM user" coming here to tarnish you, ASF, your waifu, or anything like that.

It requires running steam client with those credentials, and it requires your cookie to check steam community, which is even worse than requiring login/password as you're sure that nobody will be capable of running ASF without your valid credentials, login key, and 2FA (if you have one), while cookie is persistent and allows anybody to log in and use your account, without even capability of revoking access.

You're arguing as if I said Idle Master was more secure. I said its codebase is small (easier to audit/understand) and implied it uses less user info to run. Interactive logins are great and it's nice ASF supports them. Cookies are indeed sessions, but as a non-31337-would-be-attacker you wouldn't need to look farther than most SteamGifter's browsers to get those same cookies. Like your reply below I'd find arguing security pointless overall since, whether running ASF or IM+Steam, if there's malware on your machine then you're boned. But sort of on that topic, is there a way you could add an option to encrypt the local storage of all the Steamguard token-generating keys and decrypt on launch with a non-account-related password?

Not to mention that it's not maintained since more than a year now.

C'mon Archi, if you'd have even checked the Git you'd see it was actually 6 months ago which I think was when Steam added pagination to the badges page :p
And I even said ASF is "actually being maintained" while Idle Master only "shows it shows its age more and more".

WRONG, ASF uses C# language, and C# is not proprietary microsoft language, it's open-source ECMA-334 standard and your
argument is totally invalid. It also doesn't use microsoft proprietary .NET framework - ASF was coded since the very first version with Mono in mind, because it's first and the most important requirement is being able to run on my Linux server

I never said C# is proprietary, I said .NET is which... it is. It's only relatively recently that they've open-sourced growing portions of it and it seems versions greater than 4.5 that they eased licensing, but most of it still remains under Microsoft's own license rather than MIT.

And my argument was purely semantics as the official Python repo can be built natively while .NET applications would require Mono's .NET implementation to run on OS X which would be unofficial. In practical terms it's more a pointless than invalid argument. AV codecs for the past couple of decades have thrived on encoders being able to encode any way they see fit so long as the output can be decoded by a standard. I dread to think of how the H.264 reference encoder looks and performs compare to the 10+ years of commits x264 has seen.

Mono is open-source implementation of ECMA above

"Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime."

you can as well use ASF on Windows with it, and not use even single proprietary microsoft bit while you're doing that.

Sure. My point to geo was pure semantics over official because I was told that getting Idle Master to run on OS X was doing something it "wasn't coded for"

ASF at the moment is very powerful and much better than IM in nearly every possible place, especially having it's own steam client is very important as it's the ONLY TOOL that was capable of running for over a month without a need to restart it even once, and many steam fucups and malfunctions happened during that time.

"I don't like it" is better than spreading such false information like you did.

Straight for the jugular, huh?
I must have come off completely the wrong way because if you read my post as "ASF is shit" then you got it totally wrong.

8 years ago*
Permalink

Comment has been collapsed.

Maybe I got it wrong, or maybe you just posted a bunch of information that wasn't true and it looked to me like trying to say "ASF is shit" while jumping on some invalid arguments that didn't make sense.

8 years ago
Permalink

Comment has been collapsed.

I do apologize for that then.

From my perspective, I simply stated ASF relies on Mono' s .NET implementation to run on non-Windows operating systems and then got a big response from you with a bunch of reasons why ASF is better than IM.

8 years ago
Permalink

Comment has been collapsed.

ASF is not better than IM, ASF has features that make it better than IM for me.

As I said above, it's up to every user to decide what satisfies him, and I'm not in position to tell people what they should use. It's true that ASF requires Mono to run on Linux and OS X, but it's not true that it's proprietary or "bad", you could as well say that C and C++ programs require libc and linux kernel, and that doesn't mean that they're bad either.

ASF is arguably the tool that isn't coded for non-Windows operating systems because it is written in C# and uses Microsoft's proprietary .NET framework

And this is the part I don't agree with, because ASF is written in C#, but does not use microsoft proprietary .NET framework, but >any< implementation of framework capable of interpreting C# programs, such as proprietary .NET, or open-source Mono. And it is coded for both of these, and will work on both of these, as long as the framework itself is stable and working properly - which is the case with .NET, and slowly starts to be the case with Mono as well, but it takes time. That's the only bit that annoyed me, because it's simply not true - the sentence above implies that ASF should not run on Mono, or that it should run much worse, while the truth is that it'll run exactly the same, because Mono is officially supported by ASF, and Mono is what powers ASF on my server. I could even state that ASF on Mono is more tested than ASF on .NET.

8 years ago*
Permalink

Comment has been collapsed.

Ah. I couldn't help but get that impression when you said

ASF at the moment is very powerful and much better than IM in nearly every possible place

Which is a statement I wouldn't even disagree with :)

That point was directed to someone who implied that running ASF (C#/.NET) on OSX with Mono was more pure than Idle Master (Python), to which I was trying to say I find the opposite to be more arguable/plausible (which I do in the sense that Python implements 100% of... itself).

I purposefully said "arguably" instead of something completely asinine like likening Mono to WINE, but I see now that what I said heavily implies that Mono is some sort hack which is neither true nor would it necessarily be a bad thing if it were. To turn things completely around, Pypy's implementation of Python is rubbish compared to Mono's implementation in terms of compatibility, but its performance is absolutely killer within the subset it supports and if it works and works well for a given purpose then that's what matters.

8 years ago
Permalink

Comment has been collapsed.

Actually I have WINE set up as well, maybe I should try launching the exe. file through that. I'd prefer to do it with Mono though. :P

8 years ago
Permalink

Comment has been collapsed.

:(

8 years ago
Permalink

Comment has been collapsed.

bump

8 years ago
Permalink

Comment has been collapsed.

Did you try to get the bot running only with the minimal.json file?

EDIT: You might also want to check out the official ASF Thread to get help.

8 years ago
Permalink

Comment has been collapsed.

I haven't. And thanks for the link!

8 years ago
Permalink

Comment has been collapsed.

I don't have mac, so I'm not much of help, but I can say that provided config is okay, I copy-pasted it and checked in ASF under mono. But for some reason bot can't read this file. Does log file have something above the lines you provided? And, as a mere suggestion - maybe it's a problem with access rights for the bot config file?

8 years ago
Permalink

Comment has been collapsed.

Nope, that's all there is... Maybe I need to run as an admin?

8 years ago
Permalink

Comment has been collapsed.

When you're tying in the command, are you just typing "ASF.exe" into Terminal or are you dragging and dropping the exe into terminal? Just saying "mono ASF.exe" sounds like you might have an incomplete file path. Also, I'm not clear if you're putting in "null" in the username and passwords so that we don't see them, or if it's actually like that in your json. If it's the latter, try putting in your log in info and see if it helps. The last thing you could try is making a new config file, perhaps something just got corrupted/ didn't output correctly.

8 years ago
Permalink

Comment has been collapsed.

I did try it with my login info, I got the same error message. I haven't tried dragging and dropping the exe. but I put it in a folder on my desktop and cd'd to it, so I'm pretty sure the path is good?

8 years ago
Permalink

Comment has been collapsed.

Probably. I had it in a folder in my desktop as well, though, and the path was something like "mono Users/[myname]/Desktop/ASF/ASF.exe" or something. I haven't run ASF on my MB in a while. I did see that Archi has replied so I'll assume you're on the way to figuring it out if you haven't already, cause he's pretty good, but if not, see if this helps.

If you're still having trouble let me know. I'll set it up on my MB again and see if I can mimic what's going on with you/ find you a solution.

8 years ago
Permalink

Comment has been collapsed.

Your config works for me, maybe there's an error in the ASF.json file. Also, try setting the "Debug" setting in ASF.json to true, maybe that will give you more detailed information

8 years ago
Permalink

Comment has been collapsed.

Ok, I'll try it. Thanks! :)

8 years ago
Permalink

Comment has been collapsed.

Config is valid, if ASF can't read it or parse, it also states exception in the log which you omitted for some reason, so I'm not able to tell you what is wrong because above your Your bot config is invalid, refusing to start this bot instance! there is actual reason stated, which you didn't post for some reason.

8 years ago*
Permalink

Comment has been collapsed.

Ah, sorry. I'll post it. >.<

8 years ago
Permalink

Comment has been collapsed.

4/28/2016 10:19:18 PM [] INFO: Init() <Main> Archi's Steam Farm, version 2.0.4.0
4/28/2016 10:19:19 PM [
] INFO: CheckForUpdate() <Main> Checking new version...
4/28/2016 10:19:19 PM [] INFO: CheckForUpdate() <Main> Local version: 2.0.4.0 | Remote version: 2.0.4.0
4/28/2016 10:19:19 PM [
] INFO: CheckForUpdate() <Main> ASF will automatically check for new versions every 24 hours
4/28/2016 10:19:19 PM [] INFO: RefreshCMs() <Main> Refreshing list of CMs...
4/28/2016 10:19:20 PM [
] INFO: RefreshCMs() <Main> Success!
4/28/2016 10:19:20 PM [!] EXCEPTION: Load() <Main> Invalid property identifier character: . Path '', line 1, position 1.
4/28/2016 10:19:20 PM [!] StackTrace:
at Newtonsoft.Json.JsonTextReader.ParseProperty () [0x00000] in <filename unknown>:0
at Newtonsoft.Json.JsonTextReader.ParseObject () [0x00000] in <filename unknown>:0
at Newtonsoft.Json.JsonTextReader.Read () [0x00000] in <filename unknown>:0
at Newtonsoft.Json.JsonReader.ReadAndAssert () [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType, Newtonsoft.Json.Serialization.JsonContract contract, Newtonsoft.Json.Serialization.JsonProperty member, Newtonsoft.Json.Serialization.JsonContainerContract containerContract, Newtonsoft.Json.Serialization.JsonProperty containerMember, System.Object existingValue) [0x00000] in <filename unknown>:0
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, Boolean checkAdditionalContent) [0x00000] in <filename unknown>:0
4/28/2016 10:19:20 PM [!!] ERROR: .ctor() <glumpot> Your bot config is invalid, refusing to start this bot instance!
4/28/2016 10:19:20 PM [] INFO: Init() <glumpot> Not starting this instance because it's disabled in config file
4/28/2016 10:19:20 PM [
] INFO: OnBotShutdown() <Main> No bots are running, exiting

8 years ago
Permalink

Comment has been collapsed.

Invalid property identifier character: . Path '', line 1, position 1.

Probably badly encoded, your OS X added some magical special character or encoding on the top of the file and ASF is not able to parse it.

8 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.