mrmin123 / kancolle-auto

Kantai Collection (Kancolle) bot/automation tool - DEPERECATED - see kcauto-kai:
https://github.com/mrmin123/kcauto-kai
54 stars 22 forks source link

Resupplying/redeploying expeds taking too long? #124

Closed mintgreenrose closed 8 years ago

mintgreenrose commented 8 years ago

Just started using this, and Inoticed someting a bit unusual about how expeds are apparently handled:

Config:

[General]
# The program/window name of your Kancolle container. Examples include Google Chrome,
# Firefox, KanColleViewer!, KanColleTool Viewer, Electronic Observer, etc...
Program: Google Chrome

# Which built-in recovery method to use when you get catbomb'ed. Valid options are Browser,
# KC3, KCV, KCT, and EO
RecoveryMethod: KC3

# Your machine's timezone's difference to JST in full hours. Relevant to the Quests and PvP
# modules.
JSTOffset = 0

# How often kancolle-auto should be checking for timers, specified in full seconds. Default is 20.
# If you want kancolle-auto to be faster and more responsive to timers (deal with expeditions the
# moment they return, deal with repairs the moment they end, etc), lower this value. If you want
# to make the script more 'slow', perhaps for bot-detection purposes, raise this value.
SleepCycle = 1

# Specifies the desired # of menus to randomly walk through. If youdon't like how
# the script takes a winding path to a particular screen, lower this or set it to 0.
Paranoia = 0

# If you have a slow computer/network connection, you may encounter frequent FindFailed
# errors. increase this value to increase the length of all sleep/wait timers to avoid this.
SleepModifier = 1

# Set to True if you want kancolle-auto to automatically sleep/pause at set times.
ScheduledSleepEnabled = False

# The scheduled sleep/pause start 'window'. Specify, in military time, a period of around 30
# minutes for when you want the scheduled sleep/pause to start.
ScheduledSleepStart1 = 0030
ScheduledSleepStart2 = 0100

# How long you want kancolle-auto to sleep, in hours (decimals are OK).
ScheduledSleepLength = 3.5

[Expeditions]
# Set to True if you want kancolle-auto to run expeditions; False if not.
Enabled: True

# Define which Expedition a fleet should go on. If you do not have a Fleet unlocked
# or you don't want it to run an expedition, just leave its value blank.
Fleet2: 2
Fleet3: 21
Fleet4: 5

output:


