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

Add option for idling behavior #16

Closed
Haoose opened this issue Nov 20, 2015 · 47 comments
Closed

Add option for idling behavior #16

Haoose opened this issue Nov 20, 2015 · 47 comments
Labels
✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 🏁 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.

Comments

@Haoose
Copy link

Haoose commented Nov 20, 2015

Example:
Screen from IdleMaster

  • Idle each game individually
  • Idle games simultaneously up to 2 hours, then individually
  • Idle games with more than 2 hours individually, then simultaneously
@JustArchi
Copy link
Member

Due to the fact that Valve's algorithm changed, it's pointless to use 2 latter options, as they're inefficient.

Until I find any valid reason for spending time on implementing them, this is on hold.

@JustArchi JustArchi added ✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. labels Nov 20, 2015
@Haoose
Copy link
Author

Haoose commented Nov 20, 2015

On some bots cards fall after 2 hours. Not at all, yes. So I think the function required (optional).
Thx for this nice soft!

@JustArchi
Copy link
Member

So we have a valid reason, but I'm still unlikely to work on something that is working unreliable. There's no way to check which algorithm should be used, and implementing totally optional feature which would be used by like 1% of users doesn't sound good enough.

It's a valid feature request, and if somebody creates a pull request I'll accept it, but I'm not going to work on that, at least at the moment.

@Vrekker
Copy link

Vrekker commented Nov 21, 2015

Hello, I agree that's a top needed feature, because despite their "new algorithm" I can guarantee you yet not every account drops any card before the 2 hours, quite the contrary. So if any of your accounts takes more than 2 hours before first drop, every time you're going to add a new game to this account you're going to waste 2 hours per game with the current queue system. This is a huge problem when you have many games with 0 hours played that you have to start idling. Because right now we have to run Idle Master 2h on every games prior to running Archi, and that's a huge waste of time.

I understand that implementing a check function could be hard, and I'm not sure such a complicated thing is even needed, but here's a better, simpler suggestion for you:

  • Add a new entry to the xml file of any given bot (option that could be defaulted to false) : simultaneously run all games with card drops remaining for 2h and then switch individually in queue (as usual), so those like us won't have to switch from Idle Master to ArchiSteamFarm every time we add one or more games to the total.

I hope you can add this hotfix easily and thanks a lot for this great program!

@Sighery
Copy link

Sighery commented Nov 21, 2015

I can say that from my 11 alts, only one of them drops cards before the 2 hours, the same as my main account. And the only difference with the other alts to that one and my main, since I never requested a refund in any, is that in my main and in that alt I've used money to buy games from the store.

So the 2 hours mark probably has to do with spending money too, if you do and never requested a refund, you get cards normally, if you didn't spend a single euro, just got gifts and activated keys, then you have the 2 hours restriction. And I'm betting that most of the people doesn't buy stuff from the alt, they just send it keys and gifts from the main.

But I understand that this may be a lot of work to implement, so I'm not going to push you to do it, even waiting 4-5 hours to idle each game in all the accounts at the same time is better than waiting less time but with just one account at a time like happens with IdleMaster.

@JustArchi
Copy link
Member

Agreed, putting it on wishlist instead.

@JustArchi JustArchi added 🙏 Wishlist Issues marked with this label are wishlisted. We'd like to make them happen but they're not crucial. and removed ⛔ On hold Issues marked with this label are blocked from being worked on, very often due to third-parties. labels Nov 21, 2015
@Haoose
Copy link
Author

Haoose commented Nov 21, 2015

Sighery
Thx. This seems to be true. I did not buy the game on alternative accounts.
JustArchi
Victory! xD Thanks a lot!

@JustArchi
Copy link
Member

I added a proper switch already - 1ff4ed0

However, implementation still needs to be done. I'll see what can be done.

@Sighery
Copy link

Sighery commented Nov 21, 2015

Thanks Archi, I would help, but I know nothing of C#, just some C that I'm learning now, and even if they are somehow similar, I'm not sure I have the level yet to do that kind of stuff, not even with C. Though if I can be of any help for testing or anything like that, I humbly offer myself.

@JustArchi
Copy link
Member

Okay guys, I did it.

https://github.com/JustArchi/ArchiSteamFarm/releases/tag/0.8.0.0-pre1

