kolton / d2bot-with-kolbot

d2bot game manager by D3STROY3R with kolbot libs by kolton for d2bs
345 stars 332 forks source link

hc deaths with no indication in log + other issues #1045

Open DarkHorseDre opened 5 years ago

DarkHorseDre commented 5 years ago

So my level 5x pala died in nightmare with full res and enough life to survive anything.. I think there's an overall set of issues with the bots (standing still taking hits and not moving or attacking, crashes, rubber banding; attacking inefficiently (travi) etc) and those are probably the cause.

The screenshot shows the manager screen - no death update and tries to create games as if bot is alive.

so at the least there's a failure to register the death and also to realise there was a death after the fact.

As it stands I don't know what killed the pala or when. I know ping or bandwidth is not a factor. Makes me wonder if its worth doing hell if bot can die so easily.. This is not my first death this ladder either. Had a soso kick the bucket twice too QQ.

anyone else found issues with premature/needless death? any ideas?

d2 - death

Classic HC Ladder, Limedrop branch, updated couple weeks ago :)

semirotta commented 5 years ago

But the life chicken says you left with 58hp, how on earth you "died" in it? Should not have died. Should have been left with 58hp. Also I have noticed that especially on act3 (Travi for example) happens a lot that the bot just sits at one point taking dmg like tons, getting merc killed and not going to get it back and doing this as long as possible, then its almost dead or died -> makes new game. I have encountered this many times and only way to "fix" it has been to .stop and .start to re-start the whole bot to run from start. And on top of this there are tons of crash issues which have no fixing by the user itself. Got to wait for updates :)

DarkHorseDre commented 5 years ago

But the life chicken says you left with 58hp, how on earth you "died" in it?

Exactly. There's a chance it didn't die then but afterwards, but then when did it die? and why not updated in the manager?

Also I have noticed that especially on act3 (Travi for example)

Yep - and when it has pathing problems (usually in confined places like tower or ancient tunnels) it just stands still when nothing is blocking or indeed when surrounded by mobs. it is supposed to path away or kill mobs if it cannot, but I've seen the bot just stand there then tp to town, quitting the script, or life chicken! Seems it is not always doing what it should or anything at all. ofc with tele it just teles away, but I'm playing a pala in classic hc. Then again, my soso follower has tele disabled as she doesn't have mana and gear to truly tele with impunity.

DarkHorseDre commented 5 years ago

ps - all the failures i included are where the bot cannot move - usually due to mobs being in the way, but sometimes just due to inability to path through the confined levels. Duriel is a classic - just get through tomb, go through wall. nope, just fails most of the time.

crackedsash commented 5 years ago

Whats your chicken settings at? Im guessing you need to up them...

I have been botting 8 chars continueosly this ladder and have yet to die. Had a few close calls leaving with lower than 30% hp.

I assume you have a blank ghost char and not the regular death char? To me it looks like bot quit at 58hp but it just takes a slight delay in the quitting and one small hit to lose that last hp.

I assume u have set the chicken to 30-40% range? Thats way too low for hc i think. My settings are 65% and it hardly chickens, but it allows me to survive eveb with a small delay after the bot chixkens and char still in game for a millisec. the cost of death is much higher here than the cost of bot quitting x amount of games..

Hope this helped, a bit of rambeling here... oh and everything i know is coined at a lod char so i might be a bit of when it comes to optimal chicken % in classic

DarkHorseDre commented 5 years ago

My chicken is fine - doesn't usually chicken at all when all is working correctly. I have pots and buffers and belt and rejuv drinking set so that chicken should not be needed.

The problem is the bot isn't doing what it should be - standing and taking hits for no reason isnt a config option! neither is getting stuck and not attacking! When I play manually with the bot with same settings it never chickens as I play sensibly.

oh and everything i know is coined at a lod char so i might be a bit of when it comes to optimal chicken % in classic

Well the main issue is that in classic only soso can tele. this is handled in the code, but I think the walking algos are off. the bot is getting stuck more these days and isnt attacking when surrounded. Ive watched him take shots for minutes whilst stationary instead of killing what is surrounding him. other times he does just that. (the issue with quitting when blocked too quickly is something I am working on).

I assume you have a blank ghost char and not the regular death char?

Yes! I wondered about that - what does no ghost avatar mean? I assumed I was dead as I cant join or create games :)

