Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ASF V3 TODO-list #586

Closed
7 tasks done
JustArchi opened this issue Jul 5, 2017 · 77 comments
Closed
7 tasks done

ASF V3 TODO-list #586

JustArchi opened this issue Jul 5, 2017 · 77 comments
Labels
💬 Discussion Issues marked with this label are open to development discussion, especially in terms of solutions. ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 📢 Feedback welcome Issues marked with this label are open to any potential feedback that could help us. 🏁 Finished Issues marked with this label were finished already and no further work is required on them. 🟡 Medium priority Issues marked with this label have a priority, unless there is something even more important.
Milestone

Comments

@JustArchi
Copy link
Member

JustArchi commented Jul 5, 2017

Remaining things:

Once first pre-release is available feel free to start testing and providing feedback related to ASF V3 here 👍.

@JustArchi JustArchi added 💬 Discussion Issues marked with this label are open to development discussion, especially in terms of solutions. ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 📢 Feedback welcome Issues marked with this label are open to any potential feedback that could help us. 🟡 Medium priority Issues marked with this label have a priority, unless there is something even more important. 🚧 Work in progress Issues marked with this label are in active work-in-progress and they're not ready for review yet. labels Jul 5, 2017
@JustArchi JustArchi added this to the 3.0.0.0 milestone Jul 5, 2017
@yashendra2797
Copy link

yashendra2797 commented Jul 5, 2017

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.

@JustArchi
Copy link
Member Author

JustArchi commented Jul 5, 2017

@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.

@bartonjs
Copy link

bartonjs commented Jul 5, 2017

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).

@JustArchi
Copy link
Member Author

@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!

@genesix-eu
Copy link

genesix-eu commented Jul 5, 2017

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

@JustArchi JustArchi removed the 🚧 Work in progress Issues marked with this label are in active work-in-progress and they're not ready for review yet. label Jul 6, 2017
@JustArchi
Copy link
Member Author

JustArchi commented Jul 7, 2017

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.

@guihkx
Copy link

guihkx commented Jul 8, 2017

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

@JustArchi
Copy link
Member Author

Android is not GNU/Linux.

@4679
Copy link

4679 commented Jul 9, 2017

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.

@JustArchi
Copy link
Member Author

JustArchi commented Jul 9, 2017

.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.

@JustArchi
Copy link
Member Author

@4679
Copy link

4679 commented Jul 9, 2017

@JustArchi Thanks a lot.

@MrMarble
Copy link

MrMarble commented Jul 10, 2017

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

@JustArchi
Copy link
Member Author

JustArchi commented Jul 10, 2017

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.

@MrMarble
Copy link

MrMarble commented Jul 10, 2017

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()

@JustArchi
Copy link
Member Author

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.

@JustArchi
Copy link
Member Author

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.

@MikeLund
Copy link

MikeLund commented Jul 12, 2017

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)

@JustArchi
Copy link
Member Author

JustArchi commented Jul 12, 2017

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.

JustArchi added a commit that referenced this issue Jul 13, 2017
@MikeLund
Copy link

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:

  1. I have only one foil in inventory, then if someone makes a trade for a different foil from same set, ASF accepts the trade because it's technically "neutral".
    But IMO this trade shouldn't be considered neutral. Even though we're not technically losing progress on crafting, it will only be abused. Additionally, if we have some pending buy-order for foils in the rest of the set, a match will be significantly negative for us. I can't think of many cases where someone will want to do "neutral" foil trades.

    (If you disagree with changing STM logic for foils, perhaps it'd be a good idea to remove Foil from default config+hashset? People are stupid and are going to be pissed when they lose expensive foils to ninjas)

  2. Same thing with backgrounds/emoticons. Someone can take non-duplicate crafted items from me. I'd love to share my duplicate backgrounds with people regardless of the rarity, but I think it's a mistake if I am losing a non-duplicate unique item.

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 :)

@JustArchi
Copy link
Member Author

JustArchi commented Jul 14, 2017

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.

  1. 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.

  2. 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.

@MrMarble
Copy link

MrMarble commented Aug 3, 2017

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

@JustArchi
Copy link
Member Author

JustArchi commented Aug 5, 2017

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.

@JustArchi
Copy link
Member Author

Are you seriously wondering why ASF is not able to idle a game that is not yet even released on Steam?

@Nuklon
Copy link

Nuklon commented Aug 5, 2017

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.

@mxalbert1996
Copy link

@JustArchi A new issue: NLog.config will be deleted when updating. It should be preserved.

@JustArchi
Copy link
Member Author

JustArchi commented Aug 5, 2017

Correct, that is unhandled at the moment, thanks for pointing it out! I'll add support for it soon.

@guihkx
Copy link

guihkx commented Aug 5, 2017

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.

@JustArchi
Copy link
Member Author

Not a bad idea, I'll see what can be done with it, maybe add another endpoint for that or something.

@guihkx
Copy link

guihkx commented Aug 5, 2017

Thanks. Please add a new line at the end of the response as well so it doesn't mess up the terminal

JustArchi added a commit that referenced this issue Aug 5, 2017
@guihkx
Copy link

guihkx commented Aug 7, 2017

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

@JustArchi
Copy link
Member Author

Yes, it's included in every response by definition. This is happening since every command accepts plural <Bots> argument now.

@MrMarble
Copy link

MrMarble commented Aug 9, 2017

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

@JustArchi
Copy link
Member Author

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.

@JustArchi
Copy link
Member Author

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 🙂.

@JustArchi JustArchi added the 🏁 Finished Issues marked with this label were finished already and no further work is required on them. label Aug 14, 2017
@karlyk
Copy link

karlyk commented Aug 15, 2017

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)

@JustArchi
Copy link
Member Author

JustArchi commented Aug 15, 2017

apt-get purge libssl1.0.0.

https://github.com/dotnet/corefx/issues/8951

@MikeLund
Copy link

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.

@JustArchi
Copy link
Member Author

That has nothing to do with ASF.

@MikeLund
Copy link

MikeLund commented Aug 15, 2017

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?

@JustArchi
Copy link
Member Author

Exactly. Steam closing your connection due to you executing crapload of heavy requests is not ASF issue.

JustArchi added a commit that referenced this issue Aug 15, 2017
@JustArchi
Copy link
Member Author

Release tomorrow, last few hours for eventual feedback, also in terms of wiki. Thanks!

@JustArchi
Copy link
Member Author

ASF V3.0.1.6 just went stable, huge thanks for all of your support and feedback.

@lock lock bot locked as resolved and limited conversation to collaborators Jun 26, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
💬 Discussion Issues marked with this label are open to development discussion, especially in terms of solutions. ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 📢 Feedback welcome Issues marked with this label are open to any potential feedback that could help us. 🏁 Finished Issues marked with this label were finished already and no further work is required on them. 🟡 Medium priority Issues marked with this label have a priority, unless there is something even more important.
Projects
None yet
Development

No branches or pull requests