Remaining things:
Once first pre-release is available feel free to start testing and providing feedback related to ASF V3 here 👍.
I apologize if this is dumb, but I copied the config folder from the last v2 release of ASF to the new osx version of v3, and was faced with this error:
Last login: Wed Jul 5 13:32:26 on ttys001
/Users/yashendra2797/Downloads/ASF-osx-x64/ArchiSteamFarm ; exit;
➜ ~ /Users/yashendra2797/Downloads/ASF-osx-x64/ArchiSteamFarm ; exit;
2017-07-05 13:32:33|ArchiSteamFarm-21859|INFO|ASF|InitASF() ASF V3.0.0.2
2017-07-05 13:32:34|ArchiSteamFarm-21859|INFO|ASF|CheckForUpdate() ASF will automatically check for new versions every 1 day.
2017-07-05 13:32:34|ArchiSteamFarm-21859|INFO|ASF|CheckForUpdate() Checking for new version...
2017-07-05 13:32:42|ArchiSteamFarm-21859|INFO|ASF|CheckForUpdate() Local version: 3.0.0.2 | Remote version: 3.0.0.2
2017-07-05 13:32:42|ArchiSteamFarm-21859|INFO|Main|Start() Starting...
2017-07-05 13:32:45|ArchiSteamFarm-21859|INFO|Main|Connect() Connecting...
2017-07-05 13:32:48|ArchiSteamFarm-21859|INFO|Main|OnConnected() Connected to Steam!
2017-07-05 13:32:48|ArchiSteamFarm-21859|INFO|Main|OnConnected() Logging in...
2017-07-05 13:32:48|ArchiSteamFarm-21859|ERROR|Main|HandleCallbacks() Interop+AppleCrypto+AppleCommonCryptoCryptographicException: The system cryptographic library returned error '-4305' of type 'CCCryptorStatus'
at Internal.Cryptography.AppleCCCryptor.ProcessInteropError(Int32 functionReturnCode, Int32 ccStatus)
at Internal.Cryptography.AppleCCCryptor.Reset()
at Internal.Cryptography.AppleCCCryptor.TransformFinal(Byte[] input, Int32 inputOffset, Int32 count)
at Internal.Cryptography.UniversalCryptoEncryptor.UncheckedTransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
at Internal.Cryptography.UniversalCryptoTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
at SteamKit2.CryptoHelper.SymmetricEncryptWithIV(Byte[] input, Byte[] key, Byte[] iv)
at SteamKit2.TcpConnection.Send(IClientMsg clientMsg)
at SteamKit2.Internal.CMClient.Send(IClientMsg msg)
at ArchiSteamFarm.ArchiHandler.LogOnWithoutMachineID(LogOnDetails details)
at ArchiSteamFarm.Bot.OnConnected(ConnectedCallback callback)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at SteamKit2.CallbackManager.RunWaitAllCallbacks(TimeSpan timeout)
at ArchiSteamFarm.Bot.HandleCallbacks()
I'm running macOS High Sierra 10.13 Beta (17A291m) on my MacBook Air (Mid 2013).
Please let me know if I can do anything else to help, and please accept my sincere apologies if I haven't realized something simple and posted in the wrong place.
EDIT: I use ASF 2FA.
EDIT 2: Tried the generic version. Same problem.
@yashendra2797 https://github.com/dotnet/corefx/issues/21435
Thanks for taking your time to submit feedback, it's important that such issues are found before I roll 3.0.0.0 on stable channel.
Judging from the issue itself it could be possible that older OS X (10.12?) would work fine, you can test if you want to. It's a bug in .NET Core itself, so it'll be fixed sooner or later.
If it works fine then I'll add special note in upcoming compatibility wiki section about that.
It's a bug in .NET Core itself
The regression was in OSX 10.13 (the code worked in 10.12 and 10.11, if not further back); so I'd contend it's a bug in OSX 10.13 (Beta), not CoreFX. Nonetheless, we've already fixed it (despite me having failed to close the issue).
@bartonjs Thank you a lot for answering! I see it got merged to 2.0.0 branch so it should be available in preview3 already, that's great! At least we helped to close one outdated issue then 🙂. Thanks a lot!
Hi, before Steam Sale I wanted to use ASF to loot my accounts for steam cards (at the end I didn't because it's too complicated to set up and use) but I created an app that let you change some values in all json files.
Maybe your JS-based ConfigGenerator could also contain some option to edit some values in all json files (or even better to be able to add files in some groups and edit values bases on groups.)
I don't know how you edit multiple json files (maybe regex or something...) but editing one file by one is not gud.
This is app i did...
https://github.com/genesix-eu/asf_mass_config_editor
Mass-edits are done better via scripting, not a tool. No tool will offer you powerful regexes or complex conditions - ConfigGenerator is mainly for less advanced (newbie) users that just want to tweak ASF to their liking.
Sure, it's definitely a valid enhancement suggestion that can be added to TODO list, but it's not a priority, and definitely not for V3 release. Since now CG will be javascript-based, perhaps people will contribute to improve it in the future - possibilities are endless.
Question: Is this supposed to work on Android as well? I've downloaded the 32-bit arm build, tried to run the ArchiSteamFarm binary, but it doesn't open:
$ cd ASF/
$ chmod +x ArchiSteamFarm
$ ./ArchiSteamFarm
zsh: no such file or directory: ./ArchiSteamFarm
My phone's CPU architecture is an ARM Cortex-A7. Thanks
Android is not GNU/Linux.
I'm running Archlinux x86_64 with linux-4.9.35-1-lts kernel.
2017-07-09 22:55:28|ArchiSteamFarm-560|INFO|ASF|InitASF() ASF V3.0.0.2
2017-07-09 22:55:29|ArchiSteamFarm-560|INFO|ASF|CheckForUpdate() ASF will automatically check for new versions every 1 day.
2017-07-09 22:55:29|ArchiSteamFarm-560|INFO|ASF|CheckForUpdate() Checking for new version...
2017-07-09 22:55:43|ArchiSteamFarm-560|INFO|ASF|CheckForUpdate() Local version: 3.0.0.2 | Remote version: 2.3.2.0
2017-07-09 22:55:43|ArchiSteamFarm-560|WARN|ASF|CheckForUpdate() You're using a version that is newer than latest released version for your update channel. Please note that pre-release versions are dedicated to users who know how to report bugs, deal with issues and give feedback - no technical support will be given.
No usable version of the libssl was found
[1] 560 abort (core dumped) ./ArchiSteamFarm
I have already installed dotnet-runtime-2.0. Thanks
$ yaourt -Qi openssl | grep Version
Version : 1.1.0.f-1
$ ll /usr/lib/libssl*
lrwxrwxrwx 1 root root 13 May 26 00:48 /usr/lib/libssl.so -> libssl.so.1.1
-rwxr-xr-x 1 root root 428K May 26 00:49 /usr/lib/libssl.so.1.1
BTW,It's runing flawlessly on Windows 10.
.NET Core requires libssl in version 1.0.X to work properly (1.0.2 IIRC). You have only 1.1. Get libssl1.0.2 or equivalent.
@4679 Also https://github.com/dotnet/core/blob/master/roadmap.md#net-core-20---supported-os-versions
@JustArchi Thanks a lot.
I have Armbian 5.30 version of Ubuntu Xenial
mrmarble@orangepilite:~/ASF-ARM$ ./ArchiSteamFarm --server
2017-07-10 13:45:05|ArchiSteamFarm-21199|INFO|ASF|InitASF() ASF V3.0.0.2
2017-07-10 13:45:11|ArchiSteamFarm-21199|INFO|ASF|Start() Starting IPC server on http://127.0.0.1:1242/IPC/...
2017-07-10 13:45:12|ArchiSteamFarm-21199|INFO|ASF|Start() IPC server ready!
2017-07-10 13:45:12|ArchiSteamFarm-21199|ERROR|ASF|CheckForUpdate() ArchiSteamFarm.version is invalid!
It seems that the IPC server doesn't work outside of localhost, i can get it work with 127.0.0.1:1242 but no with 196.168.1.48:1242 (the IP of my machine) before with WCF it worked like a charm without openning ports
Also I'm making (almost done it but i'm rewriting it for working with the new .Net Core version of ASF) an ASF bot for Telegram so you can see and control your bots and it would be pretty useful if you can modify the bot's config by commands in --server mode
it would be pretty useful if you can modify the bot's config by commands in --server mode
You can already edit config files and ASF will automatically pick them up and reload after edit.
ASF as a program should never edit config files itself. This includes IPC.
Also your update error got fixed in V3.0.0.3, thanks for report.
It seems that when using --server ASF doesn't closes the socket when shutting down the proccess, If you try to run it again you get an error saying the address is already in use, you need to restart the system for it to work again
2017-07-10 14:11:01|ArchiSteamFarm-22644|INFO|ASF|Start() Starting IPC server on http://192.168.1.48:1242/IPC/...
2017-07-10 14:11:01|ArchiSteamFarm-22644|ERROR|ASF|Start() System.Net.HttpListenerException (0x80004005): Address already in use
at System.Net.HttpEndPointManager.GetEPListener(String host, Int32 port, HttpListener listener, Boolean secure)
at System.Net.HttpEndPointManager.AddPrefixInternal(String p, HttpListener listener)
at System.Net.HttpEndPointManager.AddListener(HttpListener listener)
at System.Net.HttpListener.Start()
at ArchiSteamFarm.IPC.Start()
There's no way how socket would survive process termination, if that indeed happens then it should be reported to .NET Core folks as a bug. There's nothing to fix in the process if process is killed already.
Regardless, I added extra routine that should close IPC as last call before process shutdown, even if it should not be required, it's there just in case now.
ASF V3.0.0.3 should be available soon.
Took a bit for me to learn how to build in .NET Core (I know it's not required, but I like to always compile stuff myself), but I can say that ASF v3 is very stable, and you've made some great optimizations. Now my server with a hundred accounts went from 45% memory to ASF to around 20%, and also significantly lower CPU usage as well :)
Only thing unusual I've noticed is this:
ERROR|ASF|CheckForUpdate() ArchiSteamFarm.version is empty!
(Assuming this is something your CI does that I probably forgot to do)
So yeah thanks again for this, and highly suggest that other semi-technical people try out v3, because it's really great :)
Edit: can also confirm that it worked fine for me on macOS Sierra using premade binary (Homebrew didn't have core2.0 so didn't try selfbuild)
Correct, you'll miss that file when doing self-build, intentionally, as I don't want to enable any auto-updates for you. Maybe I just convert it into warning instead, or use a variant that would disable auto-update but keep notifications, that's best probably. For now you'll have an error, but it'll be fixed before stable release.
Hey again Archi, can you please explain how the new options on MatchableTypes is supposed to work with regards to TradingPreferences? There's no wiki page for it yet, so I'm not sure if the following is a bug, or just intended behavior.
I have TradingPreferences = 3 (STM trades), and set MatchableTypes to include backgrounds/foils/emoticons.
Two cases:
It's understandable if you disagree on case 1, but case 2 I think should be changed for sure -- bottom line is, one shouldn't lose a non-duplicate of a unique crafted item unless TradingPreferences has MatchEverything enabled. Hopefully this makes sense, thanks :)
https://github.com/JustArchi/ArchiSteamFarm/wiki/Release-cycle
Please note that newly introduced features and changes might be undocumented (e.g. on the wiki) until some time later, as documentation is usually written once final code of given feature is ready (to save us time rewriting documentation each time we decide to modify the feature we're currently working on). Due to the fact that pre-release might contain work-in-progress code that doesn't have a final form yet, documentation might arrive at later stage of the development.
In long run all foils from the same set should have exactly the same value. I'm fine with setting MatchableTypes back to ASF V2 default (so only trading cards), but you should not make assumptions how everybody wants to use ASF. STM is supposed to help badge completion, not game the market.
You can "lose a non-duplicate unique item" only for other "non-duplicate unique item" that you're currently missing, unless you're using MatchEverything but then everything works as you configured it. I don't see any need of logic enhancements here, nobody forces you to set foils, backgrounds or emoticons as matchable types - if you want to decide yourself what is worth for you, then do that, ASF as stated on the wiki won't make smart guesses. It's supposed to help you complete the badge and all collectibles, and if that means trading 4 out of your 5 rare emoticons, for 4 common ones, then that helps to reach that goal, regardless of their market value. If you don't want to do that, then don't set emoticons as matchable types.
ASF currently doesn't even have logic for rarity, and I'm not sure if I want to bring it in the first place.
Cheers for that 1st change, think it will be better at least for initial public release.
For the 2nd part I said I don't care about rarity, just that one shouldn't trade away a unique crafted item if TradingPreferences is 3. So apologies then if it's a suggestion, because I feel that STM logic in ASF should be modified for these new items. Additionally, I am also pretty sure that steamtradematcher.com's setting for unique items only shows these items as a possible trade if it's a duplicate.
-- In any case, that's my viewpoint, so feel free to not do anything regarding it and have a good weekend :)
For the 2nd part I said I don't care about rarity, just that one shouldn't trade away a unique crafted item if TradingPreferences is 3.
Can you give me a link to an example unique crafted item you're talking about? I'll fetch inventory and see if I can add a logic for that.
Darn, that is just bad wording from me.
If you see on Dota backgrounds. In this scenario I own one Tidehunter, and two Dragons, with TradingPreferences=3:
Basically I'm a hoarder who likes having one copy of every background on Steam.
(If someone wants to take a background/emoji from me, they can gladly, as long as I'm not losing my last copy of that unique item. This is my logic behind it. :) Fully understand if you don't agree with that logic, but think it'd be cool, cheers!)
You're missing a point here.
If someone offers any dota background for a dragon, indeed you will get it accepted, as there is no way how it'd end as a bad trade for you.
However, if someone offers you something for a tidehunter, then ASF will accept such trade if and only if it's neutral, which means that the other person MUST offer you another background that you do not own yet. In this case you're trading your "last unique item" for another "first unique item" that you do not have yet. You're not losing anything, you have 1x A 2x C and you're doing A -> B swap. This is not a bad trade, this is neutral one, and overall count of items on per-unique basis remains the same. Moreover, if that person offered you another dragon for tidehunter, obviously it'd be a bad trade and get denied.
Makes more sense, isn't purely neutral but I live with it, thx :)
Also crashed this morning; not sure if any of this is useful (don't see any type of stack trace?). Do I need to rebuild as debug and try to crash again?
Got several of these:
2017-07-21 02:51:34|dotnet-19313|WARN|Account2|Init() System.TimeoutException: The WebAPI call timed out
at SteamKit2.WebAPI.Interface.TryInvokeMember(InvokeMemberBinder binder, Object[] args, Object& result)
at CallSite.Target(Closure , CallSite , Object , UInt64 , String , String , String , Boolean )
at ArchiSteamFarm.ArchiWebHandler.<>c__DisplayClass47_0.<Init>b__0()
2017-07-21 02:51:35|dotnet-19313|INFO|Account2|OnDisconnected() Disconnected from Steam!
2017-07-21 02:51:35|dotnet-19313|WARN|Account2|IsAnythingToFarm() Could not get badges' information, we will try again later!
Then several of these:
2017-07-21 02:51:52|dotnet-19313|WARN|Account8|Init() System.Threading.Tasks.TaskCanceledException: A task was canceled.
at SteamKit2.WebAPI.Interface.TryInvokeMember(InvokeMemberBinder binder, Object[] args, Object& result)
at CallSite.Target(Closure , CallSite , Object , UInt64 , String , String , String , Boolean )
at ArchiSteamFarm.ArchiWebHandler.<>c__DisplayClass47_0.<Init>b__0()
Until it finally crashed with this:
2017-07-21 02:51:53|dotnet-19313|FATAL|ASF|OnUnhandledException() System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
at System.Net.Sockets.Socket.Poll(Int32 microSeconds, SelectMode mode)
at SteamKit2.TcpConnection.NetLoop()
at System.Threading.Thread.ThreadMain_ThreadStart()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
2017-07-21 02:52:03|dotnet-19313|ERROR|ASF|Exit() Exiting with nonzero error code!
Maybe looks like something from SK, so I'll be building from f564cc5ebbf231da948ec7c592ddc9f4d1ebf502 and see if maybe the Alpha5 improved something regarding it.
Warnings are not errors and typically are not worth reporting, unless they happen on usual basis while your configuration is fine.
I reported last one in https://github.com/SteamRE/SteamKit/issues/400 - alpha5 probably won't improve things just yet as https://github.com/SteamRE/SteamKit/pull/402 is still WIP.
I can't open the file. On Linux, I use ASF-linux-x64's compressed package. I use win's compressed package on win10, but it works perfectly:
[root@VM_119_102_centos opt]# chmod +x ArchiSteamFarm
[root@VM_119_102_centos opt]# ./ArchiSteamFarm
Failed to load 8b, error: libunwind.so.8: cannot open shared object file: No such file or directory
Failed to bind to CoreCLR at '/opt/libcoreclr.so'
[root@VM_119_102_centos opt]#
My linux is centos 7.2 x64. Thanks
You didn't install .NET Core prerequisites. As a pre-release user you should know how to read wiki.
It's settled perfectly, thanks
Well there's the bug (or it isn't?) that crashes ASF, but I can't really consistently reproduce this bug. What happen is when I sleep my computer for some hours, and then wake it up, the ASF somewhat crashed. I tried to reproduce it 5 times but it only crashed 2 times.
I think this exception come from SteamKit? I'm using Windows 10 btw
log_1.txt
log_2.txt
It seems that only occurs in some accounts, in others they are just fine, what is going on?
I have ubuntu and running ASF 3.0.0.6
I tried to activate some steam keys and they are indeed activated in my account but ASF answered me with this:
1|ASF | 2017-07-25 19:49:13|ArchiSteamFarm-776|ERROR|Principal|RedeemKey() System.Threading.Tasks.TaskCanceledException: A task was canceled.
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
1|ASF | at ArchiSteamFarm.ArchiHandler.<RedeemKey>d__11.MoveNext()
1|ASF | 2017-07-25 19:49:13|ArchiSteamFarm-776|INFO|ASF|HandleRequest() Answered to IPC command: !redeem Principal 2L2D4-K9ND9-PFJK6 with:
1|ASF | <Principal> Key: 2L2D4-K9ND9-PFJK6 | Status: Timeout
1|ASF | <Principal> Unused keys: 2L2D4-K9ND9-PFJK6
1|ASF | 2017-07-25 19:49:24|ArchiSteamFarm-776|ERROR|Principal|RedeemKey() System.Threading.Tasks.TaskCanceledException: A task was canceled.
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
1|ASF | at ArchiSteamFarm.ArchiHandler.<RedeemKey>d__11.MoveNext()
1|ASF | 2017-07-25 19:49:24|ArchiSteamFarm-776|INFO|ASF|HandleRequest() Answered to IPC command: !redeem Principal 263ZK-VY3CN-P39PZ with:
1|ASF | <Principal> Key: 263ZK-VY3CN-P39PZ | Status: Timeout
1|ASF | <Principal> Unused keys: 263ZK-VY3CN-P39PZ
1|ASF | 2017-07-25 19:49:48|ArchiSteamFarm-776|ERROR|Principal|RedeemKey() System.Threading.Tasks.TaskCanceledException: A task was canceled.
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
1|ASF | at ArchiSteamFarm.ArchiHandler.<RedeemKey>d__11.MoveNext()
1|ASF | 2017-07-25 19:49:48|ArchiSteamFarm-776|INFO|ASF|HandleRequest() Answered to IPC command: !redeem Principal 0XWXF-A3A4X-PYX04 with:
1|ASF | <Principal> Key: 0XWXF-A3A4X-PYX04 | Status: Timeout
1|ASF | <Principal> Unused keys: 0XWXF-A3A4X-PYX04
1|ASF | 2017-07-25 19:49:59|ArchiSteamFarm-776|ERROR|Principal|RedeemKey() System.Threading.Tasks.TaskCanceledException: A task was canceled.
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
1|ASF | at ArchiSteamFarm.ArchiHandler.<RedeemKey>d__11.MoveNext()
1|ASF | 2017-07-25 19:49:59|ArchiSteamFarm-776|INFO|ASF|HandleRequest() Answered to IPC command: !redeem Principal 30RHL-Z2J8H-QGM48 with:
1|ASF | <Principal> Key: 30RHL-Z2J8H-QGM48 | Status: Timeout
1|ASF | <Principal> Unused keys: 30RHL-Z2J8H-QGM48
1|ASF | 2017-07-25 19:50:10|ArchiSteamFarm-776|ERROR|Principal|RedeemKey() System.Threading.Tasks.TaskCanceledException: A task was canceled.
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
1|ASF | at ArchiSteamFarm.ArchiHandler.<RedeemKey>d__11.MoveNext()
1|ASF | 2017-07-25 19:50:10|ArchiSteamFarm-776|INFO|ASF|HandleRequest() Answered to IPC command: !redeem Principal 2L3M2-ETW0N-L3TRW with:
1|ASF | <Principal> Key: 2L3M2-ETW0N-L3TRW | Status: Timeout
1|ASF | <Principal> Unused keys: 2L3M2-ETW0N-L3TRW
1|ASF | 2017-07-25 19:50:21|ArchiSteamFarm-776|ERROR|Principal|RedeemKey() System.Threading.Tasks.TaskCanceledException: A task was canceled.
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
1|ASF | at ArchiSteamFarm.ArchiHandler.<RedeemKey>d__11.MoveNext()
1|ASF | 2017-07-25 19:50:21|ArchiSteamFarm-776|INFO|ASF|HandleRequest() Answered to IPC command: !redeem Principal 0TXF4-MNLDF-ZAHLK with:
1|ASF | <Principal> Key: 0TXF4-MNLDF-ZAHLK | Status: Timeout
1|ASF | <Principal> Unused keys: 0TXF4-MNLDF-ZAHLK
1|ASF | 2017-07-25 19:50:32|ArchiSteamFarm-776|ERROR|Principal|RedeemKey() System.Threading.Tasks.TaskCanceledException: A task was canceled.
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
1|ASF | at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
1|ASF | at ArchiSteamFarm.ArchiHandler.<RedeemKey>d__11.MoveNext()
1|ASF | 2017-07-25 19:50:32|ArchiSteamFarm-776|INFO|ASF|HandleRequest() Answered to IPC command: !redeem Principal JV4IR-D768L-VE05X with:
1|ASF | <Principal> Key: JV4IR-D768L-VE05X | Status: Timeout
1|ASF | <Principal> Unused keys: JV4IR-D768L-VE05X
The extra info is from the process manager that I use
Crashed, think it was after I did "!2faok" but not sure.
2017-07-28 03:17:37|dotnet-24052|FATAL|ASF|OnUnhandledException() System.ArgumentException: Only 'http' and 'https' schemes are allowed.
Parameter name: requestUri
at System.Net.Http.HttpRequestMessage.InitializeValues(HttpMethod method, Uri requestUri)
at System.Net.Http.HttpRequestMessage..ctor(HttpMethod method, Uri requestUri)
at ArchiSteamFarm.WebBrowser.<UrlRequest>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.WebBrowser.<UrlRequest>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.WebBrowser.<UrlGetToResponse>d__26.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.WebBrowser.<UrlGetToContent>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.WebBrowser.<UrlGetToHtmlDocument>d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.WebBrowser.<UrlGetToHtmlDocumentRetry>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.ArchiWebHandler.<GetConfirmations>d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.MobileAuthenticator.<GetConfirmations>d__17.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.Bot.<AcceptConfirmations>d__80.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.Bot.<Response2FAConfirm>d__156.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.Bot.<Response>d__95.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.Bot.<HandleMessage>d__110.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.Bot.<OnFriendMsg>d__135.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
@Smankusors https://github.com/SteamRE/SteamKit/issues/420
@MrMarble Steam not answering to ASF is not ASF issue.
@MikeLund Added to TODO.
@MikeLund Reproduce the crash with V3.0.0.7+ please, I added some debug routines.
@JustArchi nice!
2017-08-01 12:20:26|dotnet-15683|DEBUG|ASF|UrlRequest() Asked for <https://steamcommunity.com/mobileconf/conf?l=english&p=android:blah-blah-censored&m=android&tag=conf>, got unsafely redirected to <steammobile://lostauth/>, resolved URI to: <steammobile://lostauth/>
2017-08-01 12:20:26|dotnet-15683|FATAL|ASF|OnUnhandledException() System.ArgumentException: Only 'http' and 'https' schemes are allowed.
Parameter name: requestUri
Seem to reproduce it by going to Steam webchat, doing !2faok myUsername, closing tab instantly, then repeating this; on the 2nd time repeating, it does the crash. Not sure why, but 100% reproduce it myself like this.
PS: I dislike how building ASF v3 copies the default configs into the out config directory. Is it possible to change this functionality, or must I just learn to use a different config directory? I don't remember it functioning like this with v2, but maybe I am wrong. Bit annoying to have my ASF.json overwritten and get the example configs every time. :)
Good, now I know where the issue is, thanks. This is caused by lost auth (session) and will happen if you have something that conflicts with ASF web session, such as your steam client or steam on your mobile active at the same time.
Is it possible to change this functionality, or must I just learn to use a different config directory?
ASF copies ASF.json over to config directory (same as everything else) only if ASF build file is newer than existing one. This indicates change of default values and if you're building ASF yourself then this should be a signal for you to take care of changes and re-evaluate your main config. If you don't want that signal then simply copy your ASF.json over each time after compilation. This process should not be changed, and ASF V2 worked exactly the same.
https://github.com/JustArchi/ArchiSteamFarm/blob/master/ArchiSteamFarm/ArchiSteamFarm.csproj#L57
2017-08-02 01:06:00|ArchiSteamFarm-27788|INFO|ASF|CheckForUpdate() Lade neue Version herunter: 3.0.0.9 (14 MB)... Während du wartest, denk darüber nach zu spenden, wenn du die geleistete Arbeit zu schätzen weißt! :)
2017-08-02 01:06:11|ArchiSteamFarm-27788|INFO|ASF|CheckForUpdate() Aktualisierung abgeschlossen!
2017-08-02 01:06:11|ArchiSteamFarm-27788|INFO|ASF|RestartOrExit() Starte neu...
2017-08-02 01:06:16|ArchiSteamFarm-27788|ERROR|ASF|Restart() System.ComponentModel.Win32Exception (0x80004005): No such file or directory
at Interop.Sys.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Int32& lpChildPid, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd)
at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at ArchiSteamFarm.Program.d__19.MoveNext()
Crashes on linux-arm after updating. Seems to change access permissions as I can't launch the program after the crash and manually have to adjust the permissions.
2017-08-01 19:25:42|dotnet-3114|FATAL|ASF|OnUnhandledException() System.Net.WebSockets.WebSocketException (0x80004005): The remote party closed the WebSocket connection without completing the close handshake. ---> System.IO.IOException: Unable to transfer data on the transport connection: Connection reset by peer. ---> System.Net.Sockets.SocketException: Connection reset by peer
--- End of inner exception stack trace ---
at System.Net.Security.SslStreamInternal.EndRead(IAsyncResult asyncResult)
at System.Net.Security.SslStream.EndRead(IAsyncResult asyncResult)
at System.Threading.Tasks.TaskFactory`1.FromAsyncTrimPromise`1.Complete(TInstance thisRef, Func`3 endMethod, IAsyncResult asyncResult, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
at System.Net.WebSockets.ManagedWebSocket.<EnsureBufferContainsAsync>d__70.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Net.WebSockets.ManagedWebSocket.<ReceiveAsyncPrivate>d__61.MoveNext()
at System.Net.WebSockets.ManagedWebSocket.<ReceiveAsyncPrivate>d__61.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at SteamKit2.WebSocketConnection.WebSocketContext.<ReadMessageAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at SteamKit2.WebSocketConnection.WebSocketContext.<RunCore>d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at SteamKit2.WebSocketConnection.WebSocketContext.Dispose()
at SteamKit2.WebSocketConnection.DisconnectCore(Boolean userInitiated, WebSocketContext specificContext)
at SteamKit2.WebSocketConnection.Send(Byte[] data)
at SteamKit2.Internal.CMClient.Send(IClientMsg msg)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
2017-08-01 19:25:42|dotnet-3114|ERROR|ASF|Exit() Exiting with nonzero error code!
I am using newest version, but with SteamProtocols 7. I see you changed the default to 1 in https://github.com/JustArchi/ArchiSteamFarm/commit/f24be67c8cea1719e875eeb5f7225377407197ba#diff-85e03f3913921ce9cb277a2e22c05f93. Is this the reason behind the SK2 crash and I should use Protocols 1 instead?
@Janniqz Thanks, yes this is caused by lack of permission on new binary and should be corrected, I'll take a look.
@MikeLund Yes, I'm waiting for SK2 with https://github.com/SteamRE/SteamKit/issues/420 until I re-enable it back. Your issue is also worth reporting to SK2 folks. https://github.com/SteamRE/SteamKit/issues/422
Auto-update issue should be fixed since V3.0.1.0 onwards, some unhandled winsocket exceptions are also handled in 3.0.1.0+.
Keep reporting crashes and other weird errors, this is getting pretty stable by now.
Getting a crash after I updated from 3.0.0.4 to 3.0.1.0. Here's a dump of the log.txt. Reinstall?
2017-08-03 00:04:41|ArchiSteamFarm-18920|INFO|ASF|InitASF() ASF V3.0.1.0 (f684357f-f692-4d26-9fca-8a212c1aa5cd)
2017-08-03 00:04:41|ArchiSteamFarm-18920|FATAL|ASF|OnUnhandledException() System.AggregateException: One or more errors occurred. (Could not load file or assembly 'Mono.Posix.NETStandard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.) ---> System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Posix.NETStandard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
at ArchiSteamFarm.ASF.<CheckForUpdate>d__6.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
at ArchiSteamFarm.ASF.CheckForUpdate(Boolean updateOverride)
at ArchiSteamFarm.Program.<InitASF>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.Program.<Init>d__21.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at ArchiSteamFarm.Program.Main(String[] args)
---> (Inner Exception #0) System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Posix.NETStandard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
File name: 'Mono.Posix.NETStandard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
at ArchiSteamFarm.ASF.<CheckForUpdate>d__6.MoveNext()
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
at ArchiSteamFarm.ASF.CheckForUpdate(Boolean updateOverride)
at ArchiSteamFarm.Program.<InitASF>d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at ArchiSteamFarm.Program.<Init>d__21.MoveNext()
<---
2017-08-03 00:04:41|ArchiSteamFarm-18920|ERROR|ASF|Exit() Exiting with nonzero error code!
I'm not sure if update code in 3.0.0.4 worked correctly, better reinstall. This is faulty install issue.
Which files should I save for reinstall? Just the config folder?
Actually no, I can't use my newly introduced library on Windows, I need to fix it in follow-up 3.0.1.1 release.
Yes, just config folder is everything you need.
So, I deleted my original ASF v3 folder, unzipped, and then copied over my config folder. No dice. Any other way I can troubleshoot and help?
Just wait for 3.0.1.1 to get built and released.
Updated from 3.0.1.0 to 3.0.1.1 without crashing nor chmod problems.
Will report back if I find anything else.
That's very nice to hear. Thanks.
Yeah 3.0.1.1 had bugfix for Windows only, otherwise it works the same as 3.0.1.0.
With alpha6 the websocket crash hasn't happened yet, sweet.
Got this "fatal" error a lot of times today -- happened around the time when I was crafting a lot of badges. It didn't actually crash ASF and probably isn't a common situation, so not sure worth reporting, but here ya go. (I was getting lots of "new items" notifications, and assume it ate all the semaphores)
2017-08-03 03:51:15|dotnet-22806|FATAL|ASF|OnUnobservedTaskException() System.AggregateException: A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread. (Adding the specified count to the semaphore would cause it to exceed its maximum count.) ---> System.Threading.SemaphoreFullException: Adding the specified count to the semaphore would cause it to exceed its maximum count.
at System.Threading.SemaphoreSlim.Release(Int32 releaseCount)
at ArchiSteamFarm.CardsFarmer.<OnNewItemsNotification>d__25.MoveNext()
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.Threading.SemaphoreFullException: Adding the specified count to the semaphore would cause it to exceed its maximum count.
at System.Threading.SemaphoreSlim.Release(Int32 releaseCount)
at ArchiSteamFarm.CardsFarmer.<OnNewItemsNotification>d__25.MoveNext()<---
@JustArchi good day! Is it possible to add a command-line argument to just run ASF to get a Steam Guard code without all the delay to start the bot and connect to Steam server?
ASF is not Steam mobile authenticator. I suggest to use another tool for that.
(BTW, you could in theory set bots as Enabled: false and execute appropriate command through IPC/WCF. Still, not ASF purpose.)
Probably the best place to put this idea, although I'm sure you've read this idea somewhere before. I know you've made a JS config generator, but for controlling ASF there's not much available for V3. I do not feel that executing commands directly through the browser is very user friendly. So, it would be nice if you could add something similar to ASFui to V3. Or perhaps a web-controllable UI. Anything would be an improvement really.
You state on the wiki that there are no cross platform UIs, well, here are some that might give you some ideas:
https://github.com/mono/xwt
https://github.com/picoe/Eto
https://github.com/AvaloniaUI/Avalonia
https://github.com/noliar/DevZH.UI (.NET Core)
I'm not interested in any GUI for ASF. At best somebody could code simple HTML form and make use of newly-introduced IPC interface, but that won't be me either.
Besides, everything you linked doesn't work on .NET Core, and last one is experimental proof of concept I definitely won't base on when developing ASF. This is on top of lack of interest in it in the first place. If you need GUI for ASF - code it yourself and send PR. IPC is a great fundament for that, as ASF could totally expose nice user-friendly interface over http - I'm just not interested in coding it myself.
Maybe this isn't the best place to put this but my telegram bot for ASF is working now so here you have the link to it https://github.com/MrMarble/ASFBot
I'm still updating it to work with the new features, that's why I posted it here
3.0.1.2 is first release candidate.
Personally I believe that this version is stable and complete enough to replace ASF V2. I'll give it a few more days for you to test - in the meanwhile I'll update all remaining wiki pages and if everything looks good, release stable in a ~week from now.
Let me know if you find any issues.
Are you seriously wondering why ASF is not able to idle a game that is not yet even released on Steam?
OK, I'll remove the issue, but it's playable for me and it also gives out cards. Probably not worth fixing then.
Thank you for the information by the way 👍
Thought you might like some stats, memory usage went from ~100MB to ~85MB here. Not a ton of difference, but anything is welcome. Will upload some more fixes to ASFui now.
@JustArchi A new issue: NLog.config will be deleted when updating. It should be preserved.
Correct, that is unhandled at the moment, thanks for pointing it out! I'll add support for it soon.
What do you think of changing IPC's response to text/plain instead of text/html and then remove the HTML tags from the response as well? I feel like it would work much cleaner when using cli.
$ curl -s 'http://127.0.0.1:1242/IPC?command=version'
<bot> ASF V3.0.1.2
Is better than:
$ curl -s 'http://127.0.0.1:1242/IPC?command=version'
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><p>
<bot> ASF V3.0.1.2</p></body></html>
Also, it would make more sense when using !api, so we wouldn't have to strip HTML tags to parse the JSON response.
Not a bad idea, I'll see what can be done with it, maybe add another endpoint for that or something.
Thanks. Please add a new line at the end of the response as well so it doesn't mess up the terminal
Hey Archi, thanks for the version 3.0.1.3. I've tested it and it's much better now in cli. I was wondering if the new line at the beginning of the response is intentional?
$ curl -s "http://127.0.0.1:1242/IPC?command=version"
<bot> ASF V3.0.1.3
Thanks again
Yes, it's included in every response by definition. This is happening since every command accepts plural <Bots> argument now.
You have changed the api command and now it doesn't show the bot config, wich is good because you no longer have your passwords in plain text in the "air" but now I can't detect if a account is bot or it isn't, I was using it to identificate the accounts in my telegram bot, could you please add back this info?
Just theisBotAccount: True
I had a plan to somehow re-write that part in order to still return bot config but without all available properties, I'll see what can be done about that.
Version 3.0.1.4 is supposed to be final release candidate. All wiki pages also got updated. I plan a release in a few following days - if you spot anything wrong please let me know. Happy testing & reading, thanks 🙂.
ASF-linux-x64.zip crashes for me on Debian Stretch with .NET Core prerequisites installed:
# apt install libunwind8 libunwind8-dev gettext libicu-dev liblttng-ust-dev libcurl4-openssl-dev libssl1.0-dev uuid-dev unzip
$ ./ArchiSteamFarm
2017-08-15 10:05:07|ArchiSteamFarm-28521|INFO|ASF|InitASF() ASF V3.0.1.4 (8272618b-6da4-4beb-b463-e2089d055d18)
2017-08-15 10:05:10|ArchiSteamFarm-28521|INFO|ASF|CheckForUpdate() ASF will automatically check for new versions every 1 day.
2017-08-15 10:05:10|ArchiSteamFarm-28521|INFO|ASF|CheckForUpdate() Checking for new version...
Segmentation fault (core dumped)
apt-get purge libssl1.0.0.
Doing !owns ASF 730 (730 for example) in a direct message with a lot of accounts connected makes them all start to disconnect one at a time after a few minutes, with a simple OnDisconnected() Disconnected from Steam -- no errors or anything. I assume it's hitting something with ConnectionTimeout, while fetching owned games list?
I am also still using websockets, but unsure if that's related, since there was no actual errors shown anywhere. Please let me know if there's something I can do to help debug, cheers.
That has nothing to do with ASF.
Sorry, I don't understand your wording. Are you simply saying that I'm hitting some rate-limiting in Steam, and therefore Steam is closing my connections -- or something like that it's an SK2 issue?
Exactly. Steam closing your connection due to you executing crapload of heavy requests is not ASF issue.
Release tomorrow, last few hours for eventual feedback, also in terms of wiki. Thanks!
ASF V3.0.1.6 just went stable, huge thanks for all of your support and feedback.
Most helpful comment
@Smankusors https://github.com/SteamRE/SteamKit/issues/420
@MrMarble Steam not answering to ASF is not ASF issue.
@MikeLund Added to TODO.