Roukys / HHauto

GNU General Public License v3.0
43 stars 44 forks source link

Keep getting the Error 500 temp ban #540

Closed Ivebeenpwnd closed 1 year ago

Ivebeenpwnd commented 2 years ago

I keep getting the Error 500 temp ban when I have salary set to collect.

Roukys commented 2 years ago

hello @Ivebeenpwnd Do you have it each salary collection ?

Would you have a debug log of after the issue ?

Ivebeenpwnd commented 2 years ago

sometimes it happens immediately sometimes it is after it cycles through a few times, how do I go about getting a debug log? @Roukys

Roukys commented 2 years ago

@Ivebeenpwnd please find a guide here : https://github.com/Roukys/HHauto/wiki#extracting-the-debug-log

Ivebeenpwnd commented 2 years ago

Sorry it took so long to get back to you, had a few busy days at work. Here is the log right after getting a temp ban, had to wait for it to finish to get get to it. @Roukys HH_DebugLog_1657269564170.log {

Roukys commented 2 years ago

OK seems nothing specific in it ... I'll try to check in code what could happen

Roukys commented 2 years ago

OK seems nothing specific in it ... I'll try to check in code what could happen

Ivebeenpwnd commented 2 years ago

@Roukys any update for this, I keep having this problem. This also pops up before it enters the harem page to collect 4a03680e0a8dfa22e6528a7d20ccaeca .

nothhname commented 2 years ago

I've been seeing this too recently... I have a feeling it's related to request volume, I have a very high girl count in HH, I think it happens most often after sleep or when there is a large number to collect. It may be a matter of increasing delay between clicks or limiting the number of girls that collect in one pass.

Roukys commented 2 years ago

i've raised the minimum time beween 2 girls in v100 lets see if it is better

Ivebeenpwnd commented 2 years ago

Ill test it out, not sure if it will have to wait for after the free 3 day premium card they gave out since it collects without going into the harem page for now

nothhname commented 2 years ago

I updated to latest and should have an idea tomorrow, the last few weeks it's been sitting on harem screen either with or without error almost every evening when I get to check with all indications being it failed at the first run after waking up from sleep. When I refresh it's 25-50% chance that it starts getting 500s before it finishes collecting but I've also noticed a few times it doesn't get as far as starting to collect in the first active period after the refresh in the evening so that may play a role in how likely it is to fail. If this doesn't work, maybe an enforced x second wait between switching to a new activity or after sleep resetting timers to stagger the activity might be enough to get things on the right track.

nothhname commented 2 years ago

If this doesn't work I think I may try adjusting my paranoia settings, shorter rest/active times in the active/casual/sleep blocks may actually be enough to keep too much from happening in one batch as often. I'll still give an update tomorrow evening either way.

nothhname commented 2 years ago

It didn't lock today so that's a positive sign... I'll keep monitoring for a few days in case it was a fluke

nothhname commented 2 years ago

I spoke too soon, I just got a 500 temp ban.

nothhname commented 2 years ago

It has definitely improved though. FYI: I have almost 1050 girls which I'm sure has an impact...

Ivebeenpwnd commented 2 years ago

1st run after the free premium and am back with the problem

nothhname commented 2 years ago

I haven't seen it die over night since the change but it's died in the evening a few times now... the positive is I catch it before I lose out on anything this way but it may just be random chance that it's just failing differently. the evening crashes are odder since even at casual speed it shouldn't be doing full runs of everything including claims like it does during the day... Are there maybe some request intensive activities that could be a trigger? maybe POP restarts, league scans or similar? I know way back when i was first catching up stats to max I triggered the temp ban on a regular basis sometimes not while clicking too fast but after I'd slowed down or was starting another slower task.

Ivebeenpwnd commented 2 years ago

It only happens when doing the salary claim, it usually happens when there is a lot of girls to collect from at once when I have to reset my browser after waking up, but sometimes it happens when there is hardly any to collect. It might be a specific girl when collecting, but not sure. The free premium they gave for 3 days solved it for the time it was up, my guess because it didn't go into the harem page. Turning off salary collect and doing so manually stops it from happening, but having a lot of girls makes it a pain to do.

nothhname commented 2 years ago

Agreed, salary is where it always fails but my thought was that might be because it's just a lot of transactions at a steady rate since it hasn't been happening at wake-up from sleep for me for the past few days it made me wonder if there was some other process that was causing a lot of transactions (never enough to trigger on it's own, but enough to put it close) and then when salary happens it hits the x transactions in x time limit and triggers a temp ban. It may just be a fluke of timing though.

nothhname commented 2 years ago

What makes it a pain is I haven't found a wy to turn on the dev tools without having it hit break points that would mess up scanning... having a log of how many transactions happened where might clue in a bit on possibilities.

Roukys commented 2 years ago

that is pretty strange as sometime script can collect all my girls without any ban ... I'll try to add a longer way every X girls to see.

Roukys commented 2 years ago

I've tried to do it in v102. Let's see if it is better, in any case log will be a little more verbose around waiting time, so please try and extract a debug file when ban is finished if it does happen again.

Franck-75 commented 2 years ago

Hi, I'll check your update when I'll be unbanned but I'm not sure it's that. In the logs you can see on #552 ticket, I have getSalary unchecked. Nevertheless, the script goes to getSalary screen and I get banned before the first salary. So the bug occurs before getSalary and the result is that I go to getSalary screen even if it's not wanted. I don't understand the logs but it seems that the script loose his mind and do weird requests to api that does not exists. I got banned with my second account.

Franck-75 commented 2 years ago

Is there a way to give you "save debug" when we are banned ? The interface can't be reached anymore....

Roukys commented 2 years ago

@Franck-75 I'll check for debug when ban what I can do. so in your case you're banned without even the first salary collection ? strange. ... or they have introduced some way to detect script like a false girl, I don't know

Roukys commented 2 years ago

@Franck-75 I'll check for debug when ban what I can do. so in your case you're banned without even the first salary collection ? strange. ... or they have introduced some way to detect script like a false girl, I don't know One reason script goes to harem while getSalary is disabled is to check girls count, I'll also look that way

Franck-75 commented 2 years ago

Yes. My scenario is I log in, reset all var, and let the job done with several automatic flag on but not getSalary. I'm unban and no problem for the moment, but the bug is not systematic so...

I don't understand that in the logs : VM677 jquery.min.js:2 POST https://www.hentaiheroes.com/ajax.php 403 send @ VM677 jquery.min.js:2 ajax @ VM677 jquery.min.js:2 hh_ajax @ VM680 default.js:1 processRewardsQueue @ VM680 default.js:1 (anonymous) @ VM680 default.js:1 setTimeout (async) handleRewardsQueue @ VM680 default.js:1 (anonymous) @ VM680 default.js:1 e @ VM677 jquery.min.js:2 t @ VM677 jquery.min.js:2 setTimeout (async) (anonymous) @ VM677 jquery.min.js:2 c @ VM677 jquery.min.js:2 fireWith @ VM677 jquery.min.js:2 fire @ VM677 jquery.min.js:2 c @ VM677 jquery.min.js:2 fireWith @ VM677 jquery.min.js:2 ready @ VM677 jquery.min.js:2 B @ VM677 jquery.min.js:2 VM680 default.js:1 HH error {action: 'process_rewards_queue'} Arguments(3) [{…}, 'error', '', callee: ƒ, Symbol(Symbol.iterator): ƒ] VM703:1 Uncaught SyntaxError: Unexpected token F in JSON at position 0 at JSON.parse () at HTMLDocument. (chrome-extension://dhdgffkkebhmkfjojejmpbldmpobfkfo/userscript.html?name=Hentai%2520Heroes%252B%252B%2520(/OCD)%2520Season%2520version.user.js&id=ca609539-3939-4e6b-b2ac-fd312ac6e2fa:7132:39) at HTMLDocument.dispatch (VM677 jquery.min.js:2:43064) at v.handle (VM677 jquery.min.js:2:41048) at Object.trigger (VM677 jquery.min.js:2:71515) at l (VM677 jquery.min.js:2:80053) at XMLHttpRequest. (VM677 jquery.min.js:2:82355)

Franck-75 commented 2 years ago

OK. It's worse. I'm banned again after less than 5 minutes.

Roukys commented 2 years ago

ok that could be useful, on which page were you when it occured ?

Franck-75 commented 2 years ago

Just before, it was market check then go to home page. And after, when going to getSalary page, a popup error of KK appears in the home page and then I switch to getSalary screen. At that moment, it's the surprise... It works or... I got banned. It seems that there is a conflict between OCD script and automatic script.

Dimka2010 commented 2 years ago

still have this problem https://user-images.githubusercontent.com/95862680/181750486-7d16e09e-1230-444b-ad97-9bb885a3c87c.png 102 version, only in HH and CHX (in PornHarem - no problem). I have OCD script , but not active it (99% time this script off ) when mistake from screen upper apeare

nothhname commented 2 years ago

Today was the first overnight one I've hit in a while so I guess the problem is still there and I was just getting lucky.

nothhname commented 2 years ago

My current attempt to deal with this... I just changed my paranoia setting for max active from 320 down to 240. I think this only tends to happen when a lot of stuff happens and then salary jumps in, I'm hoping the lower max causes the salary claim to jump to the following active period after bigger batches of catch-up activity.

nothhname commented 2 years ago

I'm 24 hours in now without dropping to a temp ban, no guarantee it's solved but the change is low risk if anyone else wants to try, you need to modify one of the application variables manually, the variable is named HHAuto_Setting_paranoiaSettings it starts with ###-### which defines the min and max length of an active time. I reduced the max from the default 320 down to 240. This should result in a rest period between big batches of activity (like after sleep) instead of it all happening in one run... this could result in some lost cash income but far less then gets lost when it temp bans and you don't notice for hours...

nothhname commented 2 years ago

Unfortunately the error is back this morning so that wasn't enough... would it be possible to maybe add 500 error that kills any running tasks (collecting, etc) sets all timers to a period greater then typical ban time, then set a timer to refresh the page between typical ban length and the lowest timer? It wouldn't fix the root problem but could if nothing else keep things running...

nothhname commented 2 years ago

Another thought... I do see a lot of log happening during POP setup. I haven't watched network activity but if the auto-assign is doing something stupid like clicking the girls individually triggering a request for each one then, it's possible that's very chatty with the server and puts things close to triggering a ban. If that's the case an easy fix might be to when setting up POP check salary timer, if salary time < 5 minutes adjust timer to > 5 minutes

Ivebeenpwnd commented 2 years ago

I have essentially fixed the problem with a chrome auto refresh add on by having the page auto refresh every 15 minutes and keeping the harem claim amount to 100k so it never has a chance to get too high. Although I don't have paranoia turned on so I am not sure how it would influence the performance with it.

Franck-75 commented 2 years ago

Why there is an ajax request done by the script action: process_rewards_queue who return 403 error before going to the harem screen ? I think I have a reproductible scenario to get banned for sure. I'll check the ajax requests.

nothhname commented 2 years ago

I have essentially fixed the problem with a chrome auto refresh add on by having the page auto refresh every 15 minutes and keeping the harem claim amount to 100k so it never has a chance to get too high. Although I don't have paranoia turned on so I am not sure how it would influence the performance with it.

I think it primarily happens with paranoia. Without you're unlikely to pile up the volume of transactions that seem to be necessary particularly with everything firing immediately when it's timer expires instead of queuing up. Typically I see it happen either right after reset when it has a full queue of stuff to do including resetting PoP and analyzing league or after I refresh when it's been sitting since reset. The temp ban I think is typically volume based, I used to see it all the time when I was spam clicking to fill in stats (before I caught up) or when spamming sell actions, or giving xp/affection so I know you can trigger it even as a human, as quickly as the script clicks sometimes I'm surprised it doesn't hit the ban more often

I am seeing an INSANE number of "requests" happening during market (affection, xp) load and harem load... with all the images, etc to the tune of thousands. Hopefully most are cached but that's still a lot of potential noise depending on how they're tracking request volumes to trigger the temp ban... It's almost like they built DOS protection into a game that DOSes itself likely some lazy/bad coding on their end not accounting for those of us with almost all the girls.

Roukys commented 2 years ago

on my side I've seen it happen mostly when going to harem, but not even time to get 1 girl... @Franck-75 I'll try to reproduce also the ajax checking

Franck-75 commented 2 years ago

Same as Roukys. When going to harem and before get the salary of the first girl.

nothhname commented 2 years ago

Here's my log from a failure earlier, woke up, did some stuff, started salary, got maybe 75% through and just hung there, no message today. HH_DebugLog_1660776083179.log I just updated to 108, I'll post another log if it fails again before resolved, I normally check for updates once every day or two so I'm not usually far behind but 108 looks like it added a bunch of logging...

nothhname commented 2 years ago

@Roukys I just got a 500 error page displayed when it entered harem to start collecting so I was unable to retrieve the log the normal way, I did however have dev tools open so I was able to save the console log there. I'm not sure if there is anything identifiable in that log though since it has a lot of HH log messages and raw json in addition to normal HHauto stuff. Would you have use for that log and have a safe way for me to get it to you?

Franck-75 commented 2 years ago

You can drag&drop your file in your message.

nothhname commented 2 years ago

@Franck-75 I know that, I did a couple messages back. This isn't the normal HHAuto debug log though, it's full console output including stuff the site writes out so I'm concerned there might be something in there that could be used to identify my game account thus, my question about a more secure (not publicly visible) way, I don't see any way to send a PM type message on github or I would have gone that route.

Roukys commented 2 years ago

@Franck-75 yes please send I'll check what I can find

Furthemore in v109 I've added a menu item directly into the tampermonkey menu to produce the debug log.

Dimka2010 commented 2 years ago

v109 broken Marker (trying to enter and ESC operation)

nothhname commented 2 years ago

I just realized something... I've seen some people saying it will 500 when loading harem before even claiming any salary... It's possible an easy fix might be to put a x second pause in place before opening harem IE: when it triggers the timer, wait x seconds before proceeding... but not knowing the code I'm not sure how easy that might be to put in place.

Sorry, no logs the last few crashes I had actually gave 500 error pages so there was no way to retrieve logs.

Roukys commented 2 years ago

For the one which encounter temp bans, are you running script parrallely on multiple games (hentaiheroes,test, comix,pornstar) If it is the case next time a 500 happen could you use tampermonkey menu to generate debug log for each and post it here ? I see some have the ban during salary collection but origin could be in another window ...

nothhname commented 2 years ago

For me only the one game I run on linux and use chromium for the game only, chrome for everything else, only tabs open are HH, this thread, the doc page for script so I can easily check for updates and the issue list so I can refresh easily. only extensions are tampermonkey and adblock plus (recently added to try to address a different issue a few days ago and wasn't installed when the problem started) only scripts are HH auto and HH++, ++ is currently disabled since this issue started up since it initially seemed to help not having it running.