diff --git a/output/akEndfield/launcher/game_resources/6/Android/all.json b/output/akEndfield/launcher/game_resources/6/Android/all.json new file mode 100644 index 0000000..167c385 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/Android/all.json @@ -0,0 +1,58 @@ +[ + { + "updatedAt": "2026-01-26T15:05:44.588+09:00", + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "Android" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/main/5367902-16_OOWL2udleuIrnOqU/files" + }, + { + "name": "initial", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/initial/5367902-16_Iz8jbA4vGWqy0jdz/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-16_main_5367902-16", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } + }, + { + "updatedAt": "2026-01-26T15:05:44.704+09:00", + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.13", + "randStr": "i5QZm30fLgOWSldR", + "platform": "Android" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/main/5367902-16_OOWL2udleuIrnOqU/files" + }, + { + "name": "initial", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/initial/5367902-16_Iz8jbA4vGWqy0jdz/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-16_main_5367902-16", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } + } +] diff --git a/output/akEndfield/launcher/game_resources/6/Android/latest.json b/output/akEndfield/launcher/game_resources/6/Android/latest.json new file mode 100644 index 0000000..04936de --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/Android/latest.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "Android" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/main/5367902-16_OOWL2udleuIrnOqU/files" + }, + { + "name": "initial", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/initial/5367902-16_Iz8jbA4vGWqy0jdz/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-16_main_5367902-16", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/Android/v1.0.13.json b/output/akEndfield/launcher/game_resources/6/Android/v1.0.13.json new file mode 100644 index 0000000..802e654 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/Android/v1.0.13.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.13", + "randStr": "i5QZm30fLgOWSldR", + "platform": "Android" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/main/5367902-16_OOWL2udleuIrnOqU/files" + }, + { + "name": "initial", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/initial/5367902-16_Iz8jbA4vGWqy0jdz/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-16_main_5367902-16", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/Android/v1.0.14.json b/output/akEndfield/launcher/game_resources/6/Android/v1.0.14.json new file mode 100644 index 0000000..04936de --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/Android/v1.0.14.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "Android" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/main/5367902-16_OOWL2udleuIrnOqU/files" + }, + { + "name": "initial", + "version": "5367902-16", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/initial/5367902-16_Iz8jbA4vGWqy0jdz/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-16_main_5367902-16", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/PlayStation/all.json b/output/akEndfield/launcher/game_resources/6/PlayStation/all.json new file mode 100644 index 0000000..48a3948 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/PlayStation/all.json @@ -0,0 +1,58 @@ +[ + { + "updatedAt": "2026-01-26T15:05:45.018+09:00", + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "PlayStation" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/main/5367902-107_OFLPFAqzMDPLAS9V/files" + }, + { + "name": "initial", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/initial/5367902-107_m6lq8U24uDuaoWO2/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-107_main_5367902-107", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } + }, + { + "updatedAt": "2026-01-26T15:05:45.128+09:00", + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.13", + "randStr": "i5QZm30fLgOWSldR", + "platform": "PlayStation" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/main/5367902-107_OFLPFAqzMDPLAS9V/files" + }, + { + "name": "initial", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/initial/5367902-107_m6lq8U24uDuaoWO2/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-107_main_5367902-107", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } + } +] diff --git a/output/akEndfield/launcher/game_resources/6/PlayStation/latest.json b/output/akEndfield/launcher/game_resources/6/PlayStation/latest.json new file mode 100644 index 0000000..900a8e3 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/PlayStation/latest.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "PlayStation" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/main/5367902-107_OFLPFAqzMDPLAS9V/files" + }, + { + "name": "initial", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/initial/5367902-107_m6lq8U24uDuaoWO2/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-107_main_5367902-107", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/PlayStation/v1.0.13.json b/output/akEndfield/launcher/game_resources/6/PlayStation/v1.0.13.json new file mode 100644 index 0000000..4c8c43b --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/PlayStation/v1.0.13.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.13", + "randStr": "i5QZm30fLgOWSldR", + "platform": "PlayStation" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/main/5367902-107_OFLPFAqzMDPLAS9V/files" + }, + { + "name": "initial", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/initial/5367902-107_m6lq8U24uDuaoWO2/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-107_main_5367902-107", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/PlayStation/v1.0.14.json b/output/akEndfield/launcher/game_resources/6/PlayStation/v1.0.14.json new file mode 100644 index 0000000..900a8e3 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/PlayStation/v1.0.14.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "PlayStation" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/main/5367902-107_OFLPFAqzMDPLAS9V/files" + }, + { + "name": "initial", + "version": "5367902-107", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/initial/5367902-107_m6lq8U24uDuaoWO2/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-107_main_5367902-107", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/all.json b/output/akEndfield/launcher/game_resources/6/Windows/all.json similarity index 92% rename from output/akEndfield/launcher/game_resources/6/all.json rename to output/akEndfield/launcher/game_resources/6/Windows/all.json index de34075..a91c964 100644 --- a/output/akEndfield/launcher/game_resources/6/all.json +++ b/output/akEndfield/launcher/game_resources/6/Windows/all.json @@ -5,7 +5,8 @@ "appCode": "YDUTE5gscDZ229CW", "gameVersion": "1.0", "version": "1.0.13", - "randStr": "i5QZm30fLgOWSldR" + "randStr": "i5QZm30fLgOWSldR", + "platform": "Windows" }, "rsp": { "resources": [ @@ -32,7 +33,8 @@ "appCode": "YDUTE5gscDZ229CW", "gameVersion": "1.0", "version": "1.0.13", - "randStr": "i5QZm30fLgOWSldR" + "randStr": "i5QZm30fLgOWSldR", + "platform": "Windows" }, "rsp": { "resources": [ @@ -59,7 +61,8 @@ "appCode": "YDUTE5gscDZ229CW", "gameVersion": "1.0", "version": "1.0.13", - "randStr": "i5QZm30fLgOWSldR" + "randStr": "i5QZm30fLgOWSldR", + "platform": "Windows" }, "rsp": { "resources": [ @@ -86,7 +89,8 @@ "appCode": "YDUTE5gscDZ229CW", "gameVersion": "1.0", "version": "1.0.14", - "randStr": "Qk2mXHuAH1JWKF37" + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "Windows" }, "rsp": { "resources": [ diff --git a/output/akEndfield/launcher/game_resources/6/latest.json b/output/akEndfield/launcher/game_resources/6/Windows/latest.json similarity index 92% rename from output/akEndfield/launcher/game_resources/6/latest.json rename to output/akEndfield/launcher/game_resources/6/Windows/latest.json index 4075253..c0a3b6a 100644 --- a/output/akEndfield/launcher/game_resources/6/latest.json +++ b/output/akEndfield/launcher/game_resources/6/Windows/latest.json @@ -3,7 +3,8 @@ "appCode": "YDUTE5gscDZ229CW", "gameVersion": "1.0", "version": "1.0.14", - "randStr": "Qk2mXHuAH1JWKF37" + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "Windows" }, "rsp": { "resources": [ diff --git a/output/akEndfield/launcher/game_resources/6/v1.0.13.json b/output/akEndfield/launcher/game_resources/6/Windows/v1.0.13.json similarity index 92% rename from output/akEndfield/launcher/game_resources/6/v1.0.13.json rename to output/akEndfield/launcher/game_resources/6/Windows/v1.0.13.json index 84b8149..f73ca1f 100644 --- a/output/akEndfield/launcher/game_resources/6/v1.0.13.json +++ b/output/akEndfield/launcher/game_resources/6/Windows/v1.0.13.json @@ -3,7 +3,8 @@ "appCode": "YDUTE5gscDZ229CW", "gameVersion": "1.0", "version": "1.0.13", - "randStr": "i5QZm30fLgOWSldR" + "randStr": "i5QZm30fLgOWSldR", + "platform": "Windows" }, "rsp": { "resources": [ diff --git a/output/akEndfield/launcher/game_resources/6/v1.0.14.json b/output/akEndfield/launcher/game_resources/6/Windows/v1.0.14.json similarity index 92% rename from output/akEndfield/launcher/game_resources/6/v1.0.14.json rename to output/akEndfield/launcher/game_resources/6/Windows/v1.0.14.json index 4075253..c0a3b6a 100644 --- a/output/akEndfield/launcher/game_resources/6/v1.0.14.json +++ b/output/akEndfield/launcher/game_resources/6/Windows/v1.0.14.json @@ -3,7 +3,8 @@ "appCode": "YDUTE5gscDZ229CW", "gameVersion": "1.0", "version": "1.0.14", - "randStr": "Qk2mXHuAH1JWKF37" + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "Windows" }, "rsp": { "resources": [ diff --git a/output/akEndfield/launcher/game_resources/6/iOS/all.json b/output/akEndfield/launcher/game_resources/6/iOS/all.json new file mode 100644 index 0000000..db9f174 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/iOS/all.json @@ -0,0 +1,58 @@ +[ + { + "updatedAt": "2026-01-26T15:05:44.811+09:00", + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "iOS" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/main/5367902-19_LaSCOf67UNSRRJ3e/files" + }, + { + "name": "initial", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/initial/5367902-19_x0awyNFSLh0ag2dZ/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-19_main_5367902-19", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } + }, + { + "updatedAt": "2026-01-26T15:05:44.921+09:00", + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.13", + "randStr": "i5QZm30fLgOWSldR", + "platform": "iOS" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/main/5367902-19_LaSCOf67UNSRRJ3e/files" + }, + { + "name": "initial", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/initial/5367902-19_x0awyNFSLh0ag2dZ/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-19_main_5367902-19", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } + } +] diff --git a/output/akEndfield/launcher/game_resources/6/iOS/latest.json b/output/akEndfield/launcher/game_resources/6/iOS/latest.json new file mode 100644 index 0000000..5387d02 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/iOS/latest.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "iOS" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/main/5367902-19_LaSCOf67UNSRRJ3e/files" + }, + { + "name": "initial", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/initial/5367902-19_x0awyNFSLh0ag2dZ/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-19_main_5367902-19", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/iOS/v1.0.13.json b/output/akEndfield/launcher/game_resources/6/iOS/v1.0.13.json new file mode 100644 index 0000000..150b8e7 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/iOS/v1.0.13.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.13", + "randStr": "i5QZm30fLgOWSldR", + "platform": "iOS" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/main/5367902-19_LaSCOf67UNSRRJ3e/files" + }, + { + "name": "initial", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/initial/5367902-19_x0awyNFSLh0ag2dZ/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-19_main_5367902-19", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/iOS/v1.0.14.json b/output/akEndfield/launcher/game_resources/6/iOS/v1.0.14.json new file mode 100644 index 0000000..5387d02 --- /dev/null +++ b/output/akEndfield/launcher/game_resources/6/iOS/v1.0.14.json @@ -0,0 +1,27 @@ +{ + "req": { + "appCode": "YDUTE5gscDZ229CW", + "gameVersion": "1.0", + "version": "1.0.14", + "randStr": "Qk2mXHuAH1JWKF37", + "platform": "iOS" + }, + "rsp": { + "resources": [ + { + "name": "main", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/main/5367902-19_LaSCOf67UNSRRJ3e/files" + }, + { + "name": "initial", + "version": "5367902-19", + "path": "https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/initial/5367902-19_x0awyNFSLh0ag2dZ/files" + } + ], + "configs": "{\"kick_flag\":false}", + "res_version": "initial_5367902-19_main_5367902-19", + "patch_index_path": "", + "domain": "https://beyond.hg-cdn.com" + } +} diff --git a/output/akEndfield/launcher/game_resources/6/list.md b/output/akEndfield/launcher/game_resources/6/list.md index d4e154a..53c3d08 100644 --- a/output/akEndfield/launcher/game_resources/6/list.md +++ b/output/akEndfield/launcher/game_resources/6/list.md @@ -1,7 +1,32 @@ # Game Resources +- [Windows](#res-Windows) +- [Android](#res-Android) +- [iOS](#res-iOS) +- [PlayStation](#res-PlayStation) + +

Windows

+ | Res version | Initial | Main | Game version | | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------- | | `initial_5327933-13_main_5327933-13` | [5327933-13](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/initial/5327933-13_MxibWISDlHu4FYDu/files) | [5327933-13](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/main/5327933-13_pYX1R4dE1CSyfylE/files) | 1.0.13 | | `initial_5340632-14_main_5340632-14` | [5340632-14](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/initial/5340632-14_dQKNcTzL53b3s9ZH/files) | [5340632-14](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/main/5340632-14_9p3lPE9qFFEWBOaC/files) | 1.0.13 | -| `initial_5367902-17_main_5367902-17` | [5367902-17](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/initial/5367902-17_LrQj49LPFpyDgIej/files) | [5367902-17](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/main/5367902-17_fLACemodWWueNQYf/files) | 1.0.13, 1.0.14 | +| `initial_5367902-17_main_5367902-17` | [5367902-17](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/initial/5367902-17_LrQj49LPFpyDgIej/files) | [5367902-17](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Windows/main/5367902-17_fLACemodWWueNQYf/files) | 1.0.14, 1.0.13 | + +

Android

+ +| Res version | Initial | Main | Game version | +| ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------- | +| `initial_5367902-16_main_5367902-16` | [5367902-16](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/initial/5367902-16_Iz8jbA4vGWqy0jdz/files) | [5367902-16](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/Android/main/5367902-16_OOWL2udleuIrnOqU/files) | 1.0.14, 1.0.13 | + +

iOS

+ +| Res version | Initial | Main | Game version | +| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -------------- | +| `initial_5367902-19_main_5367902-19` | [5367902-19](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/initial/5367902-19_x0awyNFSLh0ag2dZ/files) | [5367902-19](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/iOS/main/5367902-19_LaSCOf67UNSRRJ3e/files) | 1.0.14, 1.0.13 | + +

PlayStation

+ +| Res version | Initial | Main | Game version | +| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------- | +| `initial_5367902-107_main_5367902-107` | [5367902-107](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/initial/5367902-107_m6lq8U24uDuaoWO2/files) | [5367902-107](https://beyond.hg-cdn.com/YDUTE5gscDZ229CW/1.0/resource/PlayStation/main/5367902-107_OFLPFAqzMDPLAS9V/files) | 1.0.14, 1.0.13 | diff --git a/src/cmds/test.ts b/src/cmds/test.ts index 5d066fe..97ef20c 100644 --- a/src/cmds/test.ts +++ b/src/cmds/test.ts @@ -189,6 +189,8 @@ async function mainCmdHandler() { await (async () => { logger.debug('Fetching latestGameRes ...'); + const platforms = ['Windows', 'Android', 'iOS', 'PlayStation'] as const; + const gameAllJsonPath = path.join( argvUtils.getArgv()['outputDir'], 'akEndfield', @@ -214,33 +216,38 @@ async function mainCmdHandler() { randStr: /_([^/]+)\/.+?$/.exec(e.pkg.file_path)![1], })) .sort((a, b) => semver.compare(b.version, a.version)); - let isLatestWrote: boolean = false; - for (const versionInfoEntry of versionInfoList) { - if (!versionInfoEntry.randStr) throw new Error('version rand_str not found'); - const rsp = await apiUtils.apiAkEndfield.launcher.latestGameResources( - cfg.appCode.game.osWinRel, - versionInfoEntry.versionMinor, - versionInfoEntry.version, - versionInfoEntry.randStr, - ); - logger.info(`Fetched latestGameRes: v${versionInfoEntry.version}, ${rsp.res_version}`); - const prettyRsp = { - req: { - appCode: cfg.appCode.game.osWinRel, - gameVersion: versionInfoEntry.versionMinor, - version: versionInfoEntry.version, - randStr: versionInfoEntry.randStr, - }, - rsp, - }; - await saveResult( - ['akEndfield', 'launcher', 'game_resources', channelStr], - versionInfoEntry.version, - prettyRsp, - !isLatestWrote, - ); - isLatestWrote = true; + for (const platform of platforms) { + let isLatestWrote: boolean = false; + for (const versionInfoEntry of versionInfoList) { + if (!versionInfoEntry.randStr) throw new Error('version rand_str not found'); + const rsp = await apiUtils.apiAkEndfield.launcher.latestGameResources( + cfg.appCode.game.osWinRel, + versionInfoEntry.versionMinor, + versionInfoEntry.version, + versionInfoEntry.randStr, + platform, + ); + logger.info(`Fetched latestGameRes: ${platform}, v${versionInfoEntry.version}, ${rsp.res_version}`); + const prettyRsp = { + req: { + appCode: cfg.appCode.game.osWinRel, + gameVersion: versionInfoEntry.versionMinor, + version: versionInfoEntry.version, + randStr: versionInfoEntry.randStr, + platform, + }, + rsp, + }; + + await saveResult( + ['akEndfield', 'launcher', 'game_resources', channelStr, platform], + versionInfoEntry.version, + prettyRsp, + !isLatestWrote, + ); + isLatestWrote = true; + } } })(); @@ -375,39 +382,62 @@ async function mainCmdHandler() { })(); await (async () => { - const gameAllJson = await Bun.file( - path.join(argvUtils.getArgv()['outputDir'], 'akEndfield', 'launcher', 'game_resources', channelStr, 'all.json'), - ).json(); - const resVersionSet: { - resVersion: string; - rsp: { rsp: Awaited> }; - versions: string[]; - }[] = (() => { - const resVersions: string[] = [...new Set(gameAllJson.map((e: any) => e.rsp.res_version))] as string[]; - const arr: { resVersion: string; rsp: any; versions: string[] }[] = []; - for (const resVersion of resVersions) { - arr.push({ - resVersion, - rsp: gameAllJson.find((e: any) => e.rsp.res_version === resVersion), - versions: [ - ...new Set( - gameAllJson.filter((e: any) => e.rsp.res_version === resVersion).map((e: any) => e.req.version), - ), - ] as string[], - }); - } - return arr; - })(); const mdTexts: string[] = []; mdTexts.push( '# Game Resources\n', - '|Res version|Initial|Main|Game version|', - '|--|--|--|--|', - ...resVersionSet.map( - (resVerObj) => - `|\`${resVerObj.rsp.rsp.res_version}\`|[${resVerObj.rsp.rsp.resources.find((e) => e.name === 'initial')!.version}](${resVerObj.rsp.rsp.resources.find((e) => e.name === 'initial')!.path})|[${resVerObj.rsp.rsp.resources.find((e) => e.name === 'main')!.version}](${resVerObj.rsp.rsp.resources.find((e) => e.name === 'main')!.path})|${resVerObj.versions.join(', ')}|`, - ), + '- [Windows](#res-Windows)', + '- [Android](#res-Android)', + '- [iOS](#res-iOS)', + '- [PlayStation](#res-PlayStation)\n', ); + // `

${e.rsp.version} (${DateTime.fromISO(e.updatedAt, { setZone: true }).setZone('UTC+8').toFormat('yyyy/MM/dd HH:mm:ss')})

\n` + + const platforms = ['Windows', 'Android', 'iOS', 'PlayStation'] as const; + + for (const platform of platforms) { + const gameAllJson = await Bun.file( + path.join( + argvUtils.getArgv()['outputDir'], + 'akEndfield', + 'launcher', + 'game_resources', + channelStr, + platform, + 'all.json', + ), + ).json(); + const resVersionSet: { + resVersion: string; + rsp: { rsp: Awaited> }; + versions: string[]; + }[] = (() => { + const resVersions: string[] = [...new Set(gameAllJson.map((e: any) => e.rsp.res_version))] as string[]; + const arr: { resVersion: string; rsp: any; versions: string[] }[] = []; + for (const resVersion of resVersions) { + arr.push({ + resVersion, + rsp: gameAllJson.find((e: any) => e.rsp.res_version === resVersion), + versions: [ + ...new Set( + gameAllJson.filter((e: any) => e.rsp.res_version === resVersion).map((e: any) => e.req.version), + ), + ] as string[], + }); + } + return arr; + })(); + mdTexts.push( + `

${platform}

\n`, + '|Res version|Initial|Main|Game version|', + '|--|--|--|--|', + ...resVersionSet.map( + (resVerObj) => + `|\`${resVerObj.rsp.rsp.res_version}\`|[${resVerObj.rsp.rsp.resources.find((e) => e.name === 'initial')!.version}](${resVerObj.rsp.rsp.resources.find((e) => e.name === 'initial')!.path})|[${resVerObj.rsp.rsp.resources.find((e) => e.name === 'main')!.version}](${resVerObj.rsp.rsp.resources.find((e) => e.name === 'main')!.path})|${resVerObj.versions.sort((a, b) => semver.compare(b, a)).join(', ')}|`, + ), + '', + ); + } + await Bun.write( path.join(argvUtils.getArgv()['outputDir'], 'akEndfield', 'launcher', 'game_resources', channelStr, 'list.md'), mdTexts.join('\n'), diff --git a/src/utils/api.ts b/src/utils/api.ts index ef7bbb5..ed05d6b 100644 --- a/src/utils/api.ts +++ b/src/utils/api.ts @@ -61,7 +61,7 @@ export default { gameVersion: string, // example: 1.0 version: string, randStr: string, - platform: 'Windows' = 'Windows', + platform: 'Windows' | 'Android' | 'iOS' | 'PlayStation', ): Promise => { if (!semver.valid(version)) throw new Error(`Invalid version string (${version})`); const rsp = await ky