hectorgimenez / koolo

Diablo II Resurrected bot written in Go
MIT License
72 stars 48 forks source link

possible to Add clearArea for any TZ? or any listed zone really #179

Closed divineblade7 closed 3 months ago

divineblade7 commented 4 months ago

Tried adding clearArea: true under the Tz section but it just makes it error out. is this easy to implement?

Thank you!

divineblade7 commented 4 months ago

at the time i believe it was arcane sanctuary, i could not pin point that log, but i tried again during andariel TZ and it errored a few times with this:

time=2024-04-29T16:11:25.694-07:00 level=WARN msg="Game finished with errors, reason: fatal error detected, Koolo will try to exit game and create a new one: runtime error: invalid memory address or nil pointer dereference\n Stacktrace: goroutine 67 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x5e\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run.func2()\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:72 +0x3d\npanic({0xe30a80?, 0x13f05f0?})\n\truntime/panic.go:770 +0x132\ngithub.com/hectorgimenez/koolo/internal/action.(*StepChainAction).NextStep(_, {{{0x57e4, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc0003c1208, 0x14, 0x23}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_step_chain.go:33 +0x1d\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run(0xc000556500, {0xffcd70, 0xc0002581e0}, 0x0, {0xc0003100b0, 0x1, 0x1})\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:158 +0x19b5\ngithub.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start.func1()\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:70 +0x27f\ncreated by github.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start in goroutine 22\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:44 +0x188\n. Game total time: 142.43s" supervisor=Doom time=2024-04-29T16:12:00.035-07:00 level=ERROR msg="Error creating new game: error creating game! Timeout"

divineblade7 commented 4 months ago

Here is another from same Terror Zone in new game

time=2024-04-29T16:26:41.000-07:00 level=WARN msg="Game finished with errors, reason: fatal error detected, Koolo will try to exit game and create a new one: runtime error: invalid memory address or nil pointer dereference\n Stacktrace: goroutine 67 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x5e\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run.func2()\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:72 +0x3d\npanic({0xe30a80?, 0x13f05f0?})\n\truntime/panic.go:770 +0x132\ngithub.com/hectorgimenez/koolo/internal/action.(*StepChainAction).NextStep(_, {{{0x57e4, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc0003c0908, 0x13, 0x23}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_step_chain.go:33 +0x1d\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run(0xc000556500, {0xffcd70, 0xc0002581e0}, 0x0, {0xc00150a0c0, 0x1, 0x1})\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:158 +0x19b5\ngithub.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start.func1()\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:70 +0x27f\ncreated by github.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start in goroutine 22\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:44 +0x188\n. Game total time: 159.67s" supervisor=Doom

divineblade7 commented 4 months ago

Is it possible to add clear area for selectable zones? or just a selectable option like there is for some of the zones settings?

divineblade7 commented 4 months ago

time=2024-04-29T16:32:04.609-07:00 level=DEBUG msg="Clearing TZ area" area=34 time=2024-04-29T16:32:04.609-07:00 level=DEBUG msg="Destination area not found" area=34 time=2024-04-29T16:32:04.719-07:00 level=WARN msg="Game finished with errors, reason: unrecoverable error occurred, game can not continue: attempt limit reached on step: InteractEntranceStep: area 34 not found. Game total time: 50.89s" supervisor=Doom

Looks like here it couldnt find catacombs level 1 from cathedral.

divineblade7 commented 4 months ago

Ok I'll pull latest changes. Thanks. I'll see if it still does the clear area or not. I'll keep an eye for the interact error as well to see if it occurs more.

divineblade7 commented 4 months ago

Haven't seen the interactentrancestep since pulling latest, however now it seems stuck in a death loop, of creating a game in a5, and instant exit after. Done about 10 times so far. Act 2 seemed fine for the arcane sanctuary Terror Zone:

time=2024-04-29T20:09:14.572-07:00 level=WARN msg="Game finished with errors, reason: fatal error detected, Koolo will try to exit game and create a new one: Area destination is not mapped on WayPoint Action (waypoint.go)\n Stacktrace: goroutine 46 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x5e\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run.func2()\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:73 +0x3d\npanic({0x12efc40?, 0x14e70c0?})\n\truntime/panic.go:770 +0x132\ngithub.com/hectorgimenez/koolo/internal/action.(*Builder).openWPAndSelectTab(_, _, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc0002ba000, 0x3, ...}, ...}, ...})\n\tgithub.com/hectorgimenez/koolo/internal/action/waypoint.go:38 +0x405\ngithub.com/hectorgimenez/koolo/internal/action.(*Builder).WayPoint.func1({{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc0002ba000, 0x3, 0x4}, {0xc00147c008, ...}, ...}, ...})\n\tgithub.com/hectorgimenez/koolo/internal/action/waypoint.go:29 +0x69\ngithub.com/hectorgimenez/koolo/internal/action.(*Chain).NextStep(_, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc0002ba000, 0x3, 0x4}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_chain.go:33 +0x63\ngithub.com/hectorgimenez/koolo/internal/action.(*Chain).NextStep(_, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc0002ba000, 0x3, 0x4}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_chain.go:42 +0x17c\ngithub.com/hectorgimenez/koolo/internal/action.(*Chain).NextStep(_, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc0002ba000, 0x3, 0x4}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_chain.go:42 +0x17c\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run(0xc00043bb80, {0x14ee430, 0xc0006be1e0}, 0x0, {0xc000174280, 0x1, 0x1})\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:164 +0x199e\ngithub.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start.func1()\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:71 +0x27f\ncreated by github.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start in goroutine 39\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:45 +0x188\n. Game total time: 5.49s" supervisor=Doom