←[94m[2016-02-18 20:42:44] Next action at 2016-02-18 21:10:15←[0m

←[94m[2016-02-18 21:10:16] Checking for return of expedition 2←[0m
←[94m[2016-02-18 21:10:16] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-18 21:10:31] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(183,294)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:10:38] At Home!←[0m
←[94m[2016-02-18 21:10:38] Are there returning expeditions to receive?←[0m
[log] CLICK on L(378,328)@S(0)[0,0 1024x768]
[log] CLICK on L(455,473)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:10:56] Yes, fleet 4 has returned!←[0m
[log] CLICK on L(799,153)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:11:06] Are there returning expeditions to receive?←[0m
←[94m[2016-02-18 21:11:09] No, no fleets to receive!←[0m
←[94m[2016-02-18 21:11:09] Lets resupply fleets!←[0m
←[94m[2016-02-18 21:11:13] Navigating to resupply screen with 0 sidestep(s)!←[0m

[log] CLICK on L(186,305)@S(0)[0,0 1024x768]
[log] CLICK on L(346,181)@S(0)[0,0 1024x768]
[log] CLICK on L(233,181)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:11:30] Done resupplying!←[0m
←[94m[2016-02-18 21:11:30] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-18 21:11:45] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(178,287)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:11:51] At Home!←[0m
←[94m[2016-02-18 21:11:51] Are there returning expeditions to receive?←[0m
←[94m[2016-02-18 21:11:54] No, no fleets to receive!←[0m
←[94m[2016-02-18 21:11:54] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[92m[2016-02-18 21:12:02] At Home!←[0m
←[94m[2016-02-18 21:12:02] Checking for returning expeditions!←[0m
←[94m[2016-02-18 21:12:02] Are there returning expeditions to receive?←[0m
←[94m[2016-02-18 21:12:06] No, no fleets to receive!←[0m
←[94m[2016-02-18 21:12:07] Navigating to expedition menu with 0 sidestep(s)!←[0m

[log] CLICK on L(300,293)@S(0)[0,0 1024x768]
[log] CLICK on L(747,277)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:12:20] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-18 21:12:36] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(174,304)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:12:42] At Home!←[0m
←[94m[2016-02-18 21:12:42] Are there returning expeditions to receive?←[0m
←[94m[2016-02-18 21:12:45] No, no fleets to receive!←[0m
←[94m[2016-02-18 21:12:46] Navigating to expedition menu with 0 sidestep(s)!←[0m

[log] CLICK on L(348,328)@S(0)[0,0 1024x768]
[log] CLICK on L(834,344)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:12:58] Let's send an expedition out!←[0m
[log] CLICK on L(276,254)@S(0)[0,0 1024x768]
[log] CLICK on L(776,499)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:13:07] Trying to send out fleet 2 for expedition 2←[0m
←[94m[2016-02-18 21:13:10] Checking expedition fleet status!←[0m
←[93m[2016-02-18 21:13:14] Fleet 2 needs resupply!←[0m
[log] CLICK on L(144,280)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:13:15] Lets resupply fleets!←[0m
[log] CLICK on L(292,182)@S(0)[0,0 1024x768]
[log] CLICK on L(230,178)@S(0)[0,0 1024x768]
[log] CLICK on L(346,178)@S(0)[0,0 1024x768]
[log] CLICK on L(229,185)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:13:39] Done resupplying!←[0m
←[94m[2016-02-18 21:13:39] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-18 21:13:56] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(185,302)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:14:03] At Home!←[0m
←[94m[2016-02-18 21:14:03] Are there returning expeditions to receive?←[0m
←[94m[2016-02-18 21:14:06] No, no fleets to receive!←[0m
←[94m[2016-02-18 21:14:07] Navigating to expedition menu with 0 sidestep(s)!←[0m

[log] CLICK on L(340,350)@S(0)[0,0 1024x768]
[log] CLICK on L(708,316)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:14:19] Let's send an expedition out!←[0m
[log] CLICK on L(320,268)@S(0)[0,0 1024x768]
[log] CLICK on L(797,517)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:14:27] Trying to send out fleet 2 for expedition 2←[0m
←[94m[2016-02-18 21:14:31] Checking expedition fleet status!←[0m
[log] CLICK on L(761,513)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:14:39] Expedition sent!: Expedition 2 (ETA 2016-02-18 21:43:
54)←[0m
←[94m[2016-02-18 21:14:43] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-18 21:15:00] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(182,343)@S(0)[0,0 1024x768]
←[92m[2016-02-18 21:15:05] At Home!←[0m
←[94m[2016-02-18 21:15:05] Are there returning expeditions to receive?←[0m
←[94m[2016-02-18 21:15:08] No, no fleets to receive!←[0m
←[94m[2016-02-18 21:15:09] Navigating to expedition menu with 0 sidestep(s)!←[0m

[log] CLICK on L(310,364)@S(0)[0,0 1024x768]
[log] CLICK on L(740,185)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:15:20] Let's send an expedition out!←[0m
[log] CLICK on L(507,355)@S(0)[0,0 1024x768]
←[94m[2016-02-18 21:15:32] Got valid timer (00:57:06)!←[0m
←[93m[2016-02-18 21:15:32] Expedition is already running: Expedition 5 (ETA 2016
-02-18 22:12:32)←[0m
←[94m[2016-02-18 21:15:32] Next action at 2016-02-18 21:43:54←[0m

it takes around 5 minutes to redo exped 2 for buckets, just wondering if it's really like that or a bug, thanks!

mrmin123 commented 8 years ago

Receiving, resupplying, and re-sending expeditions shouldn't take that long, even with Paranoia set to above 0.

Looking at the logs there's some weird behavior with Fleet 4 being received, then it goes to the Expedition menu, doesn't send out Expedition 4 after resupply, goes back home, then tries to send out Fleet 2 instead, which hasn't been resupplied (was it ever received??), resupplies it, sends it out, then tries to send out Fleet 4?

Does the above behavior reflect what you're seeing in-game?

My first question would be, do your fleets have the default names, or modified?

mintgreenrose commented 8 years ago

Ah, yeezus.... seems like the fleet name on Fleet 2 was changed to Fleet 4, and I have no idea (or likely forgot) how that happened. After fixing it, it's now down to 3 minutes. I think it's still a long time though considering doing it manually takes less than a minute, and that the paranoia setting is set to zero, so I was wondering if there might be anything more that I can do to make it faster. Thanks!

←[94m[2016-02-19 15:25:48] Next action at 2016-02-19 15:30:08←[0m

←[94m[2016-02-19 15:30:10] Checking for return of expedition 2←[0m
←[94m[2016-02-19 15:30:10] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-19 15:30:27] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(175,338)@S(0)[0,0 1024x768]
←[92m[2016-02-19 15:30:34] At Home!←[0m
←[94m[2016-02-19 15:30:34] Are there returning expeditions to receive?←[0m
[log] CLICK on L(790,381)@S(0)[0,0 1024x768]
[log] CLICK on L(747,491)@S(0)[0,0 1024x768]
←[92m[2016-02-19 15:30:46] Yes, fleet 2 has returned!←[0m
[log] CLICK on L(660,130)@S(0)[0,0 1024x768]
←[94m[2016-02-19 15:30:55] Are there returning expeditions to receive?←[0m
←[94m[2016-02-19 15:30:58] No, no fleets to receive!←[0m
←[94m[2016-02-19 15:30:58] Lets resupply fleets!←[0m
←[94m[2016-02-19 15:31:02] Navigating to resupply screen with 0 sidestep(s)!←[0m

[log] CLICK on L(159,300)@S(0)[0,0 1024x768]
[log] CLICK on L(287,177)@S(0)[0,0 1024x768]
[log] CLICK on L(234,186)@S(0)[0,0 1024x768]
←[92m[2016-02-19 15:31:22] Done resupplying!←[0m
←[94m[2016-02-19 15:31:22] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-19 15:31:37] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(194,340)@S(0)[0,0 1024x768]
←[92m[2016-02-19 15:31:43] At Home!←[0m
←[94m[2016-02-19 15:31:43] Are there returning expeditions to receive?←[0m
←[94m[2016-02-19 15:31:46] No, no fleets to receive!←[0m
←[94m[2016-02-19 15:31:46] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[92m[2016-02-19 15:31:55] At Home!←[0m
←[94m[2016-02-19 15:31:55] Checking for returning expeditions!←[0m
←[94m[2016-02-19 15:31:55] Are there returning expeditions to receive?←[0m
←[94m[2016-02-19 15:31:58] No, no fleets to receive!←[0m
←[94m[2016-02-19 15:31:59] Navigating to expedition menu with 0 sidestep(s)!←[0m

[log] CLICK on L(347,279)@S(0)[0,0 1024x768]
[log] CLICK on L(762,356)@S(0)[0,0 1024x768]
←[94m[2016-02-19 15:32:11] Focus on KanColle!←[0m
[log] App.focus Google Chrome(0) #0
←[94m[2016-02-19 15:32:27] Going home with 0 or less sidestep(s)!←[0m
[log] CLICK on L(194,335)@S(0)[0,0 1024x768]
←[92m[2016-02-19 15:32:32] At Home!←[0m
←[94m[2016-02-19 15:32:32] Are there returning expeditions to receive?←[0m
←[94m[2016-02-19 15:32:35] No, no fleets to receive!←[0m
←[94m[2016-02-19 15:32:36] Navigating to expedition menu with 0 sidestep(s)!←[0m

[log] CLICK on L(321,302)@S(0)[0,0 1024x768]
[log] CLICK on L(876,260)@S(0)[0,0 1024x768]
←[94m[2016-02-19 15:32:48] Let's send an expedition out!←[0m
[log] CLICK on L(326,271)@S(0)[0,0 1024x768]
[log] CLICK on L(813,490)@S(0)[0,0 1024x768]
←[94m[2016-02-19 15:32:57] Trying to send out fleet 2 for expedition 2←[0m
←[94m[2016-02-19 15:33:00] Checking expedition fleet status!←[0m
[log] CLICK on L(680,516)@S(0)[0,0 1024x768]
←[92m[2016-02-19 15:33:08] Expedition sent!: Expedition 2 (ETA 2016-02-19 16:02:
23)←[0m
←[94m[2016-02-19 15:33:13] Next action at 2016-02-19 16:02:23←[0m
mrmin123 commented 8 years ago

I just checked the time for attempting to send an expedition, finding that it was not resupplied, resupply it, and send it out, and that took around 2 minutes with default Paranoia. Not a huge difference, but your results are a bit slower than what I'd expect.

The strength of your machine might have an impact since Sikuli and kancolle-auto relies on image matching on the screen to operate. A beefier rig would make it run a bit faster, although I don't know what the point of diminishing returns are.

Beyond that, the script does operate a bit slowly since it was designed more with consistency in mind (being able to continue off from almost any screen in-game, deal with any number of expeditions that might come in in the middle of any sequence of actions, etc... this stuff is actually where most of the delays come from). You can leave it running for days without touching it and it'll (for the most part) work the whole way through. If you need the most # of the expeditions run in a short time period kancolle-auto may not be the best tool for the job, although you could probably recover some seconds by manually reducing some of the sleep() timer lengths in the script.

Hope this helps!

mintgreenrose commented 8 years ago

Hmm , well this is on a Core 2 Duo E8400 with 4GB DDR2 so the upgrade idea might make sense, i will load this up on an i7 and see if that indeed helps. For now this will do, Thanks again!