Grasscutters / Grasscutter

A server software reimplementation for a certain anime game.
https://grasscutter.io/
GNU Affero General Public License v3.0
16.18k stars 4.47k forks source link

Infinite loading #179

Closed sjc74364 closed 2 years ago

sjc74364 commented 2 years ago

╭─root@localhost ~/disk/g/Grasscutter ‹stable*› ╰─➤ java -version 130 ↵ java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

╭─root@localhost ~/disk/g/Grasscutter ‹stable*› ╰─➤ java -jar grasscutter.jar [14:17:57] [INFO] Starting Grasscutter... [14:17:58] [INFO] Loaded 300 AvatarTalentDatas. [14:17:58] [INFO] Loaded 400 AvatarSkillDatas. [14:17:58] [INFO] Loaded 3794 FetterDatas. [14:17:58] [INFO] Loaded 73 AvatarSkillDepotDatas. [14:17:58] [INFO] Loaded 167 MonsterDescribeDatas. [14:17:58] [INFO] Loaded 1 AvatarCostumeDatas. [14:17:58] [INFO] Loaded 3032 NpcDatas. [14:17:58] [INFO] Loaded 66 ReliquaryMainPropDatas. [14:17:58] [INFO] Loaded 200 MonsterCurveDatas. [14:17:58] [INFO] Loaded 717 SceneDatas. [14:17:58] [INFO] Loaded 90 AvatarLevelDatas. [14:17:58] [INFO] Loaded 6889 ItemDatas. [14:17:58] [INFO] Loaded 336 AvatarPromoteDatas. [14:17:58] [INFO] Loaded 90 WeaponLevelDatas. [14:17:58] [INFO] Loaded 335 ReliquaryAffixDatas. [14:17:58] [INFO] Loaded 939 WeaponPromoteDatas. [14:17:58] [INFO] Loaded 9 AvatarFlycloakDatas. [14:17:58] [INFO] Loaded 6626 GadgetDatas. [14:17:58] [INFO] Loaded 42 ReliquarySetDatas. [14:17:58] [INFO] Loaded 100 AvatarCurveDatas. [14:17:58] [INFO] Loaded 100 WeaponCurveDatas. [14:17:58] [INFO] Loaded 744 EquipAffixDatas. [14:17:58] [INFO] Loaded 60 PlayerLevelDatas. [14:17:58] [INFO] Loaded 101 ReliquaryLevelDatas. [14:17:58] [INFO] Loaded 2420 ProudSkillDatas. [14:17:59] [INFO] Loaded 568 MonsterDatas. [14:17:59] [INFO] Loaded 78 AvatarDatas. [14:17:59] [ERROR] Scene point files cannot be found, you cannot use teleport waypoints! [14:17:59] [ERROR] Relic properties are missing weights! Please check your ReliquaryMainPropExcelConfigData or ReliquaryAffixExcelConfigData files in your ExcelBinOutput folder. [14:17:59] [INFO] Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'} [14:17:59] [INFO] Opened connection [connectionId{localValue:2, serverValue:4}] to localhost:27017 [14:17:59] [INFO] Opened connection [connectionId{localValue:1, serverValue:5}] to localhost:27017 [14:17:59] [INFO] Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, minWireVersion=0, maxWireVersion=6, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=58043385} [14:17:59] [INFO] Opened connection [connectionId{localValue:3, serverValue:6}] to localhost:27017 [14:17:59] [INFO] [Dispatch] Dispatch server started on port 443 [14:18:00] [INFO] Registered 86 PacketHandlers [14:18:00] [INFO] Banners successfully loaded. [14:18:00] [INFO] Game Server started on port 22102 [14:18:40] [INFO] [Dispatch] Client localhost/127.0.0.1:41870 request: query_region_list

config.json

{ "DatabaseUrl": "mongodb://localhost:27017", "DatabaseCollection": "grasscutter", "RESOURCE_FOLDER": "./resources/", "DATA_FOLDER": "./data/", "PACKETS_FOLDER": "./packets/", "DUMPS_FOLDER": "./dumps/", "KEY_FOLDER": "./keys/", "RunMode": "HYBRID", "GameServer": { "Name": "Test", "Ip": "0.0.0.0", "PublicIp": "127.0.0.1", "Port": 22102, "DispatchServerDatabaseUrl": "mongodb://localhost:27017", "DispatchServerDatabaseCollection": "grasscutter", "LOG_PACKETS": false, "InventoryLimitWeapon": 2000, "InventoryLimitRelic": 2000, "InventoryLimitMaterial": 2000, "InventoryLimitFurniture": 2000, "InventoryLimitAll": 30000, "MaxAvatarsInTeam": 4, "MaxAvatarsInTeamMultiplayer": 4, "MaxEntityLimit": 1000, "WatchGacha": false, "WelcomeEmotes": [ 2007, 1002, 4010 ], "WelcomeMotd": "Welcome to Grasscutter emu", "Game": { "ADVENTURE_EXP_RATE": 1.0, "MORA_RATE": 1.0, "DOMAIN_DROP_RATE": 1.0 } }, "DispatchServer": { "Ip": "0.0.0.0", "PublicIp": "127.0.0.1", "Port": 443, "KeystorePath": "./keystore.p12", "KeystorePassword": "", "UseSSL": true, "AutomaticallyCreateAccounts": false, "GameServers": [] } }