divineblade7 commented 4 months ago

There is no other debug info in the log for those games, its just that on repeat. So i cannot say what it was trying to do. If there is a way to turn on more verbose logging to show what it was doing im happy to do that, I just don't see any way to.

Bloody Foothills, Frigid Highlands, Abaddon was the TZ at that time. The character has every waypoint as well.

Normal runs enabled:

Hope that helps! Thanks.

divineblade7 commented 4 months ago

attempt limit reached on step: InteractEntranceStep does this happen all the time or just once? It can happen if your character is too far away from the entrance

Had another encounter with InteractEntranceStep while going into Maggot Lair, it was trying to get to level 2. it was right next to entrance with nothing blocking, and saw the mouse highlight the entrance. but couldnt get in.

time=2024-04-30T09:57:06.572-07:00 level=WARN msg="Game finished with errors, reason: unrecoverable error occurred, game can not continue: attempt limit reached on step: InteractEntranceStep: area 63 could not be interacted. Game total time: 136.80s"

divineblade7 commented 4 months ago

Where have you selected your bot to go? What's it trying to do when it errors out? Do you have the waypoint for where it wants to go?

Please provide as much information as possible so that we can review the issue and resolve it :)

@nullptr-ref tested this again during a bloody foothills, frigid, abadon tz. Endless loop of game create, and exit.

error log shows: time=21:57:40 level=WARN msg="Game finished with errors, reason: fatal error detected, Koolo will try to exit game and create a new one: Area destination is not mapped on WayPoint Action (waypoint.go)\n Stacktrace: goroutine 184 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x5e\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run.func2()\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:73 +0x3d\npanic({0xde7ce0?, 0x10dfff0?})\n\truntime/panic.go:770 +0x132\ngithub.com/hectorgimenez/koolo/internal/action.(*Builder).openWPAndSelectTab(_, _, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc00113d800, 0x3, ...}, ...}, ...})\n\tgithub.com/hectorgimenez/koolo/internal/action/waypoint.go:39 +0x405\ngithub.com/hectorgimenez/koolo/internal/action.(*Builder).WayPoint.func1({{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc00113d800, 0x3, 0x4}, {0xc000bb4008, ...}, ...}, ...})\n\tgithub.com/hectorgimenez/koolo/internal/action/waypoint.go:29 +0x5b\ngithub.com/hectorgimenez/koolo/internal/action.(*Chain).NextStep(_, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc00113d800, 0x3, 0x4}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_chain.go:33 +0x56\ngithub.com/hectorgimenez/koolo/internal/action.(*Chain).NextStep(_, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc00113d800, 0x3, 0x4}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_chain.go:47 +0x1dc\ngithub.com/hectorgimenez/koolo/internal/action.(*Chain).NextStep(_, {{{0x1388, 0x1388}, {0x0, 0x0, {0x0, 0x0}}, {0xc00113d800, 0x3, 0x4}, ...}, ...}, ...)\n\tgithub.com/hectorgimenez/koolo/internal/action/action_chain.go:47 +0x1dc\ngithub.com/hectorgimenez/koolo/internal.(*Bot).Run(0xc00011c140, {0x10e77c0, 0xc000718410}, 0x0, {0xc000266b00, 0x1, 0x1})\n\tgithub.com/hectorgimenez/koolo/internal/bot.go:164 +0x1955\ngithub.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start.func1()\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:71 +0x27f\ncreated by github.com/hectorgimenez/koolo/internal.(*SinglePlayerSupervisor).Start in goroutine 66\n\tgithub.com/hectorgimenez/koolo/internal/single_supervisor.go:45 +0x188\n. Game total time: 6.61s"

debug frame shows it detects all WPs, character has all wps, though error log shows area destination is not mapped on WayPoint Action. So either its looking for bloody foothills on waypoint or abadon when game is created before it moves as far as i can tell.

Hope that helps. Using commit: 19e86c14ee056ba5d29772dc1305b26e35181c79