2026-04-01 11:28:17.690 | INFO | Electron detected, remove log output to stdout
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
START
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
2026-04-01 11:28:17.697 | INFO | Start scheduler loop: src
2026-04-01 11:28:17.700 | INFO | [Lang] cn
2026-04-01 11:28:17.702 | INFO | Bind task ['Alas']
2026-04-01 11:28:17.705 | INFO | Pending tasks: ['Dungeon', 'Assignment', 'BattlePass', 'DailyQuest', 'Freebies',
'DataUpdate']
2026-04-01 11:28:17.706 | INFO | [Task] Dungeon (Enable, 2026-04-01 04:00:00)
2026-04-01 11:28:17.707 | INFO | Bind task ['Alas', 'Dungeon']
═══════════════════════════════════════════════════════ DEVICE ════════════════════════════════════════════════════════
2026-04-01 11:28:18.137 | INFO | DEVICE
2026-04-01 11:28:18.139 | INFO | [AdbBinary] D:\StarRailCopilot\toolkit\Lib\site-packages\adbutils\binaries\adb.exe
2026-04-01 11:28:18.139 | INFO | [AdbClient] AdbClient(127.0.0.1, 5037)
2026-04-01 11:28:18.141 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:18.141 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:18.143 | INFO | emulator-5554
2026-04-01 11:28:18.144 | INFO | emulator-5556
2026-04-01 11:28:18.145 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:18.145 | INFO | emulator-5558 (offline)
2026-04-01 11:28:18.146 | INFO | Current serial 127.0.0.1:5559 not found but paired device emulator-5558 found. Using
serial: emulator-5558
2026-04-01 11:28:18.148 | WARNING | Device emulator-5558 is offline, disconnect it before connecting
2026-04-01 11:28:18.150 | INFO | disconnected emulator-5558
2026-04-01 11:28:18.151 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:18.152 | INFO | [AdbDevice] AdbDevice(serial=emulator-5558)
2026-04-01 11:28:18.152 | INFO | [Server] CN-Official
2026-04-01 11:28:18.153 | INFO | [PackageName] com.miHoYo.cloudgames.hkrpg
2026-04-01 11:28:18.154 | INFO | [Lang] cn
2026-04-01 11:28:18.155 | INFO | [nemu_ipc_available] False
2026-04-01 11:28:18.155 | INFO | [EmulatorInfo_Emulator] LDPlayer9
2026-04-01 11:28:18.156 | INFO | LDOpenGL init, ld_folder=D:\leidian\LDPlayer14,
ldopengl_dll=D:\leidian\LDPlayer14\ldopengl64.dll, instance_id=2
2026-04-01 11:28:18.158 | INFO | Execute: ['D:\\leidian\\LDPlayer14\\ldconsole.exe', 'list2']
2026-04-01 11:28:18.176 | INFO | Match LDPlayer instance: DataLDPlayerInfo(index=2, name='崩铁', topWnd=0, bndWnd=0,
sysboot=0, playerpid=-1, vboxpid=-1, width=1280, height=720, dpi=240)
2026-04-01 11:28:18.178 | ERROR | LDOpenGLError: Trying to connect LDPlayer instance but emulator is not running
2026-04-01 11:28:18.179 | ERROR | Emulator info incorrect
─────────────────────────────────────────────── FIND EMULATOR INSTANCE ────────────────────────────────────────────────
2026-04-01 11:28:18.180 | INFO | FIND EMULATOR INSTANCE
2026-04-01 11:28:18.189 | INFO | LDPlayer3(serial="127.0.0.1:5555", name="leidian0",
path="D:/leidian/LDPlayer14/dnplayer.exe")
2026-04-01 11:28:18.190 | INFO | LDPlayer3(serial="127.0.0.1:5557", name="leidian1",
path="D:/leidian/LDPlayer14/dnplayer.exe")
2026-04-01 11:28:18.191 | INFO | LDPlayer3(serial="127.0.0.1:5559", name="leidian2",
path="D:/leidian/LDPlayer14/dnplayer.exe")
────────────────────────────────────────────────── EMULATOR INSTANCE ──────────────────────────────────────────────────
2026-04-01 11:28:18.193 | INFO | EMULATOR INSTANCE
2026-04-01 11:28:18.193 | INFO | Found emulator instance: LDPlayer3(serial="127.0.0.1:5559", name="leidian2",
path="D:/leidian/LDPlayer14/dnplayer.exe")
2026-04-01 11:28:18.195 | INFO | Bind task ['Alas', 'Dungeon']
2026-04-01 11:28:18.196 | INFO | Save config ./config\src.json, Alas.EmulatorInfo.Emulator='LDPlayer3',
Alas.EmulatorInfo.name='leidian2', Alas.EmulatorInfo.path='D:/leidian/LDPlayer14/dnplayer.exe'
2026-04-01 11:28:18.198 | INFO | LDOpenGL init, ld_folder=D:/leidian/LDPlayer14,
ldopengl_dll=D:\leidian\LDPlayer14\ldopengl64.dll, instance_id=2
2026-04-01 11:28:18.200 | INFO | Execute: ['D:\\leidian\\LDPlayer14\\ldconsole.exe', 'list2']
2026-04-01 11:28:18.221 | INFO | Match LDPlayer instance: DataLDPlayerInfo(index=2, name='崩铁', topWnd=0, bndWnd=0,
sysboot=0, playerpid=-1, vboxpid=-1, width=1280, height=720, dpi=240)
2026-04-01 11:28:18.222 | ERROR | LDOpenGLError: Trying to connect LDPlayer instance but emulator is not running
2026-04-01 11:28:18.223 | ERROR | Unable to initialize LDOpenGL
2026-04-01 11:28:18.223 | INFO | [ldopengl_available] False
2026-04-01 11:28:18.224 | INFO | Screenshot interval set to 0.2s
2026-04-01 11:28:18.225 | INFO | <<< MAATOUCH INIT >>>
2026-04-01 11:28:18.226 | INFO | Scheduler: Start task `Dungeon`
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
2026-04-01 11:28:18.229 | ERROR | AdbError: device 'emulator-5558' not found
DUNGEON
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
2026-04-01 11:28:18.231 | INFO | LDOpenGL init, ld_folder=D:\leidian\LDPlayer14,
ldopengl_dll=D:\leidian\LDPlayer14\ldopengl64.dll, instance_id=2
2026-04-01 11:28:18.232 | INFO | Execute: ['D:\\leidian\\LDPlayer14\\ldconsole.exe', 'list2']
2026-04-01 11:28:18.233 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:18.253 | INFO | Match LDPlayer instance: DataLDPlayerInfo(index=2, name='崩铁', topWnd=0, bndWnd=0,
sysboot=0, playerpid=-1, vboxpid=-1, width=1280, height=720, dpi=240)
2026-04-01 11:28:18.255 | ERROR | LDOpenGLError: Trying to connect LDPlayer instance but emulator is not running
2026-04-01 11:28:18.256 | ERROR | Emulator info incorrect
2026-04-01 11:28:18.257 | INFO | LDOpenGL init, ld_folder=D:/leidian/LDPlayer14,
ldopengl_dll=D:\leidian\LDPlayer14\ldopengl64.dll, instance_id=2
2026-04-01 11:28:18.257 | INFO | Execute: ['D:\\leidian\\LDPlayer14\\ldconsole.exe', 'list2']
2026-04-01 11:28:18.278 | INFO | Match LDPlayer instance: DataLDPlayerInfo(index=2, name='崩铁', topWnd=0, bndWnd=0,
sysboot=0, playerpid=-1, vboxpid=-1, width=1280, height=720, dpi=240)
2026-04-01 11:28:18.280 | ERROR | LDOpenGLError: Trying to connect LDPlayer instance but emulator is not running
2026-04-01 11:28:18.280 | ERROR | Unable to initialize LDOpenGL
2026-04-01 11:28:18.281 | CRITICAL | Request human takeover
2026-04-01 11:28:18.427 | INFO | <<< APP STOP >>>
2026-04-01 11:28:18.428 | INFO | <<< CLOUD EXIT >>>
2026-04-01 11:28:18.430 | ERROR | AdbError: device 'emulator-5558' not found
2026-04-01 11:28:18.432 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:23.450 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:23.451 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:23.452 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:23.453 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:23.454 | INFO | emulator-5554
2026-04-01 11:28:23.455 | INFO | emulator-5556
2026-04-01 11:28:23.456 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:23.456 | INFO | emulator-5558 (offline)
2026-04-01 11:28:23.458 | ERROR | AdbError: device offline
2026-04-01 11:28:23.638 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:23.639 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:23.640 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:23.641 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:23.642 | INFO | emulator-5554
2026-04-01 11:28:23.643 | INFO | emulator-5556
2026-04-01 11:28:23.644 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:23.644 | INFO | emulator-5558 (offline)
2026-04-01 11:28:23.645 | ERROR | AdbError: device offline
2026-04-01 11:28:24.460 | INFO | disconnected emulator-5558
2026-04-01 11:28:24.461 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:24.647 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:29.666 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:29.667 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:29.668 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:29.669 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:29.670 | INFO | emulator-5554
2026-04-01 11:28:29.671 | INFO | emulator-5556
2026-04-01 11:28:29.672 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:29.673 | INFO | emulator-5558 (offline)
2026-04-01 11:28:29.674 | ERROR | AdbError: device offline
2026-04-01 11:28:29.854 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:29.856 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:29.857 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:29.858 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:29.860 | INFO | emulator-5554
2026-04-01 11:28:29.861 | INFO | emulator-5556
2026-04-01 11:28:29.862 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:29.863 | INFO | emulator-5558 (offline)
2026-04-01 11:28:29.864 | ERROR | AdbError: device offline
2026-04-01 11:28:32.676 | INFO | disconnected emulator-5558
2026-04-01 11:28:32.677 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:32.867 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:37.881 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:37.882 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:37.883 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:37.884 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:37.885 | INFO | emulator-5554
2026-04-01 11:28:37.886 | INFO | emulator-5556
2026-04-01 11:28:37.887 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:37.888 | INFO | emulator-5558 (offline)
2026-04-01 11:28:37.889 | ERROR | AdbError: device offline
2026-04-01 11:28:38.074 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:38.076 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:38.077 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:38.078 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:38.079 | INFO | emulator-5554
2026-04-01 11:28:38.080 | INFO | emulator-5556
2026-04-01 11:28:38.081 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:38.081 | INFO | emulator-5558 (offline)
2026-04-01 11:28:38.083 | ERROR | AdbError: device offline
2026-04-01 11:28:40.892 | INFO | disconnected emulator-5558
2026-04-01 11:28:40.893 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:41.085 | INFO | Waiting device appear: emulator-5558
2026-04-01 11:28:46.101 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:46.101 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:46.102 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:46.103 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:46.104 | INFO | emulator-5554
2026-04-01 11:28:46.105 | INFO | emulator-5556
2026-04-01 11:28:46.106 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:46.107 | INFO | emulator-5558 (offline)
2026-04-01 11:28:46.108 | ERROR | AdbError: device offline
2026-04-01 11:28:46.109 | CRITICAL | Retry get_orientation() failed
2026-04-01 11:28:46.110 | CRITICAL | Retry _maatouch_builder() failed
2026-04-01 11:28:46.288 | INFO | Serial emulator-5558 is not connected
2026-04-01 11:28:46.289 | INFO | "emulator-5558" is a `emulator-*` serial, skip adb connect
2026-04-01 11:28:46.290 | INFO | <<< DETECT DEVICE >>>
2026-04-01 11:28:46.291 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2026-04-01 11:28:46.292 | INFO | emulator-5554
2026-04-01 11:28:46.293 | INFO | emulator-5556
2026-04-01 11:28:46.293 | INFO | Here are the devices detected but unavailable
2026-04-01 11:28:46.295 | INFO | emulator-5558 (offline)
2026-04-01 11:28:46.296 | ERROR | AdbError: device offline
2026-04-01 11:28:46.296 | CRITICAL | Retry app_current_adb() failed
2026-04-01 11:28:46.296 | ERROR | RequestHumanTakeover:
┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐
│ D:\StarRailCopilot\module\device\method\ldopengl.py:320 in ldopengl │
│ │
│ 317 │ │ │ logger.error('Unable to use LDOpenGL because emulator instance not found') │
│ 318 │ │ │ raise RequestHumanTakeover │
│ 319 │ │ try: │
│ > 320 │ │ │ return LDOpenGLImpl( │
│ 321 │ │ │ │ ld_folder=self.emulator_instance.emulator.abspath('./'), │
│ 322 │ │ │ │ instance_id=self.emulator_instance.LDPlayer_id, │
│ 323 │ │ │ ) │
│ │
│ ┌────────────────────────────── locals ───────────────────────────────┐ │
│ │ folder = 'D:\\leidian\\LDPlayer14' │ │
│ │ index = 2 │ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\method\ldopengl.py:223 in __init__ │
│ │
│ 220 │ │ │ │ ) │
│ 221 │ │ # Get info after loading DLL, so DLL existence can act as a version check │
│ 222 │ │ self.console = LDConsole(ld_folder) │
│ > 223 │ │ self.info = self.get_player_info_by_index(instance_id) │
│ 224 │ │ │
│ 225 │ │ self.lib.CreateScreenShotInstance.restype = ctypes.c_void_p │
│ 226 │
│ │
│ ┌───────────────────────────────────────── locals ─────────────────────────────────────────┐ │
│ │ instance_id = 2 │ │
│ │ ld_folder = 'D:/leidian/LDPlayer14' │ │
│ │ ldopengl_dll = 'D:\\leidian\\LDPlayer14\\ldopengl64.dll' │ │
│ │ self = <module.device.method.ldopengl.LDOpenGLImpl object at 0x000001FAC2A8B520> │ │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\method\ldopengl.py:246 in get_player_info_by_index │
│ │
│ 243 │ │ │ if info.index == instance_id: │
│ 244 │ │ │ │ logger.info(f'Match LDPlayer instance: {info}') │
│ 245 │ │ │ │ if not info.sysboot: │
│ > 246 │ │ │ │ │ raise LDOpenGLError('Trying to connect LDPlayer instance but │
│ emulator is not running') │
│ 247 │ │ │ │ return info │
│ 248 │ │ raise LDOpenGLError(f'No LDPlayer instance with index {instance_id}') │
│ 249 │
│ │
│ ┌──────────────────────────────────────── locals ─────────────────────────────────────────┐ │
│ │ info = DataLDPlayerInfo( │ │
│ │ │ index=2, │ │
│ │ │ name='崩铁', │ │
│ │ │ topWnd=0, │ │
│ │ │ bndWnd=0, │ │
│ │ │ sysboot=0, │ │
│ │ │ playerpid=-1, │ │
│ │ │ vboxpid=-1, │ │
│ │ │ width=1280, │ │
│ │ │ height=720, │ │
│ │ │ dpi=240 │ │
│ │ ) │ │
│ │ instance_id = 2 │ │
│ │ self = <module.device.method.ldopengl.LDOpenGLImpl object at 0x000001FAC2A8B520> │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
LDOpenGLError: Trying to connect LDPlayer instance but emulator is not running
During handling of the above exception, another exception occurred:
┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐
│ D:\StarRailCopilot\module\alas.py:77 in run │
│ │
│ 74 │ │
│ 75 │ def run(self, command): │
│ 76 │ │ try: │
│ > 77 │ │ │ self.device.screenshot() │
│ 78 │ │ │ self.device.screenshot_tracking.clear() │
│ 79 │ │ │ self.__getattribute__(command)() │
│ 80 │ │ │ return True │
│ │
│ ┌─────────────────────────── locals ───────────────────────────┐ │
│ │ command = 'dungeon' │ │
│ │ self = <src.StarRailCopilot object at 0x000001FAC2A8B580> │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\device.py:170 in screenshot │
│ │
│ 167 │ │ self.stuck_record_check() │
│ 168 │ │ │
│ 169 │ │ try: │
│ > 170 │ │ │ super().screenshot() │
│ 171 │ │ except RequestHumanTakeover: │
│ 172 │ │ │ if not self.ascreencap_available: │
│ 173 │ │ │ │ logger.error('aScreenCap unavailable on current device, fallback to │
│ auto') │
│ │
│ ┌───────────────────────────── locals ──────────────────────────────┐ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\screenshot.py:75 in screenshot │
│ │
│ 72 │ │ │ │ method = self.config.Emulator_ScreenshotMethod │
│ 73 │ │ │ method = self.screenshot_methods.get(method, self.screenshot_adb) │
│ 74 │ │ │ │
│ > 75 │ │ │ self.image = method() │
│ 76 │ │ │ │
│ 77 │ │ │ # if self.config.Emulator_ScreenshotDedithering: │
│ 78 │ │ │ # # This will take 40-60ms │
│ │
│ ┌──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────┐ │
│ │ _ = 0 │ │
│ │ method = <bound method LDOpenGL.screenshot_ldopengl of <module.device.device.Device object at │ │
│ │ 0x000001FAC2ABC490>> │ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\method\ldopengl.py:345 in screenshot_ldopengl │
│ │
│ 342 │ │ return True │
│ 343 │ │
│ 344 │ def screenshot_ldopengl(self): │
│ > 345 │ │ image = self.ldopengl.screenshot() │
│ 346 │ │ │
│ 347 │ │ # flip image, also copy image array (no dst=image) │
│ 348 │ │ if self.orientation == 2: │
│ │
│ ┌───────────────────────────── locals ──────────────────────────────┐ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\base\decorator.py:97 in __get__ │
│ │
│ 94 │ │ if obj is None: │
│ 95 │ │ │ return self │
│ 96 │ │ │
│ > 97 │ │ value = obj.__dict__[self.func.__name__] = self.func(obj) │
│ 98 │ │ return value │
│ 99 │
│ 100 │
│ │
│ ┌────────────────────────────────── locals ───────────────────────────────────┐ │
│ │ cls = <class 'module.device.device.Device'> │ │
│ │ obj = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ │ self = <module.base.decorator.cached_property object at 0x000001FAF13670D0> │ │
│ └─────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\method\ldopengl.py:327 in ldopengl │
│ │
│ 324 │ │ except (LDOpenGLIncompatible, LDOpenGLError) as e: │
│ 325 │ │ │ logger.error(e) │
│ 326 │ │ │ logger.error('Unable to initialize LDOpenGL') │
│ > 327 │ │ │ raise RequestHumanTakeover │
│ 328 │ │
│ 329 │ def ldopengl_available(self) -> bool: │
│ 330 │ │ if not IS_WINDOWS: │
│ │
│ ┌────────────────────────────── locals ───────────────────────────────┐ │
│ │ folder = 'D:\\leidian\\LDPlayer14' │ │
│ │ index = 2 │ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
RequestHumanTakeover
During handling of the above exception, another exception occurred:
┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐
│ D:\StarRailCopilot\module\webui\process_manager.py:156 in run_process │
│ │
│ 153 │ │ │ │ │
│ 154 │ │ │ │ if e is not None: │
│ 155 │ │ │ │ │ AzurLaneAutoScript.stop_event = e │
│ > 156 │ │ │ │ StarRailCopilot(config_name=config_name).loop() │
│ 157 │ │ │ elif func in get_available_func(): │
│ 158 │ │ │ │ from src import StarRailCopilot │
│ 159 │
│ │
│ ┌──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────┐ │
│ │ _ = ['--port', '22367'] │ │
│ │ args = Namespace(electron=True) │ │
│ │ AzurLaneAutoScript = <class 'module.alas.AzurLaneAutoScript'> │ │
│ │ AzurLaneConfig = <class 'module.config.config.AzurLaneConfig'> │ │
│ │ config_name = 'src' │ │
│ │ console_hdlr = <RichHandler (NOTSET)> │ │
│ │ e = RequestHumanTakeover() │ │
│ │ func = 'alas' │ │
│ │ parser = ArgumentParser(prog='gui.py', usage=None, description=None, formatter_class=<class │ │
│ │ 'argparse.HelpFormatter'>, conflict_handler='error', add_help=True) │ │
│ │ q = <AutoProxy[Queue] object, typeid 'Queue' at 0x1fabf393c40> │ │
│ │ StarRailCopilot = <class 'src.StarRailCopilot'> │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\alas.py:311 in loop │
│ │
│ 308 │ │ │ self.device.stuck_record_clear() │
│ 309 │ │ │ self.device.click_record_clear() │
│ 310 │ │ │ logger.hr(task, level=0) │
│ > 311 │ │ │ success = self.run(inflection.underscore(task)) │
│ 312 │ │ │ logger.info(f'Scheduler: End task `{task}`') │
│ 313 │ │ │ self.is_first_task = False │
│ 314 │
│ │
│ ┌───────────────────────────── locals ──────────────────────────────┐ │
│ │ _ = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ │ self = <src.StarRailCopilot object at 0x000001FAC2A8B580> │ │
│ │ task = 'Dungeon' │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\alas.py:134 in run │
│ │
│ 131 │ │ │ exit(1) │
│ 132 │ │ except RequestHumanTakeover: │
│ 133 │ │ │ logger.critical('Request human takeover') │
│ > 134 │ │ │ self.error_postprocess() │
│ 135 │ │ │ handle_notify( │
│ 136 │ │ │ │ self.config.Error_OnePushConfig, │
│ 137 │ │ │ │ title=f"Src <{self.config_name}> crashed", │
│ │
│ ┌─────────────────────────── locals ───────────────────────────┐ │
│ │ command = 'dungeon' │ │
│ │ self = <src.StarRailCopilot object at 0x000001FAC2A8B580> │ │
│ └──────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\src.py:33 in error_postprocess │
│ │
│ 30 │ │ # Exit cloud game to reduce extra fee │
│ 31 │ │ if self.config.is_cloud_game: │
│ 32 │ │ │ from tasks.login.login import Login │
│ > 33 │ │ │ Login(self.config, device=self.device).app_stop() │
│ 34 │ │
│ 35 │ def dungeon(self): │
│ 36 │ │ from tasks.dungeon.dungeon import Dungeon │
│ │
│ ┌────────────────────────── locals ──────────────────────────┐ │
│ │ Login = <class 'tasks.login.login.Login'> │ │
│ │ self = <src.StarRailCopilot object at 0x000001FAC2A8B580> │ │
│ └────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\tasks\login\login.py:168 in app_stop │
│ │
│ 165 │ def app_stop(self): │
│ 166 │ │ logger.hr('App stop') │
│ 167 │ │ if self.config.is_cloud_game: │
│ > 168 │ │ │ self.cloud_exit() │
│ 169 │ │ self.device.app_stop() │
│ 170 │ │
│ 171 │ def app_start(self): │
│ │
│ ┌─────────────────────────── locals ────────────────────────────┐ │
│ │ self = <tasks.login.login.Login object at 0x000001FAF1330E20> │ │
│ └───────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\tasks\login\cloud.py:497 in cloud_exit │
│ │
│ 494 │ │ │ out: XPath.START_GAME │
│ 495 │ │ """ │
│ 496 │ │ logger.hr('Cloud exit') │
│ > 497 │ │ if not self.device.app_is_running(): │
│ 498 │ │ │ logger.info('App is not running, no need to exit') │
│ 499 │ │ │ return │
│ 500 │
│ │
│ ┌────────────────────────────── locals ───────────────────────────────┐ │
│ │ self = <tasks.login.login.Login object at 0x000001FAF1330E20> │ │
│ │ skip_first = False │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\app_control.py:31 in app_is_running │
│ │
│ 28 │ │ return package │
│ 29 │ │
│ 30 │ def app_is_running(self) -> bool: │
│ > 31 │ │ package = self.app_current() │
│ 32 │ │ logger.attr('Package_name', package) │
│ 33 │ │ return package == self.package │
│ 34 │
│ │
│ ┌───────────────────────────── locals ──────────────────────────────┐ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └───────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\app_control.py:26 in app_current │
│ │
│ 23 │ │ elif method in AppControl._app_u2_family: │
│ 24 │ │ │ package = self.app_current_uiautomator2() │
│ 25 │ │ else: │
│ > 26 │ │ │ package = self.app_current_adb() │
│ 27 │ │ package = package.strip(' \t\r\n') │
│ 28 │ │ return package │
│ 29 │
│ │
│ ┌────────────────────────────── locals ───────────────────────────────┐ │
│ │ method = 'MaaTouch' │ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ D:\StarRailCopilot\module\device\method\adb.py:73 in retry_wrapper │
│ │
│ 70 │ │ │ │ │ pass │
│ 71 │ │ │
│ 72 │ │ logger.critical(f'Retry {func.__name__}() failed') │
│ > 73 │ │ raise RequestHumanTakeover │
│ 74 │ │
│ 75 │ return retry_wrapper │
│ 76 │
│ │
│ ┌─────────────────────────────────────── locals ───────────────────────────────────────┐ │
│ │ _ = 4 │ │
│ │ args = () │ │
│ │ func = <function Adb.app_current_adb at 0x000001FAF0D2D6C0> │ │
│ │ init = <function retry.<locals>.retry_wrapper.<locals>.init at 0x000001FAF14E2B90> │ │
│ │ kwargs = {} │ │
│ │ self = <module.device.device.Device object at 0x000001FAC2ABC490> │ │
│ └──────────────────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
RequestHumanTakeover
在提问之前...
描述你的问题
使用雷电模拟器 14 时,启动逻辑有问题,无法启动模拟器。
如何复现
预期行为
No response
相关 Logs
截图
No response
还有别的吗?
No response