Screenshot_2022-04-24-14-19-35-929_com miHoYo Yuanshen

sjc74364 commented 2 years ago

script:

!/usr/bin/env python

-- coding: utf-8 --

def request(flow): l = [ "https://api-os-takumi.mihoyo.com/", "https://hk4e-api-os-static.mihoyo.com/", "https://hk4e-sdk-os.mihoyo.com/", "https://dispatchosglobal.yuanshen.com/", "https://osusadispatch.yuanshen.com/", "https://account.mihoyo.com/", "https://log-upload-os.mihoyo.com/", "https://dispatchcntest.yuanshen.com/", "https://devlog-upload.mihoyo.com/", "https://webstatic.mihoyo.com/", "https://log-upload.mihoyo.com/", "https://hk4e-sdk.mihoyo.com/", "https://api-beta-sdk.mihoyo.com/", "https://api-beta-sdk-os.mihoyo.com/", "https://cnbeta01dispatch.yuanshen.com/", "https://dispatchcnglobal.yuanshen.com/", "https://cnbeta02dispatch.yuanshen.com/", "https://sdk-os-static.mihoyo.com/", "https://webstatic-sea.mihoyo.com/", "https://webstatic-sea.hoyoverse.com/", "https://hk4e-sdk-os-static.hoyoverse.com/", "https://sdk-os-static.hoyoverse.com/", "https://api-account-os.hoyoverse.com/", "https://hk4e-sdk-os.hoyoverse.com/" ] url = flow.request.url if url.startswith("http://overseauspider.yuanshen.com:8888/log"): flow.request.url = "" print("\033[36m 拦截\033[0m") for i in l: if url.startswith(i): flow.request.host = "127.0.0.1" new_url = flow.request.url print("\033[36m 替换: %s -> %s \033[0m" % (url, new_url)) #Replace

sjc74364 commented 2 years ago

