LmeSzinc / AzurLaneAutoScript

Azur Lane bot (CN/EN/JP/TW) 碧蓝航线脚本 | 无缝委托科研,全自动大世界
https://alas.azurlane.cloud
GNU General Public License v3.0
6.82k stars 806 forks source link

關於添加新服務器與 Wiki 的內容和程序不一致的問題 #3088

Open healust opened 1 year ago

healust commented 1 year ago

你好。轉譯不流暢,敬請諒解 我在韓國服務器上玩遊戲,在探索GitHub時發現了這個帥氣的節目。 在事先提供的Wiki中,試圖在韓國服務器上啓動程序,但由於Wiki的內容與程序不一致,所以留下了文章。我參考的部分如下。

https://github.com/LmeSzinc/AzurLaneAutoScript/wiki/2.2.-Multi-server-support

嘗試修改了module/config中存在的server.py 等文件,也修改了dev_tools的文件,但未能啓動。 你能給我一個解決方案嗎?

iceynano commented 1 year ago

On different servers, the target language type of OCR in Alas plays an important role in text recognition. Alas may not identify the text on the image. In order to accurately locate the problem, please provide the running log of the Alas, which should be under path ..\AzurLaneAutoScript\log.

If you feel it's hard to describe the issue properly, please use screenshots at time of error occur as another way.

If you are trying to add support for Korean Servers, please read the link you post very carefully. Good luck!

healust commented 1 year ago

═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ START
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════ 2023-09-06 01:06:41.986 | INFO | Start scheduler loop: lung
2023-09-06 01:06:41.988 | INFO | [Server] cn
2023-09-06 01:06:42.000 | INFO | Bind task {'Alas', 'General'}
2023-09-06 01:06:42.002 | INFO | Pending tasks: ['Restart', 'Commission', 'Tactical', 'Research', 'Dorm', 'Meowfficer', 'Guild', 'Reward', 'Freebies']
2023-09-06 01:06:42.003 | INFO | [Task] Restart (Enable, 2020-01-01 00:00:00)
2023-09-06 01:06:42.004 | INFO | Bind task {'Alas', 'Restart', 'General'}
═══════════════════════════════════════════════════════ DEVICE ════════════════════════════════════════════════════════ 2023-09-06 01:06:47.194 | INFO | DEVICE
2023-09-06 01:06:47.195 | INFO | [IS_ON_PHONE_CLOUD] False
2023-09-06 01:06:47.197 | INFO | [AdbBinary]
D:\Downloads\AlasApp_0.4.4_full\AzurLaneAutoScript\toolkit\Lib\site-packages\adbutils\binaries\adb.exe
2023-09-06 01:06:47.199 | INFO | [AdbClient] AdbClient(127.0.0.1, 5037)
2023-09-06 01:06:47.200 | INFO | <<< DETECT DEVICE >>>
2023-09-06 01:06:47.200 | INFO | Here are the available devices, copy to Alas.Emulator.Serial to use it or set
Alas.Emulator.Serial="auto"
2023-09-06 01:06:47.202 | INFO | emulator-5560
2023-09-06 01:06:47.203 | INFO | Auto device detection found only one device, using it
2023-09-06 01:06:47.205 | INFO | "emulator-5560" is a emulator-* serial, skip adb connect
2023-09-06 01:06:47.205 | INFO | [AdbDevice] AdbDevice(serial=emulator-5560)
2023-09-06 01:06:47.206 | INFO | <<< DETECT PACKAGE >>>
2023-09-06 01:06:47.207 | INFO | Get package list
2023-09-06 01:06:47.475 | INFO | Here are the available packages in device "emulator-5560", copy to
Alas.Emulator.PackageName to use it
2023-09-06 01:06:47.477 | INFO | No available packages on device "emulator-5560"
2023-09-06 01:06:47.478 | CRITICAL | No AzurLane package found, please confirm AzurLane has been installed on device
"emulator-5560"
2023-09-06 01:06:47.479 | CRITICAL | Request human takeover

Here is the log about Alas.

Before the OCR and other issue, Alas can't detect AzurLane server and package

Before running, I copy ./assets/cn to ./assets/ for just detect and work,

and edit Module/config/server.py to add VALID_SERVER, VALID_SERVER_LIST

If I run it, it restores all files to before modification

Is there way to fix it?

LmeSzinc commented 1 year ago
  1. Get the package name and add it to VALID_PACKAGE
  2. assets needs to be remade instead of copying from other servers
  3. Easy installers are for users, as for developers classic python project deployment is required, see Manual installation guide
iceynano commented 1 year ago
  1. Alas detect Azurlane by list packages name in android device. Package name should be kr.txwy.and.blhx as Korean client.
  2. To manually modify code in Alas, set KeepLocalChanges in ..\config\deploy.yaml to True to save your modification.
healust commented 1 year ago

To date, Alas has succeeded in connecting to AzurLane ko. Thanks for helping. I'm currently modifying the OCR, and there's a problem with the densenet OCR model used by Alas.

I tried two main methods, The first is to transplant the existing model. I tried to use the .onnx Korean OCR model used in MAA and the Korean model provided by PPOCR.

https://github.com/MaaAssistantArknights/MaaAssistantArknights https://github.com/PaddlePaddle/PaddleOCR

However, I have confirmed that the OCR used by Alas is based on cnocr 1.2.2, and having problems with the compatibility of these two models.

Secondly, I tried to utilize the custom model generation provided by cnocr 1.2.2.

I found a Korean training set for this, but having a problem because the format is different from label_cn.txt and I need to modify all directly. I tried to check the Japanese model on the wiki, but there was nothing written separately.

https://github.com/LmeSzinc/AzurLaneAutoScript/wiki/4.3.-OCR

I would like to ask for advice on whether there is a way to compatible with the existing model and what it takes to make the model myself

LmeSzinc commented 1 year ago

Use the pre-trained model from paddle but don't import the dependency paddleocr, use onnxruntime instead, check these projects: https://github.com/hgjazhgj/pponnxcr https://github.com/triwinds/ppocr-onnx

Forget about cnocr, existing models are trained years ago, we don't have time to migrate and don't expect to continue using it neither. KR should use new model in commission and old models in other tasks, CN/EN/JP/TW maintain status quo.