My chicken is like 15%! I stagger each level with enough time buffer for pots to take effect: Drink health --> drink rejuv --> chicken. It should rarely need to drink rejuv, and rarely does. 15% of 1900 life is more than 58!

I disabled town healing as bot would get killed trying to walk/tp to/through tp ffs.

30-40% chicken would mean bot would live and drink many more pots, but quit games unnecessarily and also get temp banned. fixing the issues would mean none of this would be necessary and less deaths.

I just need help identifying the various issues here. I think I have seen posts eluding to the various contributing factors..

noah- commented 5 years ago

Likely you died server side, but this is obviously a bug. If a hc character is dead it should not continue to try to create game.

crackedsash commented 5 years ago

Like Noah is saying death was server side.

Anyway 15% chicken so 135 hp on ur pala char, regardless of this situation if ur char is hit down to 140 hp the next strike in NM can easily take 140+ hp causibg instant death with chicken... so with a desync on serverside this could kill you in the future... you either need to Get more hp, up your chicken or increase gametime or more CD keys... 15% will not cut it for hc is my experience.

DarkHorseDre commented 5 years ago

@noah- thanks Noah. I would also highlight the many fail to move errors (many more were experienced but couldn't fit in the screenshot). Seems to be more than the number experienced 6 months or so ago.

@crackedsash there definitely is an issue with bot behaviour. Mainly because life is sufficient with full res at this difficulty. proven by how I play with the same toons, same gear, same difficulty, same chicken settings but without any near deaths, and 1 other thing - lets call that issue 1. before that:

Anyway 15% chicken so 135 hp on ur pala char

No, 15% of 1900 is 285. That said, 135 and 285 is more than enough if the bot actually exits when it hits this number (even considering damage taken within that second or so) on this difficulty level and area - and often it has not: issue 2.

To backup my claims, My soso with crappy gear and tele and 600 life (it had been running 24 hours unattended since pala RIP) just pwned travi as I read these responses last night. Do you know why? it plays differently. Casting blizz at 2k vs hammers at 2k but with tele for distance and coding which is clearly more capable than the non tele movements. She should be dead by your reckoning and given the pala is dead. Fair enough she may not have experienced desync/whichever issue, but she still is prone to taking hits, and we all know the soso attack sequence isnt perfect (i.e. be a dancing/kiting queen).

you either need to Get more hp I totally disagree. Almost 2k hp (via BO) at that level on NM is more than the game expects as a minimum. No CTA and not everyone has a BO barb/multi account. When I first started playing this game I had 1 CD key and I could solo hell like everyone else - Blizz intended the game to play this way with BO barbs as a team bonus and not a standard, bot should be able to cope too. If this were Hell, I would totally agree with you - this is my issue: I avoided hell to level in nm to ensure I had the gear and hp/block/dam red. to survive hell. I would play it manually first to ensure I had the right chicken and other config settings.

up your chicken

I agree given that I cannot predict server issues, but if you suggest for other deaths at this difficulty then I think that is quite high and I'd say the bot needs to do better. Remember that I should start every script with near full health (Config.HealHP = 95) be able to move to get out of trouble, failing that drink hp (pickit pots to ensure I always have them mid-script), failing all of that drink a rejuv Config.UseRejuvHP = 30; (usually has 7 at any time), kill/move to safety. 30% chicken is insane. I would never quit a game when playing manually when on 30% life unless it was a viper or doll pack! even then, I usually can move to safety. (yes, a dsync right then is an invitation to a funeral)

gametime

gametime is fine no R/D when all works as expected as it is 5mins or so - there's an issue I haven't identified yet where the client stops responding then R/D.. it has happened when I observe without touching, or click the window, or pause/unpause (there is a massive issue with pausing causing all sorts of strange behaviour which usually leads to current script failing, bot attempting next/previous script, bot not pausing).

15% will not cut it for hc is my experience.

Don't get me wrong, I am pushing for more clarity here but I totally believe that it currently needs to be higher - but my previous comments are essentially saying that it shouldn't need to in most circumstances (barring server side issues we cannot control) with such a large life pool (when my life is lower, my chicken % is higher depending on areas and difficulty).

TL:DR: Issue 1: Walking toons do not path or resolve mob blocks well. Also idles without reason taking hits (if I clear/move manually it still doesn't move). Tele toons fair better than non tele which cannot be solved by enigma in classic. issue 2: During 'idle' periods, bot does not revive merc or other actions it should. its essentially unresponsive. issue 3: Chicken may not always exit at right hp level (excluding server side crashes/dsyncs).
bot stands around taking hits (usually walking toons, but also tele toons). . Issue 4: QQ

crackedsash commented 5 years ago

Have a bit time constraint so going to be a bit short. Hmm, Yes i agree with 1900hp with bo 15% should probably be enough for nm. I just assumed u were running Without bo with 8xx hp judging from log? I guess ur bo ran out or am i missing Something? Atleast i was assuming u had 880ish hp and that for example a conv travi with CE could blow up more than 15% hp, but i might be wrong if ur res is Stacked good.

Overall i think your sorc will survive longer atleast against NM travi just based on the fact that she is less prone to a desync hard hit from for example CE or Whatever because of the distance.

DarkHorseDre commented 5 years ago

Thanks bro, true, I did mention the life but not that it was via bo, and i didn't notice the life in log, soz. Bo must have worn off (another indication character is isolated and away from pack for too long! (barb precasts as he enters tp and if needed so leader usually benefits, but not always))

tbh tho the builds weren't great so I wont argue the toss - the res was stacked past 75 and have no probs before for a week or so - they levelled from 4x to 5x doing travi, which is why the death was so unexpected (if it was SC I would have taken them to hell already as they would level fast and get drops),

so the sorc has been running as leader since - and now level 64 in nm! This kinda proves the discrepancy as she has 6xx life and barb died lol (gave him ww and he died same day, doh!).

But I'll stop there as I don't have any new evidence. Would need to identify the pathing/stuck issues or actual death situation to go further.

@noah- to add to the bug identified earlier re: trying to create game after death: After I stopped profile, deleted char, recreated in same name (to reuse the config) the manager detects the death and displays xp loss. For hc we don't need xp loss and is there a way to detect the death earlier? seems it could have detected it when the dead toon was still present in ghost form, when trying to create games?? image

ben11h2006 commented 5 years ago

I only play hardcore, so I can tell you this through many years of experiences: if your chicken is under 60% on hardcore, anything that could possibly happen, will indeed [eventually] happen. I have my health potion at 96%, my rejuv at 77%, and my life chicken is at ~65%. Even with this setting, on extremely rare occasions, sometimes I'd come back to see an invisible character that couldn't make games, and was obviously dead. I haven't had a death in almost 8 years now (manually playing + botting), so perhaps my chicken is set way too high, but you know what? It works for me. The bot still almost NEVER even has to chicken from a game, lol.

TL:DR - HC botting is dangerous no matter what. If you're itching to do it, play it on the very safe side, unless you do not care about that character dying. 👍

DarkHorseDre commented 5 years ago

@ben11h2006 if you're speaking about Hell, that's obvious. if you're telling me I need chicken of 60-65% in NM (as per OP and the topic here) then I strongly disagree.

That said, we've already covered this ground, and I've conceded that server side/non local issues will happen so HC botting cant be 100% safe, but I have accepted and manage that risk and have done for over 10 years,

TL:DR - the bot can and will do better. it does not play as sensibly as we do.

semirotta commented 5 years ago

Botting especially on HC is really dangerous. The bot tends to stand in piles of enemies when it tries to kill an elite even though it has not turned into "kill elite first" or "only elite". Its weird sometimes. On hardcore imo chicken 65 or even higher is needed. Most likely still dies eventually at some point, sometimes the mobs just hit hard in group.

DarkHorseDre commented 5 years ago

@semirotta Agreed its dangerous, moreso with how this bot engages, and due to poor d/c, rollback and other issues.

But bro, you're talking about Hell, this post is about a death in NM. When's the last time you played NM properly as a kiting class and died?

ultimately there are things that can be done to improve the bot side of this issue. botting in NM is a good test: if it dies when NOT due to faults in NM, then its pretty bad.

Fixing the precast issue will be a massive step in improving things. Fixing the other issues you mention also. This is the point. (yes, after improving every aspect from the playing side, the bot will still die at times, but it will be far rarer, especially in Nightmare).

ben11h2006 commented 5 years ago

@DarkHorseDre As far as I see it, no matter how amazing your gear is, regardless of difficulty (Let's not forget the FE bug is more prominent in nightmare!) and everything else taken into consideration, you can just as easily die in nightmare, and I've even seen cases of people dying in normal on fully geared enigma hdins (to succubi type enemies on a lag spike, or he went afk a second, I don't recall exactly).

Point I'm trying to make though is simple ~ even if botting on normal difficulty, on a high level and fully geared character on hc, you really need to set higher chicken values to give the bot a bit of a cushion to fall back on, due to many instances of server-side issues as well as the odd client-side ones as well.

Anyway, my apologies for sounding like a broken record and rambling. I'm not trying to come across as rude or an "elitist", I just wanted to share what I've seen happen many times before, and want to try to prevent anything from happening to you. ^_^

Cheers, Ben

DarkHorseDre commented 5 years ago

lol yeah, both sides of the argument have been made and I already agreed that 100% safety is impossible (and that higher chicken is needed); I'm talking about improvement and ambition - I can play MUCH better than the bot which means it can do better (plus there are glitches making things worse): if we shrug our shoulders and say it can't be improved and should work around it, why bother have github?!

and I thought the FE bug was fixed in Bnet (not SP)?

DarkHorseDre commented 5 years ago

Just an update via testing on #1050 et al: After working around the BO/precast issues and forcing a few in mfhelper, I've had 1 chicken in a few hundred runs, which is vast improvement.

Running without BO was one of the main issues.

Last/main remaining issue I see is the bots randomly stopping: no movement or attacks. sometimes when blocked and sometimes not.

I had a life chicken at 1 life of 2438 from itchies (low damage) when chicken threshold was 40%. It probably was stood there for a while taking damage. It should have quit a long time before but did not and could have died..

These are not issues we encounter when playing manually ofc.

image

crackedsash commented 5 years ago

@DarkHorseDre recently this 1/2438 life chickens occurs for me too but only for my druid. I have still not seen it in action so I dont know what the bot is really doing. Have you found a possible fix for this?

DarkHorseDre commented 5 years ago

so I witnessed the bot trying to get into tp which was blocked and also bugged (where tp opens away from you). bot was not attacking to clear path to tp and was not monitoring for chicken either. if I didnt intervene I'm not convinced it would have quit game in time.

Also saw bot get stuck in other ways and not chicken.

defo an issue with bot stuck on one part of script and not monitoring chicken or other controls.

crackedsash commented 5 years ago

Hmm, i Wonder why it manages to quit at 1 hp. Its like it gets poisoned when going to town then not healing at npc for whatever scripterror and then reentering tp and autochickens when takling the tp back to far oasis bexause of the low hp?

This error only happens to me in a2

DarkHorseDre commented 5 years ago

Yeah act 2 seems to be an issue. Mine has quest bug where it cant enter tp from arcane onward. problem is you hear follower with "I cant" "impossible" as it cant enter tp.

mfhelper says 'try 5 times with a second delay to enter tp and stop' but it tries way more than that..

Mine get poisoned and wait in town for next command - but poison duration is never enough to cause a problem.

from what Ive seen the bot doesnt chicken at threshold. 1/xxxx is way too low and may be a hard limit? either way config.chicken is not being used.

DarkHorseDre commented 5 years ago

Just to add, I saw this today: image

..but bot wasn't dead! Not sure what this is. client thought I was dead and server didn't?

crackedsash commented 5 years ago

Have experienced this a few times but got no clue what is happening...

semirotta commented 5 years ago

A lot of weird shit happening these days. Crash Info: Script: Baal Area: Stony Field <-- I just had this, how the hell I can be in baal area but still be in stony field?

DarkHorseDre commented 5 years ago

A lot of weird shit happening these days. Crash Info: Script: Baal Area: Stony Field <-- I just had this, how the hell I can be in baal area but still be in stony field?

lol yeah but my report relates to the other bug Noha has logged - it could be an easy or at least a related fix.. That area stuff I'm looking at now in mfhelper - follower cant track leader in all scenarios so gets out of sync. if thats your leader doing that - uff!

semirotta commented 5 years ago

I only have one character running, own one key. Last night once again was one of those nights when nothing got done: all the time life chicken or crash. Its weird how some days the bot works fine, the other days its complete crap and manages only to crash and life chicken. :'D