Everything you need has been written in the release description.

I need major feedback regarding new Complex algorithm, so I suggest everyone who has restricted accounts to regenerate configs for them, and set CardDropsRestricted to true. ASF will notice you what algorithm has been chosen for each account upon starting.

Have fun. Remember to keep an eye on what is going on, as I only barely tested it on my own account.

@Sighery
Copy link

Sighery commented Nov 21, 2015

I just had 2 alts idling right now, and only for one game, so I stopped and disabled them until I buy a bundle or get a key for some game with cards, so I can test if the idling works for two games or more at a time. Thanks for the update though, I will let you know if it works for me as soon as I can.

@Haoose
Copy link
Author

Haoose commented Nov 21, 2015

If there is one game with more than 2 hours, then run it alone?
Then I'll check multifarm a little later (1 card left)
And thanks for update, ofc! =)

@JustArchi
Copy link
Member

Yeah, algorithm is optimized to maximize profits, and it works like last choice of idle master mentioned in the first post. I see totally no reason to implement the second option.

@JustArchi
Copy link
Member

It's experimental so don't get shocked if it won't work like it should, this is the whole reason for doing a pre-release. I must gather feedback from people that it works as it should.

@Haoose
Copy link
Author

Haoose commented Nov 21, 2015

Ok. It's work for me. Thanks again!
P.S. Playtime (on badges-page) is updated every half hour.

@JustArchi
Copy link
Member

That's why I don't update hours played based on steam, but get them once and update according to my own algorithm.

@Pandiora
Copy link
Contributor

Just saying: I can´t confirm you have to wait 2 hours for card-drops on every game of your smurf-accounts. Even if @Sighery claims that he never had a refund on those accounts there must be another reason, When did you created your accounts? Maybe theres a difference between this 1 account that is working w/o a problem and those accounts that needs to idle every game for 2 hours or maybe Volvo changed the algorithm again. I tested it now and added some games to my alts > Idling works w/o a problem like before and w/o using the 2 hours mass-idle and some of those accounts are only 6 months old.

@Haoose
Copy link
Author

Haoose commented Nov 21, 2015

@Pandiora
For this reason it is made as an option. Who wants to - can enable. I need it. Not often, but necessary.

@JustArchi
Copy link
Member

It's an option and default behavior will always assume that we're in "better" situation and we're not restricted from card drops, unless I find out the way to reliably set it based on actual situation, then the option will get removed, as we'll be able to automate choice.

Until then though, and it's unlikely to happen that Volvo tells us if we can get drops before 2 hours or not, default option is that we can get them before 2 hours mark, but one can assume worse situation for one (or more) of his accounts by using proper switch.

@Haoose
Copy link
Author

Haoose commented Nov 21, 2015

@JustArchi
I have two suggestions:

  1. Auto-accept invitations to groups (From master-account)
    1a) Option: Automatically join to groups that joined master-account
  2. Automatically receive and activate Gifts that sent master-account.

@JustArchi
Copy link
Member

  1. SteamKit doesn't provide me with option to detect who invited bot to what clan, not going to happen until I find out the way.

  2. Sounds too complex for now. Definitely on hold.

Also you should use other issue for that, this one is related to multi-games farm.

@Pandiora
Copy link
Contributor

Don´t get me wrong, I just want to know why this happens for you. There are only a few things I can think of that could be different:

  • How old are those accounts that doesn´t work?
  • Are those accounts limited or unlimited?
  • Are those accounts verified (email)?
  • Are those accounts protected by SteamGuard?

Maybe you can tell if there are some irregularities.

@Sighery
Copy link

Sighery commented Nov 21, 2015

@Pandiora I don't think it's just a single reason that defines whether you get card drops past or previous to the 2 hours mark. The whole "if you had a refund then you need to wait two hours" it's just something I read, and what most people are saying, but since I never had a refund in any account I can't say that's the reason.

It may be, as I say, multiple reasons. What I did notice is that in the accounts that never bought anything from the store or market or added money to the wallet, I have to wait 2 hours. Or at least that's what I can guess, because on the two that don't have to wait past the 2 hours I did spend money.

