“大舰队后勤”功能导致界面反复循环在“是否花费3000大舰队资金开启大舰队补给?”→“资源不够啦!”之间
Author: KnighthanaCreated Sep 8, 2026Updated Sep 8, 2026
Labelsbug / 缺陷
在提问之前...
- 我已经搜索了现有的 issues
- 我在提问题之前至少花费了 5 分钟来思考和准备
- 我已经阅读了 Wiki 中的 常见问题(FAQ)
- 我正在使用最新版的 Alas
描述你的问题
身为司令且舰队币不足时,“大舰队后勤”功能中领取大舰队补给的模块导致界面反复循环在“是否花费3000大舰队资金开启大舰队补给?”→“资源不够啦!”之间,并且无法找到途径关闭此项“领取补给”功能;
如何复现
- 身为大舰队司令或者副司令;
- 舰队币少于3000,且没有正在生效的大舰队补给;
- 勾选ALAS“收获”中的“大舰队”功能的“启用该功能”和“启用大舰队后勤”
- 然后每天刷新时,ALAS就会:
- 前往 '大舰队'
- 点击 '后勤'
- 点击 '购买补给'
- 弹出询问“是否购买大舰队补给”的提示;
- “资源不够啦!”
- 继续点“购买补给”
- 资源不够啦
- 尝试重启
- 尝试购买大舰队补给
- 资源不够啦
- 需要用户介入
预期行为
1 首先这个功能会导致死循环,直接破坏ALAS的自动循环; 2 其次,对于经济不是很好的大舰队,默认每次直接购买大舰队补给的行为会导致没钱开大舰队作战; 3 界面没有任何开关可以单独关闭大舰队补给的功能; 4 如果关闭大舰队功能,会无法使用物资筹备为舰队添加舰队币,本就破产的大舰队经济雪上加霜。
(现在连5000币都没有了,本月的下一次大舰队作战咋办呀…………………………)
相关 Logs
═══════════════════════════════════════════════════════════════════════════════════
GUILD
═══════════════════════════════════════════════════════════════════════════════════
INFO 20:13:56.149 │ <<< UI ENSURE >>>
INFO 20:13:56.150 │ UI get current page
INFO 20:13:56.185 │ [UI] page_meowfficer
INFO 20:13:56.186 │ Goto page_guild
INFO 20:13:56.189 │ <<< UI GOTO PAGE_GUILD >>>
INFO 20:13:56.207 │ Page switch: page_meowfficer -> page_main
INFO 20:13:56.209 │ Click ( 41, 22) @ MEOWFFICER_GOTO_DORMMENU
INFO 20:13:56.334 │ Click (1025, 672) @ GET_SHIP
INFO 20:13:56.875 │ Page switch: page_main_white -> page_guild
INFO 20:13:56.877 │ Click (1154, 694) @ MAIN_GOTO_GUILD_WHITE
INFO 20:13:57.475 │ Page arrive: page_guild
═══════════════════════════════════ GUILD LOBBY ═══════════════════════════════════
INFO 20:13:57.477 │ GUILD LOBBY
INFO 20:13:59.086 │ Guild lobby collect finished
═════════════════════════════════ GUILD LOGISTICS ═════════════════════════════════
INFO 20:13:59.088 │ GUILD LOGISTICS
INFO 20:13:59.090 │ GUILD_SIDE_NAVBAR set to right=3 bottom=3
INFO 20:13:59.094 │ Nav item active: 0 from range (0, 5)
INFO 20:13:59.095 │ Click ( 56, 442) @ GUILD_SIDE_NAVBAR_0_3
INFO 20:13:59.286 │ Nav item active: 3 from range (0, 5)
INFO 20:13:59.287 │ <<< GUILD LOGISTICS >>>
INFO 20:13:59.288 │ [Guild master/official] True
INFO 20:13:59.302 │ Guild supply button active
INFO 20:13:59.303 │ Click (1142, 646) @ GUILD_SUPPLY
INFO 20:13:59.692 │ Click ( 789, 526) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:13:59.888 │ Guild supply button active
INFO 20:14:00.089 │ Guild supply button active
INFO 20:14:00.091 │ Click (1148, 626) @ GUILD_SUPPLY
INFO 20:14:01.698 │ Click ( 775, 516) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:14:01.900 │ Guild supply button active
INFO 20:14:02.101 │ Guild supply button active
INFO 20:14:02.102 │ Click (1177, 646) @ GUILD_SUPPLY
INFO 20:14:03.712 │ Click ( 792, 520) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:14:03.913 │ Guild supply button active
INFO 20:14:04.114 │ Guild supply button active
INFO 20:14:04.115 │ Click (1153, 641) @ GUILD_SUPPLY
INFO 20:14:05.726 │ Click ( 775, 503) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:14:05.927 │ Guild supply button active
INFO 20:14:06.129 │ Guild supply button active
INFO 20:14:06.130 │ Click (1124, 654) @ GUILD_SUPPLY
INFO 20:14:07.737 │ Click ( 807, 501) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:14:07.940 │ Guild supply button active
INFO 20:14:08.142 │ Guild supply button active
INFO 20:14:08.143 │ Click (1186, 641) @ GUILD_SUPPLY
INFO 20:14:09.814 │ Function calls:
<string> L1 <module>
spawn.py L105 spawn_main()
spawn.py L118 _main()
process.py L297 _bootstrap()
process.py L99 run()
process_manager.py L166 run_process()
alas.py L587 loop()
alas.py L69 run()
alas.py L206 guild()
guild_reward.py L31 run()
logistics.py L428 guild_logistics()
logistics.py L290 _guild_logistics_collect()
info_handler.py L100 handle_popup_confirm()
control.py L37 click()
device.py L269 handle_control_check()
device.py L311 click_record_check()
device.py L43 show_function_call()
WARNING 20:14:09.818 │ Too many click between 2 buttons: GUILD_SUPPLY,
POPUP_CONFIRM_GUILD_LOGISTICS
WARNING 20:14:09.819 │ History click: ['GET_SHIP', 'MAIN_GOTO_GUILD_WHITE',
'GUILD_SIDE_NAVBAR_0_3', 'GUILD_SUPPLY', 'POPUP_CONFIRM_GUILD_LOGISTICS',
'GUILD_SUPPLY', 'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS']
ERROR 20:14:09.820 │ GameTooManyClickError: Too many click between 2 buttons:
GUILD_SUPPLY, POPUP_CONFIRM_GUILD_LOGISTICS
WARNING 20:14:09.824 │ Saving error: ./log/error/1788869649824
WARNING 20:14:10.012 │ Game stuck, com.bilibili.azurlane will be restarted in 10
seconds
WARNING 20:14:10.014 │ If you are playing by hand, please stop Alas
INFO 20:14:10.015 │ Task call: Restart
INFO 20:14:10.021 │ Bind task ['General', 'Alas', 'Guild']
INFO 20:14:10.023 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2026, 9, 8, 20, 14, 10),
Restart.Scheduler.Enable=True
INFO 20:14:20.073 │ Scheduler: End task `Guild`
ERROR 20:14:35.076 │ ConnectTimeout: HTTPConnectionPool(host='sc.shiratama.cn',
port=80): Max retries exceeded with url: /server/get_state?server_name=%E5
%A5%A5%E6%9E%97%E5%8C%B9%E5%85%8B%E8%A1%8C%E5%8A%A8 (Caused by
ConnectTimeoutError(<urllib3.connection.HTTPConnection object at
0x0000024480116588>, 'Connection to sc.shiratama.cn timed out. (connect
timeout=15)'))
ERROR 20:14:35.078 │ Timeout while connecting to server checker API.
INFO 20:14:35.242 │ [network_available] True
INFO 20:14:35.243 │ Trigger fast retry.
INFO 20:14:35.245 │ Retry 1 times ...
INFO 20:14:35.346 │ Server "奥林匹克行动" is available.
INFO 20:14:35.349 │ [Server] cn
INFO 20:14:35.356 │ Bind task ['General', 'Alas']
INFO 20:14:35.360 │ Pending tasks: ['Restart', 'Guild', 'Gacha', 'Reward',
'ShopFrequent', 'ShopOnce', 'Shipyard', 'Freebies', 'OpsiAshBeacon',
'OpsiDaily', 'OpsiShop', 'OpsiAbyssal', 'OpsiStronghold', 'OpsiObscure',
'Daily', 'Hard', 'OpsiAshAssist', 'OpsiMonthBoss', 'RaidDaily', 'Raid',
'Main', 'Main2', 'OpsiMeowfficerFarming']
INFO 20:14:35.362 │ [Task] Restart (Enable, 2026-09-08 20:14:10)
INFO 20:14:35.363 │ Bind task ['General', 'Alas', 'Restart']
INFO 20:14:35.374 │ Scheduler: Start task `Restart`
═══════════════════════════════════════════════════════════════════════════════════
RESTART
═══════════════════════════════════════════════════════════════════════════════════
INFO 20:14:35.383 │ <<< APP RESTART >>>
INFO 20:14:35.385 │ App stop: com.bilibili.azurlane
INFO 20:14:35.492 │ App start: com.bilibili.azurlane
INFO 20:14:35.570 │ handle_app_login
INFO 20:14:35.570 │ Screenshot interval set to 1.0s
INFO 20:14:35.573 │ <<< APP LOGIN >>>
INFO 20:14:35.621 │ [Device Orientation] 1 (HOME key on the right)
INFO 20:14:41.430 │ [Device Orientation] 1 (HOME key on the right)
INFO 20:14:47.442 │ [Device Orientation] 1 (HOME key on the right)
INFO 20:14:52.704 │ [Device Orientation] 1 (HOME key on the right)
INFO 20:14:58.460 │ [Device Orientation] 1 (HOME key on the right)
INFO 20:15:03.487 │ [Device Orientation] 1 (HOME key on the right)
INFO 20:15:08.433 │ Click ( 482, 370) @ LOGIN_CHECK
INFO 20:15:08.490 │ Login success
INFO 20:15:13.437 │ Click ( 474, 379) @ LOGIN_CHECK
INFO 20:15:20.441 │ Login to main confirm
INFO 20:15:20.443 │ Screenshot interval set to 0.2s
INFO 20:15:20.444 │ Delay task `Restart` to 2026-09-09 00:00:00
(server_update='00:00')
INFO 20:15:20.451 │ Bind task ['General', 'Alas', 'Restart']
INFO 20:15:20.453 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2026, 9, 9, 0, 0)
INFO 20:15:20.488 │ Scheduler: End task `Restart`
INFO 20:15:20.490 │ [Server] cn
INFO 20:15:20.500 │ Bind task ['General', 'Alas']
INFO 20:15:20.503 │ Pending tasks: ['Guild', 'Gacha', 'Reward', 'ShopFrequent',
'ShopOnce', 'Shipyard', 'Freebies', 'OpsiAshBeacon', 'OpsiDaily',
'OpsiShop', 'OpsiAbyssal', 'OpsiStronghold', 'OpsiObscure', 'Daily',
'Hard', 'OpsiAshAssist', 'OpsiMonthBoss', 'RaidDaily', 'Raid', 'Main',
'Main2', 'OpsiMeowfficerFarming']
INFO 20:15:20.504 │ [Task] Guild (Enable, 2026-09-07 00:00:00)
INFO 20:15:20.506 │ Bind task ['General', 'Alas', 'Guild']
INFO 20:15:20.519 │ Scheduler: Start task `Guild`
═══════════════════════════════════════════════════════════════════════════════════
GUILD
═══════════════════════════════════════════════════════════════════════════════════
INFO 20:15:20.643 │ <<< UI ENSURE >>>
INFO 20:15:20.646 │ UI get current page
INFO 20:15:20.655 │ [UI] page_main
INFO 20:15:20.657 │ Goto page_guild
INFO 20:15:20.662 │ <<< UI GOTO PAGE_GUILD >>>
INFO 20:15:20.671 │ Page switch: page_main_white -> page_guild
INFO 20:15:20.674 │ Click (1215, 682) @ MAIN_GOTO_GUILD_WHITE
INFO 20:15:21.446 │ Page arrive: page_guild
═══════════════════════════════════ GUILD LOBBY ═══════════════════════════════════
INFO 20:15:21.448 │ GUILD LOBBY
INFO 20:15:23.060 │ Guild lobby collect finished
═════════════════════════════════ GUILD LOGISTICS ═════════════════════════════════
INFO 20:15:23.063 │ GUILD LOGISTICS
INFO 20:15:23.066 │ GUILD_SIDE_NAVBAR set to right=3 bottom=3
INFO 20:15:23.073 │ Nav item active: 0 from range (0, 5)
INFO 20:15:23.075 │ Click ( 27, 438) @ GUILD_SIDE_NAVBAR_0_3
INFO 20:15:23.259 │ Nav item active: 3 from range (0, 5)
INFO 20:15:23.261 │ <<< GUILD LOGISTICS >>>
INFO 20:15:23.262 │ [Guild master/official] True
INFO 20:15:23.279 │ Guild supply button active
INFO 20:15:23.281 │ Click (1169, 645) @ GUILD_SUPPLY
INFO 20:15:23.663 │ Click ( 788, 502) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:15:23.861 │ Guild supply button active
INFO 20:15:24.060 │ Guild supply button active
INFO 20:15:24.062 │ Click (1152, 633) @ GUILD_SUPPLY
INFO 20:15:25.671 │ Click ( 780, 507) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:15:25.873 │ Guild supply button active
INFO 20:15:26.077 │ Guild supply button active
INFO 20:15:26.079 │ Click (1215, 640) @ GUILD_SUPPLY
INFO 20:15:27.682 │ Click ( 784, 509) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:15:27.884 │ Guild supply button active
INFO 20:15:28.085 │ Guild supply button active
INFO 20:15:28.086 │ Click (1181, 644) @ GUILD_SUPPLY
INFO 20:15:29.695 │ Click ( 789, 518) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:15:29.897 │ Guild supply button active
INFO 20:15:30.099 │ Guild supply button active
INFO 20:15:30.100 │ Click (1127, 640) @ GUILD_SUPPLY
INFO 20:15:31.708 │ Click ( 798, 515) @ POPUP_CONFIRM_GUILD_LOGISTICS
INFO 20:15:31.909 │ Guild supply button active
INFO 20:15:32.113 │ Guild supply button active
INFO 20:15:32.115 │ Click (1164, 634) @ GUILD_SUPPLY
INFO 20:15:33.721 │ Function calls:
<string> L1 <module>
spawn.py L105 spawn_main()
spawn.py L118 _main()
process.py L297 _bootstrap()
process.py L99 run()
process_manager.py L166 run_process()
alas.py L587 loop()
alas.py L69 run()
alas.py L206 guild()
guild_reward.py L31 run()
logistics.py L428 guild_logistics()
logistics.py L290 _guild_logistics_collect()
info_handler.py L100 handle_popup_confirm()
control.py L37 click()
device.py L269 handle_control_check()
device.py L311 click_record_check()
device.py L43 show_function_call()
WARNING 20:15:33.726 │ Too many click between 2 buttons: GUILD_SUPPLY,
POPUP_CONFIRM_GUILD_LOGISTICS
WARNING 20:15:33.727 │ History click: ['MAIN_GOTO_GUILD_WHITE',
'GUILD_SIDE_NAVBAR_0_3', 'GUILD_SUPPLY', 'POPUP_CONFIRM_GUILD_LOGISTICS',
'GUILD_SUPPLY', 'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS', 'GUILD_SUPPLY',
'POPUP_CONFIRM_GUILD_LOGISTICS']
ERROR 20:15:33.728 │ GameTooManyClickError: Too many click between 2 buttons:
GUILD_SUPPLY, POPUP_CONFIRM_GUILD_LOGISTICS
WARNING 20:15:33.730 │ Saving error: ./log/error/1788869733730
WARNING 20:15:33.935 │ Game stuck, com.bilibili.azurlane will be restarted in 10
seconds
WARNING 20:15:33.936 │ If you are playing by hand, please stop Alas
INFO 20:15:33.938 │ Task call: Restart
INFO 20:15:33.945 │ Bind task ['General', 'Alas', 'Guild']
INFO 20:15:33.947 │ Save config ./config\alas.json,
Restart.Scheduler.NextRun=datetime.datetime(2026, 9, 8, 20, 15, 33),
Restart.Scheduler.Enable=True
INFO 20:15:43.983 │ Scheduler: End task `Guild`
INFO 20:15:44.074 │ Server "奥林匹克行动" is available.
INFO 20:15:44.076 │ [Server] cn
INFO 20:15:44.084 │ Bind task ['General', 'Alas']
INFO 20:15:44.087 │ Pending tasks: ['RestartSource: LmeSzinc/AzurLaneAutoScript