mitmdump log: 127.0.0.1:41070: client connect 127.0.0.1:41070: server connect hk4e-sdk.mihoyo.com:443 (203.107.36.87:443) 替换: https://hk4e-sdk.mihoyo.com/hk4e_cn/combo/granter/api/compareProtocolVersion?app_id=4&language=zh-cn&major=26&minimum=2&channel_id=1 -> https://127.0.0.1/hk4e_cn/combo/granter/api/compareProtocolVersion?app_id=4&language=zh-cn&major=26&minimum=2&channel_id=1 127.0.0.1:41070: server connect 127.0.0.1:443 127.0.0.1:41070: GET https://127.0.0.1/hk4e_cn/combo/granter/api/compareProtocolVersion?app… << 200 OK 5b 127.0.0.1:41078: client connect 127.0.0.1:41078: server connect dispatchcnglobal.yuanshen.com:443 (203.107.54.189:443) 替换: https://dispatchcnglobal.yuanshen.com/query_region_list?version=CNRELAndroid2.6.0&lang=2&platform=2&binary=1&time=987&channel_id=1&sub_channel_id=1 -> https://127.0.0.1/query_region_list?version=CNRELAndroid2.6.0&lang=2&platform=2&binary=1&time=987&channel_id=1&sub_channel_id=1 127.0.0.1:41078: server connect 127.0.0.1:443 127.0.0.1:41078: GET https://127.0.0.1/query_region_list?version=CNRELAndroid2.6.0&lang=2&p… << 200 OK 3.0k 127.0.0.1:41120: client connect 127.0.0.1:41122: client connect 127.0.0.1:41124: client connect 127.0.0.1:41126: client connect 127.0.0.1:41128: client connect 127.0.0.1:41130: client connect 127.0.0.1:41132: client connect 127.0.0.1:41128: server connect minor-api-os.hoyoverse.com:443 (47.242.34.135:443) 127.0.0.1:41152: client connect 127.0.0.1:41130: server connect sdk-os-static.hoyoverse.com:443 (116.0.89.225:443) 127.0.0.1:41158: client connect 127.0.0.1:41152: server connect api.fd.mob.com:443 (203.107.80.4:443) 127.0.0.1:41126: server connect hk4e-sdk-os-static.hoyoverse.com:443 (163.181.77.228:443) 127.0.0.1:41132: server connect hk4e-sdk-os-static.hoyoverse.com:443 (163.181.77.228:443) 127.0.0.1:41124: server connect hk4e-sdk-os-static.hoyoverse.com:443 (163.181.77.228:443) 127.0.0.1:41120: server connect webstatic-sea.hoyoverse.com:443 (116.0.89.223:443) 127.0.0.1:41158: server connect devs.data.mob.com:443 (203.107.55.19:443) 127.0.0.1:41164: client connect 127.0.0.1:41122: server connect webstatic-sea.hoyoverse.com:443 (203.80.126.214:443) 替换: https://sdk-os-static.hoyoverse.com/combo/box/api/config/sdk/combo?biz_key=hk4e_global&client_type=2 -> https://127.0.0.1/combo/box/api/config/sdk/combo?biz_key=hk4e_global&client_type=2 127.0.0.1:41130: server connect 127.0.0.1:443 127.0.0.1:41128: POST https://minor-api-os.hoyoverse.com/common/h5log/log/batch?topic=plat_e… HTTP/2.0 << HTTP/2.0 200 OK 45b 127.0.0.1:41164: server connect ali-stats.jpush.cn:443 (183.232.25.139:443) 127.0.0.1:41152: GET https://api.fd.mob.com/privacy/policy/authorization/status?appkey=2e7e… << 200 OK 32b 127.0.0.1:41130: GET https://127.0.0.1/combo/box/api/config/sdk/combo?biz_key=hk4e_global&c… HTTP/2.0 << HTTP/1.1 200 OK 140b 127.0.0.1:41130: server disconnect 127.0.0.1:443 127.0.0.1:41070: client disconnect 127.0.0.1:41070: server disconnect hk4e-sdk.mihoyo.com:443 (203.107.36.87:443) 127.0.0.1:41070: server disconnect 127.0.0.1:443 127.0.0.1:41158: GET https://devs.data.mob.com/v5/gcf?appkey=2e7eda29c2128&plat=1&apppkg=co… << 200 OK 1.4k 127.0.0.1:41164: POST https://ali-stats.jpush.cn/v3/report << 200 OK 29b 替换: https://hk4e-sdk-os-static.hoyoverse.com/hk4e_global/combo/granter/api/getFont?app_id=4 -> https://127.0.0.1/hk4e_global/combo/granter/api/getFont?app_id=4 127.0.0.1:41126: server connect 127.0.0.1:443 127.0.0.1:41126: GET https://127.0.0.1/hk4e_global/combo/granter/api/getFont?app_id=4 HTTP/2.0 << HTTP/1.1 200 OK 5b 127.0.0.1:41126: server disconnect 127.0.0.1:443 替换: https://webstatic-sea.hoyoverse.com/admin/mi18n/plat_oversea/m202003049/m202003049-version.json -> https://127.0.0.1/admin/mi18n/plat_oversea/m202003049/m202003049-version.json 127.0.0.1:41120: server connect 127.0.0.1:443 127.0.0.1:41120: GET https://127.0.0.1/admin/mi18n/plat_oversea/m202003049/m202003049-versi… HTTP/2.0 << HTTP/1.1 200 OK 5b 127.0.0.1:41120: server disconnect 127.0.0.1:443 127.0.0.1:41078: client disconnect 127.0.0.1:41078: server disconnect dispatchcnglobal.yuanshen.com:443 (203.107.54.189:443) 127.0.0.1:41078: server disconnect 127.0.0.1:443 替换: https://hk4e-sdk-os-static.hoyoverse.com/hk4e_global/combo/granter/api/getConfig?app_id=4&channel_id=1&client_type=2 -> https://127.0.0.1/hk4e_global/combo/granter/api/getConfig?app_id=4&channel_id=1&client_type=2 127.0.0.1:41132: client disconnect 127.0.0.1:41132: server disconnect hk4e-sdk-os-static.hoyoverse.com:443 (163.181.77.228:443) 127.0.0.1:41126: server connect 127.0.0.1:443 127.0.0.1:41126: GET https://127.0.0.1/hk4e_global/combo/granter/api/getConfig?app_id=4&cha… HTTP/2.0 << HTTP/1.1 200 OK 392b 127.0.0.1:41126: server disconnect 127.0.0.1:443 替换: https://hk4e-sdk-os-static.hoyoverse.com/hk4e_global/combo/granter/api/getFont?app_id=4 -> https://127.0.0.1/hk4e_global/combo/granter/api/getFont?app_id=4 127.0.0.1:41124: client disconnect 127.0.0.1:41124: server disconnect hk4e-sdk-os-static.hoyoverse.com:443 (163.181.77.228:443) 127.0.0.1:41126: server connect 127.0.0.1:443 127.0.0.1:41126: GET https://127.0.0.1/hk4e_global/combo/granter/api/getFont?app_id=4 HTTP/2.0 << HTTP/1.1 200 OK 5b 127.0.0.1:41126: server disconnect 127.0.0.1:443 127.0.0.1:41128: client disconnect 127.0.0.1:41128: server disconnect minor-api-os.hoyoverse.com:443 (47.242.34.135:443) 替换: https://webstatic-sea.hoyoverse.com/admin/mi18n/plat_oversea/m202003049/m202003049-version.json -> https://127.0.0.1/admin/mi18n/plat_oversea/m202003049/m202003049-version.json 127.0.0.1:41120: server connect 127.0.0.1:443 127.0.0.1:41152: client disconnect 127.0.0.1:41152: server disconnect api.fd.mob.com:443 (203.107.80.4:443) 127.0.0.1:41130: client disconnect 127.0.0.1:41130: server disconnect sdk-os-static.hoyoverse.com:443 (116.0.89.225:443) 127.0.0.1:41120: GET https://127.0.0.1/admin/mi18n/plat_oversea/m202003049/m202003049-versi… HTTP/2.0 << HTTP/1.1 200 OK 5b 127.0.0.1:41120: server disconnect 127.0.0.1:443 127.0.0.1:41158: client disconnect 127.0.0.1:41158: server disconnect devs.data.mob.com:443 (203.107.55.19:443) 127.0.0.1:41164: client disconnect 127.0.0.1:41164: server disconnect ali-stats.jpush.cn:443 (183.232.25.139:443) 127.0.0.1:41186: client connect 127.0.0.1:41186: server connect log-upload-os.hoyoverse.com:443 ([2600:9000:221b:4800:4:e227:3c0:93a1]:443) 127.0.0.1:41186: POST https://log-upload-os.hoyoverse.com/sdk/dataUpload HTTP/2.0 << HTTP/2.0 200 OK 10b 127.0.0.1:41126: client disconnect 127.0.0.1:41126: server disconnect hk4e-sdk-os-static.hoyoverse.com:443 (163.181.77.228:443) 127.0.0.1:41120: client disconnect 127.0.0.1:41120: server disconnect webstatic-sea.hoyoverse.com:443 (116.0.89.223:443) 127.0.0.1:41186: client disconnect 127.0.0.1:41186: server disconnect log-upload-os.hoyoverse.com:443 ([2600:9000:221b:4800:4:e227:3c0:93a1]:443) 127.0.0.1:41194: client connect 127.0.0.1:41194: server connect log-upload-os.hoyoverse.com:443 ([2600:9000:221b:4800:4:e227:3c0:93a1]:443) 127.0.0.1:41194: POST https://log-upload-os.hoyoverse.com/sdk/dataUpload HTTP/2.0 << HTTP/2.0 200 OK 10b 127.0.0.1:41204: client connect 127.0.0.1:41204: server connect minor-api-os.hoyoverse.com:443 (47.242.34.135:443) 127.0.0.1:41204: POST https://minor-api-os.hoyoverse.com/common/h5log/log/batch?topic=plat_e… HTTP/2.0 << HTTP/2.0 200 OK 45b 127.0.0.1:41210: client connect 127.0.0.1:41210: 127.0.0.1:41210: Bad HTTP request line: b'CONNECT :7000 HTTP/1.1' 127.0.0.1:41210: client disconnect 127.0.0.1:41194: client disconnect 127.0.0.1:41194: server disconnect log-upload-os.hoyoverse.com:443 ([2600:9000:221b:4800:4:e227:3c0:93a1]:443) 127.0.0.1:41204: client disconnect 127.0.0.1:41204: server disconnect minor-api-os.hoyoverse.com:443 (47.242.34.135:443) 127.0.0.1:41216: client connect 127.0.0.1:41216: 127.0.0.1:41216: Bad HTTP request line: b'CONNECT :7000 HTTP/1.1' 127.0.0.1:41216: client disconnect 127.0.0.1:41228: client connect 127.0.0.1:41228: server connect minor-api-os.hoyoverse.com:443 (47.242.34.135:443) 127.0.0.1:41228: POST https://minor-api-os.hoyoverse.com/common/h5log/log/batch?topic=plat_ex… HTTP/2.0 << HTTP/2.0 200 OK 45b 127.0.0.1:41238: client connect 127.0.0.1:41238: 127.0.0.1:41238: Bad HTTP request line: b'CONNECT :7000 HTTP/1.1' 127.0.0.1:41238: client disconnect 127.0.0.1:41228: client disconnect 127.0.0.1:41228: server disconnect minor-api-os.hoyoverse.com:443 (47.242.34.135:443) 127.0.0.1:41244: client connect

Scirese commented 2 years ago

maybe #76 is helpful to you