For more information, in case someone can see a pattern in this. My main account was created the 16th of february of 2012. The alt that doesn't have to wait for the 2 hours to drop cards was created on the 29th of september of 2013. Eight of the other alts were created the 17th of october of 2014. One created the 10th of January of 2015. And another one the 18th of January of 2015.

I don't think the date has anything to do with them, but they are all protected by Steamguard, the emails are verified, and they are all unlimited. So the only thing different (apart of the date in which they were created) are that in those that don't have to wait the 2 hours I spent money on the store, and added money to the Steam wallet.

@JustArchi JustArchi added 📢 Feedback welcome Issues marked with this label are open to any potential feedback that could help us. and removed 🙏 Wishlist Issues marked with this label are wishlisted. We'd like to make them happen but they're not crucial. labels Nov 21, 2015
@Haoose
Copy link
Author

Haoose commented Nov 21, 2015

"Also you should use other issue for that"
Done, thanks.

@Pandiora
Copy link
Contributor

@Sighery Thanks. I can tell that doesn´t matches me or my accounts and some of them are limited. Hm, do you have to wait 2 hours on every game of those restricted accounts?

However, even if we can´t find the reason I can tell you Volvo behaves weird in some more cases. It´s Off-Topic but I can tell that I have one unlimited account that can´t trade cards to master-account for no reason. There´s nothing wrong with SteamGuard, the Trade-Window opens but no items being shown and all cards are untradeable like when you bought an item from market. (but theres no 7 days restriction) I tested this behaviour with my browser, ASF and Steam-Client > everywhere the same and all are using different cookies.

@JustArchi
Copy link
Member

Note to self, everything looks good so far.

image

@Sighery
Copy link

Sighery commented Nov 21, 2015

@Pandiora Yeah, it behaves weird, so maybe there is no actual reason for it, maybe it's completely random, but I doubt it very much.

About the restriction thing... are you really sure those accounts are unlimited? I will try to keep it short, but before Volvo introducing the "spend $5 in the Store or add them to your Steam wallet to get an unlimited account" thing, how it worked was: You created the account, you had to activate Steamguard and wait 30 days with it activated until you were able to trade or use the market (also wait 7 days for entering from a new place, but those 7 days were included in the 30 days Steamguard restriction if you activated it the same day you created the account and logged in for the first time), and then after those 30 days you would be able to use the market and trade, but it was tricky because you would get cards, and they would seem fine but unless you bought something, or received a gift from other account and activated it those cards would simply not appear in the trade window.

I can't tell you for sure that will work for your account, but maybe that's actually the reason since you seem so sure it's unlimited, I would need more info, like the date of creation of that unlimited account, to know if it was created before or after the $5 policy, and to know if you ever bought anything with that account or received a gift and activate it. But you could try activating a gift if you haven't already. Also, it would be helpful if you explain to me what do you mean by unlimited and limited, because I'm not quite sure if we are refering to the same thing.

@Pandiora
Copy link
Contributor

@Sighery Ok I double-checked everything now and at first there are problems with idling games. Some accounts were stuck at idling "Super Distro" (over 60 hours played) and there were exactly one game left that wasn´t idled ("Overcast - Walden and the Werewolf").

If I talk about unlimited accounts I mean you spent min. 5$/5€ in the past on this account. Now I saw this one account that can´t trade cards, but is unlimited, didn´t spent money on the shop and has the limitation because I didn´t bought anything at the store. But now I compared this account to 3 other accounts which are completely the same (unlimited, created and unlimited at the same time, money already as balance and so on) and on those accounts I traded cards to my main-account w/o a problem. So maybe this untradeable restriction is the normal behaviour and doesn´t work all the time.

To answer your other questions: All of these accounts were created ~6 months ago (after the 5$-limitation-rule), all of them have SteamGuard activated, public profile, and on most of them I spent 5€ to unlimit them. The only thing I could think of is that I accidentally used a vpn or proxy with this account and Steam limited it for 30 days.

@JustArchi
Copy link
Member

Remember that cards farming problems may actually not be caused by ASF, but by the steam directly. ASF has no outcome on card drops, I could just add some "safety-check" which would stop farming given game and restart the module if it hits e.g. 5 or 6 hours (I don't know if any game requires more than that).

@JustArchi
Copy link
Member

@Pandiora 3e34fab

This is the only thing I can do to prevent such situations.

@Sighery
Copy link

Sighery commented Nov 22, 2015

@JustArchi I don't know exactly his problem, but if I read it right, it means that a game got stuck while idling right? And if it idled that long I suppose he got the cards already, if so, couldn't he just close or stop that bot, go the .xml and add the appID of that game to the blacklist so ASF ignores it?

@JustArchi
Copy link
Member

In theory, yes, it's all possible, but ASF can also assume that after non-stop farming of 5 hours in solo mode just one game, it got farmed 100%, even if steam says otherwise (or doesn't say anything because it's down, cough cough)

@Pandiora
Copy link
Contributor

@JustArchi Yeah, now I just found out theres a bug with Steam displaying the hours played.

Example ("Enclave"):

  • an unproblematic account displays no hours for idling Enclave, but I´m sure I traded the cards to my main-account
  • the problematic account displays the hours but also didn´t idled "Overcast - Walden and the Werewolf"

And now to totally confuse you: I can now trade with the problematic account if I send the trade-request from the master-account. So my first problem solved itself but I found out ASF doesn´t idle Overcast. :/

@Sighery Excluding wouldn´t help because ASF doesn´t tries to idle this game.

@JustArchi
Copy link
Member

I can't do anything with steam fuckups, I just suggest to add specific appIDs to the blacklist for affected steam accounts. It's not possible for me to blindly guess if something is farmed or not, especially if steam doesn't know it itself, cough cough.

@Pandiora
Copy link
Contributor

@JustArchi Don´t do this. Like I said there´s a bug on Steam depending the displayed game-time.
Edit: Oh okay you count the time client-side?! Well then it would be okay.

@Haoose
Copy link
Author

Haoose commented Nov 22, 2015

@JustArchi Add Win7x64 Ultimate to Supported / Tested OS =)
Screen

@JustArchi
Copy link
Member

Sure thing, which edition?

@Haoose
Copy link
Author

Haoose commented Nov 22, 2015

@JustArchi
"(I don't know if any game requires more than that)"
If I am not mistaken, Dungeon Defenders II - over 7 hours / 8 cards.
Sometimes, and we waited for 8 hours. (2 hours + ~6 hours)

@JustArchi
Copy link
Member

I'll set it 10 hours then.

@Pandiora
Copy link
Contributor

Or just add it to the config too and use 10 hours as Standard-Value.

@JustArchi
Copy link
Member

In worst case, farming will resume on next reset / cd-key activation. No need to make it switchable.

@JustArchi
Copy link
Member

And it's required for potential steam network crashes, so bot won't farm one game infinitely.

@Pandiora
Copy link
Contributor

Okay. I will test now why Overcast isn´t working and report back in another issue if problem still exists.

@JustArchi JustArchi added the 🟡 Medium priority Issues marked with this label have a priority, unless there is something even more important. label Nov 22, 2015
@Rudokhvist
Copy link
Contributor

Sorry for asking, but I don't understand it from code... If one game is stuck and idling for >10 hours, what would bot do? Skip to next game, restart farm process, or just stop farming?

@Haoose
Copy link
Author

Haoose commented Nov 25, 2015

@Ryzhehvost Skip to next game

@Sighery
Copy link

Sighery commented Nov 25, 2015

@JustArchi tried the complex algorithm twice now and all seems to be working as intended using Windows 7 Home Premium. Thanks!

@JustArchi
Copy link
Member

@Ryzhehvost
As @Haoose pointed, it'll skip to the next game, and assume that currently farming game is 100% farmed. It's nice to note that it's only temporary, so as I said, on next CardsFarmer module restart (e.g. triggered by steam disconnect, or cd-key activation), bot will recheck if assumption is proper, and if needed, farm the same ID further. It's a mechanism which tries to detect that cards don't drop for some reason (steam-related).

@Sighery
I also couldn't find any issues, so I assume we can mark complex algorithm stable for now.

@JustArchi JustArchi added 🏁 Finished Issues marked with this label were finished already and no further work is required on them. and removed 📢 Feedback welcome Issues marked with this label are open to any potential feedback that could help us. labels Nov 25, 2015
@lock lock bot locked as resolved and limited conversation to collaborators Jun 30, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
✨ Enhancement Issues marked with this label indicate further enhancements to the program, such as new features. 🏁 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

6 participants