船上岸log

This commit is contained in:
wuwenbo 2026-06-08 11:50:03 +08:00
parent 499d3bb14b
commit 91619560ff
13 changed files with 946 additions and 5 deletions

View File

@ -0,0 +1,31 @@
# 重大事件公告 UI 空引用
- 分类blocking
- Issue 数1
- `0.7.3c` 最近一天次数1
- 设备数合计1
- 报告生成2026-06-07 22:50:42
## Issue
| Issue | 类型 | 次数 | 设备 | 最近上报 | 消息 |
|---|---|---:|---:|---|---|
| [28071c1fd90fc17750239092279945b9](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/28071c1fd90fc17750239092279945b9?pid=10) | UnityLogError | 1 | 1 | 2026-06-07 18:54:29 | EventManager Publish<ShowUIAnnounceMajorEvent> listener failed: System.NullReferenceException: Object reference not set to an instance of an object. at TH1_UI.View.Announce.UIAnnounceMajorEventView.ewb (TH1_Core.Events.UIAnnounceMajorEventType a, System.Int32 b, System.Int32 c) [0x00000] in <00000000000000000000000000000000>:0 at era.bvr () [0x00000] in <00 |
## 设备上下文
未抓到 blocking_contexts本类根因只能基于 Issue 列表和栈,属于不完整分析。
## 代码位置
- `Unity/Assets/Scripts\TH1_UI\View\Announce\UIAnnounceMajorEventView.cs:16: public class UIAnnounceMajorEventView : Base.View`
- `Unity/Assets/Scripts\TH1_UI\View\Announce\UIAnnounceMajorEventView.cs:63: LogSystem.LogError("UIAnnounceMajorEventView.SetContent(): Title or Content or Image or Image is null");`
- `Unity/Assets/Scripts\TH1_UI\Controller\Announce\UIAnnounceMajorEventController.cs:15: public class UIAnnounceMajorEventController : ViewController<UIAnnounceMajorEventView>, IEscClosable // 泛型参数是对应的View脚本`
## 判断
这是阻断类,因为 CrashSight 行或 LogError 包装内容中存在真实异常类型、异常对象或调用栈;不是单纯业务状态诊断。
## 建议
优先按次数最高的 Issue 样本复现并修复;若同设备上报序列中出现更早的异常,应以更早异常作为源头处理。

View File

@ -0,0 +1,43 @@
# CrashSight 0.7.3c 最近一天 ERROR 分析
- 捕获时间2026-06-07 22:50:42
- 筛选范围:`0.7.3c``last_1_day`ERROR未处理/处理中
- CrashSight numFound130
- 去重 Issue130
- blocking1 个 Issue1 次
- logerror129 个 Issue575 次
- 原始数据:`Temp\CrashSight\Daily_2026-06-07_0.7.3c_reconnect_check`
## 阻断家族
| 家族 | Issue 数 | 次数 | 报告 |
|---|---:|---:|---|
| 重大事件公告 UI 空引用 | 1 | 1 | [blocking/001_announce-major-event-null.md](blocking/001_announce-major-event-null.md) |
## 非阻断高频
| 类别 | Issue 数 | 次数 |
|---|---:|---:|
| 网络发送失败诊断 | 22 | 147 |
| P2P/大厅连接失败诊断 | 3 | 120 |
| 相似 Action 重复诊断 | 15 | 93 |
| 其他项目诊断日志 | 58 | 58 |
| AI 计算死循环保护 | 2 | 53 |
| 行动同步版本/索引不一致 | 5 | 45 |
| 断线重连/ForceUpdate 诊断 | 7 | 32 |
| MapData 序列化差异诊断 | 7 | 13 |
| 不可执行行动圈诊断 | 2 | 5 |
| 行动执行玩家不一致 | 3 | 4 |
| STS/OSS 上传失败诊断 | 2 | 2 |
| ForceUpdate 玩家网络映射失败 | 1 | 1 |
## 报告
- [0.7.3c 联机重连修复核验](reconnect_fix_check.md)
- [LogError Summary](logerror_summary.md)
- [重大事件公告 UI 空引用](blocking/001_announce-major-event-null.md)
## 说明
blocking 的判定只认真实异常类型、异常对象或调用栈;纯 `LogSystem.LogError` 业务状态诊断归入 logerror。
本次通过 CrashSight OpenAPI 抓取样本详情和同设备最近 ERROR 上报序列;若样本 `hasLogFile=false`,文档会明确标记上下文限制。

View File

@ -0,0 +1,159 @@
# LogError Summary
- 筛选范围:`0.7.3c``last_1_day`ERRORstatus `0,2`
- 捕获时间2026-06-07 22:50:42
- 非阻断 Issue129
- 非阻断次数575
## 分类汇总
| 类别 | Issue 数 | 次数 | 设备数 | 代码位置 | 示例 Issue |
|---|---:|---:|---:|---|---|
| 网络发送失败诊断 | 22 | 147 | 32 | Unity/Assets/Scripts\TH1_Logic\Action\ActionLogic.cs:1229: LogSystem.LogError($"ActionConfirm send failed, abort local execute: {ActionId.GetStringLog()}"); | d7a74e6e95985e97e0bbecc7de0c0f44, 2cb3d67ddfe0d9587abd02390f5de041, dbce2880e5ad9287fcca2bf271f97622 |
| P2P/大厅连接失败诊断 | 3 | 120 | 34 | Unity/Assets/Scripts\TH1_Logic\Steam\SimpleP2P.cs:479: LogSystem.LogError($"Connection failed - Reason: {endReason}"); | 9b415b4bbb546c66eba3a6b67f916d35, bc7e88e9811a3e38d26e15577210e3d7, 01eaa6aefd9162eccc930c2450a63779 |
| 相似 Action 重复诊断 | 15 | 93 | 30 | Unity/Assets/Scripts\TH1_Logic\AI\AILogic.cs:230: if(_sameCount > 5) LogSystem.LogError($"存在相似action ,记录点为:{MainEditor.Instance.BTNodeId} ," + | 3511ce83d1e6f9e4d43080a8b932d294, 13021b124af1bc7fdcc5bb8e1aa1671a, 284527635e39660c5430a3fe6170231a |
| 其他项目诊断日志 | 58 | 58 | 58 | 未直接定位 | 81771b7253be221e89b1e44031d81356, fd9f9b44c9c3f88fadbeb37bb69f5106, b6cf96a310fa240d4761f0e42a3d6ac8 |
| AI 计算死循环保护 | 2 | 53 | 18 | Unity/Assets/Scripts\TH1_Logic\AI\AIActionBase.cs:528: LogSystem.LogError($"死循环了");<br>Unity/Assets/Scripts\TH1_Logic\AI\AILogic.cs:179: LogSystem.LogError($"死循环了,最终记录点为:{MainEditor.Instance.BTNodeId}"); | bb81bce180d8672f500aa9f2021ec9f8, 83c5b5b46447ac4e50101f1148f4ab70 |
| 行动同步版本/索引不一致 | 5 | 45 | 23 | Unity/Assets/Scripts\TH1_Logic\Steam\GameNetReceiver.cs:131: LogSystem.LogError($"OnReceivedActionConfirm Version 不一致"); | 2eb88941cddccae4e4a6bdcd2039a4d8, 5e769ceb6984e585fd75e489e9494182, 92f4c5e50096b89f95d193502cfc549d |
| 断线重连/ForceUpdate 诊断 | 7 | 32 | 24 | Unity/Assets/Scripts\TH1_Logic\Steam\GameNetSender.cs:422: public void SendRequestForceUpdate()<br>Unity/Assets/Scripts\TH1_Logic\Steam\GameNetSender.cs:429: LogSystem.LogWarning($"客户端请求重连冷却中: SendRequestForceUpdate, remain={RequestForceUpdateCooldown - (now - _lastRequestForceUpdateTime):F1}s");<br>Unity/Assets/Scripts\TH1_Logic\Steam\GameNetSender.cs:434: LogSystem.LogError($"客户端请求重连: SendRequestForceUpdate"); | 94fb5e01173c5d1397000e95a2739712, 69501b0b39dadbf5214be77d938959bb, 4224c3cdb5a90fa901fca232983f1bd8 |
| MapData 序列化差异诊断 | 7 | 13 | 9 | Unity/Assets/Scripts\TH1_Data\MapData.cs:2765: differences.Add($"{name} differs (serialized data mismatch)"); | ec9b35f132c026fb957a88f80962154b, 2d15aaee38c731daa3a3297c6e0ccc47, b9472ba8128ecfd89760e9fb5419bb35 |
| 不可执行行动圈诊断 | 2 | 5 | 4 | Unity/Assets/Scripts\TH1_UI\View\Info\UIInfoCommonBaseActionCircleMono.cs:152: LogSystem.LogError($"CityLevelUpAction 不应该出现在无法执行的action circle里, Tyep :{cantType}"); | afab627d5968425dd709868c89c8be35, 3d602afbdfcb5b6f89c19734c0d9c9bd |
| 行动执行玩家不一致 | 3 | 4 | 4 | Unity/Assets/Scripts\TH1_Logic\Action\ActionLogic.cs:1202: LogSystem.LogError($"CompleteExecute Player 不一致 {ActionId.GetStringLog()}"); | 83bce7d7daa43d052ed4bb75dc4c7d51, 318968bdfd3b44c9fe72d9f835ce4547, adeb5e53dc72517e9efaa01fdda5eb68 |
| STS/OSS 上传失败诊断 | 2 | 2 | 2 | Unity/Assets/Scripts\TH1_Logic\Oss\OssManager.cs:124: LogSystem.LogError($"CollectData upload failed: {ex.Message}"); | 93509b23a954c79d835f4138bab9f3f7, 4519111d864a8906a22e97fb6b1dafde |
| ForceUpdate 玩家网络映射失败 | 1 | 1 | 1 | Unity/Assets/Scripts\TH1_Logic\Steam\GameNetReceiver.cs:328: LogSystem.LogError("OnReceivedForceUpdate 玩家网络映射失败"); | 0fdb061e5f5d06de01c578e2049244ef |
| 地图/同步状态不一致诊断 | 1 | 1 | 1 | Unity/Assets/Scripts\TH1_Data\MapData.cs:2976: LogSystem.LogError($"Map不一致前后Action 前:空" +<br>Unity/Assets/Scripts\TH1_Data\MapData.cs:2981: LogSystem.LogError($"Map不一致前后Action 前:{Main.MapData.Net.Actions[i - 1].ActionId.GetStringLog()}" + | d2c0f38b5bf4ec8afd7cae92cead936d |
| 本机音频/显卡能力诊断 | 1 | 1 | 1 | 未直接定位 | 341bbed051698b373151b84bde7e144f |
## 明细
| Issue | 类别 | 类型 | 次数 | 设备 | 最近上报 | 消息 |
|---|---|---|---:|---:|---|---|
| [4de7d427f16ede45dbd3693fc3431ac3](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4de7d427f16ede45dbd3693fc3431ac3?pid=10) | 网络发送失败诊断 | UnityLogError | 57 | 2 | 2026-06-07 21:08:08 | ij: 房主广播失败 |
| [9b415b4bbb546c66eba3a6b67f916d35](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/9b415b4bbb546c66eba3a6b67f916d35?pid=10) | P2P/大厅连接失败诊断 | UnityLogError | 57 | 12 | 2026-06-07 21:10:27 | 应用层拒绝连接 - 错误码: 1000可能原因1.对方未创建监听套接字 2.对方主动拒绝 3.对方游戏未运行 |
| [bb81bce180d8672f500aa9f2021ec9f8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/bb81bce180d8672f500aa9f2021ec9f8?pid=10) | AI 计算死循环保护 | UnityLogError | 45 | 11 | 2026-06-07 20:59:38 | 死循环了 |
| [01eaa6aefd9162eccc930c2450a63779](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/01eaa6aefd9162eccc930c2450a63779?pid=10) | P2P/大厅连接失败诊断 | UnityLogError | 36 | 19 | 2026-06-07 21:02:23 | Connection failed - Reason: 1000 |
| [bc7e88e9811a3e38d26e15577210e3d7](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/bc7e88e9811a3e38d26e15577210e3d7?pid=10) | P2P/大厅连接失败诊断 | UnityLogError | 27 | 3 | 2026-06-07 21:08:08 | 远程超时 - 目标用户网络问题 |
| [37c3a6f1b4b5b39220ee5ed7563118bf](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/37c3a6f1b4b5b39220ee5ed7563118bf?pid=10) | 网络发送失败诊断 | UnityLogError | 24 | 2 | 2026-06-07 21:08:08 | eop: 房主广播失败 |
| [4b42e043c64194e31205b4fa1a9b4d2d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4b42e043c64194e31205b4fa1a9b4d2d?pid=10) | 相似 Action 重复诊断 | UnityLogError | 22 | 5 | 2026-06-07 19:46:28 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KomeijiIndianNavigation PlayerAction : None AIParam : AllClear Tech : KomeijiIndianNavigation CultureCar… |
| [f76a1c7293c1f7361bf9545b93892bdb](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/f76a1c7293c1f7361bf9545b93892bdb?pid=10) | 相似 Action 重复诊断 | UnityLogError | 19 | 3 | 2026-06-07 18:30:51 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KanakoChivalry PlayerAction : None AIParam : AllClear Tech : KanakoChivalry CultureCardType : None 重复次数 … |
| [c11f14ad2fbd5625c5b53fb910cdba76](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/c11f14ad2fbd5625c5b53fb910cdba76?pid=10) | 网络发送失败诊断 | UnityLogError | 17 | 2 | 2026-06-07 21:08:08 | P2P broadcast preflight failed: target=76561199211883909, reason=No connection to 76561199211883909 |
| [43af292aecfae539c8c08ea8aaa4b2ad](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/43af292aecfae539c8c08ea8aaa4b2ad?pid=10) | 行动同步版本/索引不一致 | UnityLogError | 16 | 7 | 2026-06-07 21:01:54 | OnReceivedActionExcute MapHash 不一致,拒绝执行 |
| [ee81520cec5262f63804918ad8d1b2d8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/ee81520cec5262f63804918ad8d1b2d8?pid=10) | 相似 Action 重复诊断 | UnityLogError | 13 | 3 | 2026-06-07 20:59:34 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KomeijiIndianMethematics PlayerAction : None AIParam : AllClear Tech : KomeijiIndianMethematics CultureC… |
| [284527635e39660c5430a3fe6170231a](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/284527635e39660c5430a3fe6170231a?pid=10) | 相似 Action 重复诊断 | UnityLogError | 12 | 2 | 2026-06-07 21:00:13 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : Aquatism PlayerAction : None AIParam : AllClear Tech : Aquatism CultureCardType : None 重复次数 :6 |
| [2eb88941cddccae4e4a6bdcd2039a4d8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/2eb88941cddccae4e4a6bdcd2039a4d8?pid=10) | 行动同步版本/索引不一致 | UnityLogError | 12 | 3 | 2026-06-07 21:08:09 | OnReceivedActionConfirm Version 不一致 |
| [d7a74e6e95985e97e0bbecc7de0c0f44](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/d7a74e6e95985e97e0bbecc7de0c0f44?pid=10) | 网络发送失败诊断 | UnityLogError | 11 | 2 | 2026-06-07 21:08:09 | Failed to send game invite to: 76561199211883909 |
| [3511ce83d1e6f9e4d43080a8b932d294](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/3511ce83d1e6f9e4d43080a8b932d294?pid=10) | 相似 Action 重复诊断 | UnityLogError | 8 | 4 | 2026-06-07 21:19:16 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KomeijiIndianSailing PlayerAction : None AIParam : AllClear Tech : KomeijiIndianSailing CultureCardType … |
| [69501b0b39dadbf5214be77d938959bb](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/69501b0b39dadbf5214be77d938959bb?pid=10) | 断线重连/ForceUpdate 诊断 | UnityLogError | 8 | 4 | 2026-06-07 20:45:11 | 客户端请求重连: SendRequestForceUpdate |
| [83c5b5b46447ac4e50101f1148f4ab70](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/83c5b5b46447ac4e50101f1148f4ab70?pid=10) | AI 计算死循环保护 | UnityLogError | 8 | 7 | 2026-06-07 20:04:55 | 死循环了,最终记录点为:194 |
| [90cb7de630532b77a0f7e025b621814a](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/90cb7de630532b77a0f7e025b621814a?pid=10) | 网络发送失败诊断 | UnityLogError | 8 | 1 | 2026-06-07 14:00:24 | ActionExecute broadcast failed, abort owner execute: Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : None PlayerAction : None AIParam : AllClear Tech : None CultureCardType : None |
| [4224c3cdb5a90fa901fca232983f1bd8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4224c3cdb5a90fa901fca232983f1bd8?pid=10) | 断线重连/ForceUpdate 诊断 | UnityLogError | 7 | 5 | 2026-06-07 20:45:11 | 客户端请求重连: SendRequestForceUpdate |
| [5e725301da4a23480da69470d0cb17a8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/5e725301da4a23480da69470d0cb17a8?pid=10) | 行动同步版本/索引不一致 | UnityLogError | 7 | 6 | 2026-06-07 17:46:26 | 成员端: message.Index > Main.MapData.Net.Actions.Count |
| [92f4c5e50096b89f95d193502cfc549d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/92f4c5e50096b89f95d193502cfc549d?pid=10) | 行动同步版本/索引不一致 | UnityLogError | 7 | 4 | 2026-06-07 21:01:57 | 房主端message.Index > Main.MapData.Net.Actions.Count |
| [13021b124af1bc7fdcc5bb8e1aa1671a](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/13021b124af1bc7fdcc5bb8e1aa1671a?pid=10) | 相似 Action 重复诊断 | UnityLogError | 6 | 1 | 2026-06-07 21:11:09 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KomeijiIndianRiding PlayerAction : None AIParam : AllClear Tech : KomeijiIndianRiding CultureCardType : … |
| [2d15aaee38c731daa3a3297c6e0ccc47](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/2d15aaee38c731daa3a3297c6e0ccc47?pid=10) | MapData 序列化差异诊断 | UnityLogError | 6 | 3 | 2026-06-07 20:45:10 | PlayerMap differs (serialized data mismatch) PlayerMap.PlayerDataList differs (serialized data mismatch) CityMap differs (serialized data mismatch) gor.gph[0].fps: 1 != 6 gor.gph[0].gpq: 1955 != 1985 gos.gmm[4].gmq: 4 != 5 gos.gmm[4].gmr: 4 != 0 gou.gpd.Count: 147 != 148 |
| [3c50c243c75ce45234c8635217cef93c](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/3c50c243c75ce45234c8635217cef93c?pid=10) | 断线重连/ForceUpdate 诊断 | UnityLogError | 6 | 5 | 2026-06-07 17:22:26 | 触发断线重连, 触发原因: OK |
| [4c0b235d45e140af0a0d18b5380c11a2](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4c0b235d45e140af0a0d18b5380c11a2?pid=10) | 断线重连/ForceUpdate 诊断 | UnityLogError | 6 | 5 | 2026-06-07 18:03:49 | 客户端请求重连: SendRequestForceUpdate |
| [2cb3d67ddfe0d9587abd02390f5de041](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/2cb3d67ddfe0d9587abd02390f5de041?pid=10) | 网络发送失败诊断 | UnityLogError | 5 | 2 | 2026-06-07 21:08:09 | ij: 房主广播失败 |
| [1d2092e8267a158d39aa1a040041020d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/1d2092e8267a158d39aa1a040041020d?pid=10) | 网络发送失败诊断 | UnityLogError | 3 | 2 | 2026-06-07 14:44:00 | P2P broadcast preflight failed: target=76561199140125537, reason=No connection to 76561199140125537 |
| [1df80dbcaf6f1f71cbd77fff64532361](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/1df80dbcaf6f1f71cbd77fff64532361?pid=10) | 网络发送失败诊断 | UnityLogError | 3 | 2 | 2026-06-07 14:44:01 | P2P broadcast preflight failed: target=76561199841273076, reason=No connection to 76561199841273076 |
| [5e769ceb6984e585fd75e489e9494182](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/5e769ceb6984e585fd75e489e9494182?pid=10) | 行动同步版本/索引不一致 | UnityLogError | 3 | 3 | 2026-06-07 21:02:57 | OnReceivedActionConfirm MapHash 不一致,拒绝执行 |
| [afab627d5968425dd709868c89c8be35](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/afab627d5968425dd709868c89c8be35?pid=10) | 不可执行行动圈诊断 | UnityLogError | 3 | 2 | 2026-06-07 18:30:51 | CityLevelUpAction 不应该出现在无法执行的action circle里, Tyep :None |
| [daec796293ecae6d73a5eef8f5e3707c](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/daec796293ecae6d73a5eef8f5e3707c?pid=10) | 网络发送失败诊断 | UnityLogError | 3 | 2 | 2026-06-07 14:44:56 | Failed to send message to 76561199040381920: k_EResultConnectFailed |
| [dbce2880e5ad9287fcca2bf271f97622](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/dbce2880e5ad9287fcca2bf271f97622?pid=10) | 网络发送失败诊断 | UnityLogError | 3 | 2 | 2026-06-07 21:08:09 | ij: 房主广播失败 |
| [ee820e9ec52abd35ec974934f7686c30](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/ee820e9ec52abd35ec974934f7686c30?pid=10) | 相似 Action 重复诊断 | UnityLogError | 3 | 2 | 2026-06-07 20:06:37 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KanakoFreeSpirit PlayerAction : None AIParam : AllClear Tech : KanakoFreeSpirit CultureCardType : None 重… |
| [36c883416648c641c81103a88dcf2763](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/36c883416648c641c81103a88dcf2763?pid=10) | 相似 Action 重复诊断 | UnityLogError | 2 | 2 | 2026-06-07 14:42:06 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KanakoSmithery PlayerAction : None AIParam : AllClear Tech : KanakoSmithery CultureCardType : None 重复次数 … |
| [3d602afbdfcb5b6f89c19734c0d9c9bd](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/3d602afbdfcb5b6f89c19734c0d9c9bd?pid=10) | 不可执行行动圈诊断 | UnityLogError | 2 | 2 | 2026-06-07 16:46:16 | CityLevelUpAction 不应该出现在无法执行的action circle里, Tyep :None |
| [5478484202599e9676cd7899f40c6bda](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/5478484202599e9676cd7899f40c6bda?pid=10) | 断线重连/ForceUpdate 诊断 | UnityLogError | 2 | 2 | 2026-06-07 17:46:24 | 触发断线重连, 触发原因: Timeout |
| [81a5e2896daabc7005cd79ae522de4bf](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/81a5e2896daabc7005cd79ae522de4bf?pid=10) | 网络发送失败诊断 | UnityLogError | 2 | 2 | 2026-06-07 14:44:49 | P2P broadcast preflight failed: target=76561199481856121, reason=Target is not a lobby peer: 76561199481856121 |
| [83bce7d7daa43d052ed4bb75dc4c7d51](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/83bce7d7daa43d052ed4bb75dc4c7d51?pid=10) | 行动执行玩家不一致 | UnityLogError | 2 | 2 | 2026-06-07 16:24:45 | CompleteExecute Player 不一致 Action : BuyCultureCard Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : None PlayerAction : None AIParam : AllClear Tech : None CultureCardType : MonumentForest |
| [94fb5e01173c5d1397000e95a2739712](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/94fb5e01173c5d1397000e95a2739712?pid=10) | 断线重连/ForceUpdate 诊断 | UnityLogError | 2 | 2 | 2026-06-07 21:04:13 | 触发断线重连, 触发原因: Error |
| [dc60122a80164df932b4e67aff7df131](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/dc60122a80164df932b4e67aff7df131?pid=10) | MapData 序列化差异诊断 | UnityLogError | 2 | 1 | 2026-06-07 14:58:25 | got.grb[26].gqz[0].jpz[0].Item: reflection error - Number of parameters specified does not match the expected number. got.grb[26].gqz[0].jpz[1].Item: reflection error - Number of parameters specified does not match the expected number. got.grb[26].gqz[0].jpz[2].Item: reflection error - Number of parameters specified does not match the expected number. |
| [ece68e599f02cac458d489165be3ef3f](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/ece68e599f02cac458d489165be3ef3f?pid=10) | 相似 Action 重复诊断 | UnityLogError | 2 | 2 | 2026-06-07 15:49:35 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : Spiritualism PlayerAction : None AIParam : AllClear Tech : Spiritualism CultureCardType : None 重复次数 :6 |
| [0510d9a45106f546c9e711698062ad31](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/0510d9a45106f546c9e711698062ad31?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 10:52:16 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=3942305876, ActionIndex=18736, Count=1 PrevActions(count=2): PrevAction[18735]: Version=18735, MapHash=7a541307edae9a7ac5deab570c185cc1 Action : TurnEnd Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction … |
| [06de37a2c6caa292a35c610a6c53fb68](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/06de37a2c6caa292a35c610a6c53fb68?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:47:50 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2765, Count=1 PrevActions(count=2): PrevAction[2764]: Version=2764, MapHash=ab2b2a0a37e392844be2ea5fb31137fd Action : PlayerAction Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : FrenchEirin Vegetation : None UnitAction : None CityLevelUpAction : None Cit… |
| [078a8ce4aca4c06d81fb76358dfd83bd](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/078a8ce4aca4c06d81fb76358dfd83bd?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:40:48 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4324, Count=1 PrevActions(count=2): PrevAction[4323]: Version=4323, MapHash=4528db7270c9b85dc7657c7bba0da594 Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityActi… |
| [07ebcaae645a573e4954daa0a4b65836](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/07ebcaae645a573e4954daa0a4b65836?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 14:53:15 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=465247520, ActionIndex=1285, DataUnits=51, RenderUnits=52, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[1284]: Version=1284, MapHash=446902ec912a344bbcd6c87cef08e649 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : No… |
| [0ea0e95ae594d9c5eb6fc06c4efbe243](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/0ea0e95ae594d9c5eb6fc06c4efbe243?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:32:33 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2736, Count=1 PrevActions(count=2): PrevAction[2735]: Version=2735, MapHash=e256babc032bff31d4bb364a092375c0 Action : UnitAction Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : Capture CityLevelUpAction : None CityActio… |
| [0f03581608df9e5e03eaf8251d62c393](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/0f03581608df9e5e03eaf8251d62c393?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:39:52 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4307, Count=1 PrevActions(count=2): PrevAction[4306]: Version=4306, MapHash=c1721cd25b446da2c4658d0a5edf4d35 Action : TurnEnd Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : No… |
| [0fdb061e5f5d06de01c578e2049244ef](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/0fdb061e5f5d06de01c578e2049244ef?pid=10) | ForceUpdate 玩家网络映射失败 | UnityLogError | 1 | 1 | 2026-06-07 14:58:21 | OnReceivedForceUpdate 玩家网络映射失败 |
| [1518f0a4eec73b2b4c0fa274938016d8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/1518f0a4eec73b2b4c0fa274938016d8?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-07 13:26:30 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : Sailing PlayerAction : None AIParam : AllClear Tech : Sailing CultureCardType : None 重复次数 :6 |
| [185cac4e87ecee39eccbd746cc5275a0](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/185cac4e87ecee39eccbd746cc5275a0?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 14:58:09 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=465247520, ActionIndex=1286, DataUnits=51, RenderUnits=52, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[1285]: Version=1285, MapHash=ded0670727c462035453a73d648864c8 Action : TurnEnd Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None … |
| [18bcd587572d73036de4706e509fbfab](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/18bcd587572d73036de4706e509fbfab?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 18:11:24 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=1505517643, ActionIndex=267, DataUnits=17, RenderUnits=18, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[266]: Version=266, MapHash=41879fc619ff212c0ae0babbd91dda61 Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : … |
| [22c92be2f2535f31de464c1e0a359e62](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/22c92be2f2535f31de464c1e0a359e62?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-07 19:17:17 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : Ramming PlayerAction : None AIParam : AllClear Tech : Ramming CultureCardType : None 重复次数 :6 |
| [2451f6823ef50d6f34cc6cec726d28da](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/2451f6823ef50d6f34cc6cec726d28da?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 10:38:17 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=3942305876, ActionIndex=18089, DataUnits=118, RenderUnits=120, RenderOnly=2, DataOnly=0 PrevActions(count=2): PrevAction[18088]: Version=18088, MapHash=d126c2bbf99fea4d082665be1271a5d9 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetatio… |
| [25c634d91babeb6c49f7c00ad14d16be](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/25c634d91babeb6c49f7c00ad14d16be?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 14:06:37 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=3599572352, ActionIndex=2236, DataUnits=48, RenderUnits=49, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[2235]: Version=2235, MapHash=013240d6c8bee40f4353e9533888d6c4 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : N… |
| [277edfbad755b0df16fcc614643bb963](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/277edfbad755b0df16fcc614643bb963?pid=10) | 断线重连/ForceUpdate 诊断 | UnityLogError | 1 | 1 | 2026-06-07 18:54:31 | 触发断线重连, 触发原因: Disconnected |
| [2b8239c676df1a409d265662e6dc2ac9](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/2b8239c676df1a409d265662e6dc2ac9?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 10:52:21 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=3942305876, ActionIndex=18737, Count=1 PrevActions(count=2): PrevAction[18736]: Version=18736, MapHash=99e097d17b2b552990c0ae6ce4fddf01 Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityActio… |
| [2e5df8aaf4f95d944c87f8bed1633caa](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/2e5df8aaf4f95d944c87f8bed1633caa?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 14:58:21 | P2P message send failed: target=76561198996891335, reason=Not in lobby |
| [318968bdfd3b44c9fe72d9f835ce4547](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/318968bdfd3b44c9fe72d9f835ce4547?pid=10) | 行动执行玩家不一致 | UnityLogError | 1 | 1 | 2026-06-07 13:53:43 | CompleteExecute Player 不一致 Action : BuyCultureCard Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : None PlayerAction : None AIParam : AllClear Tech : None CultureCardType : SecondHero |
| [3260a1fb027923937847f8b062543c05](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/3260a1fb027923937847f8b062543c05?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:41:03 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4336, Count=1 PrevActions(count=2): PrevAction[4335]: Version=4335, MapHash=cf83d2c219c11f5930e160a5137d9973 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction :… |
| [341bbed051698b373151b84bde7e144f](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/341bbed051698b373151b84bde7e144f?pid=10) | 本机音频/显卡能力诊断 | UnityLogError | 1 | 1 | 2026-06-07 20:45:29 | RenderTexture.Create failed: format unsupported for random writes - R32 SFloat (49). |
| [3451938f3358e1434e3441bfcd93fd2e](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/3451938f3358e1434e3441bfcd93fd2e?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 10:52:16 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=3942305876, ActionIndex=18735, Count=1 PrevActions(count=2): PrevAction[18734]: Version=18734, MapHash=ec25ae8d86730d1c7c03d08bba935bf4 Action : TrainUnit Wonder : None Resource : None Feature : None Terrain : None Unit : Swordsman Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None City… |
| [35a8d3949500dfc5f5b8fb1bfeb86974](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/35a8d3949500dfc5f5b8fb1bfeb86974?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 14:17:17 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=1989242094, ActionIndex=2767, DataUnits=71, RenderUnits=72, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[2766]: Version=2766, MapHash=9bfe46e145404e819912e6e7a4645945 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : N… |
| [36f22fb8c90132e35cf0822b79d1aa6c](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/36f22fb8c90132e35cf0822b79d1aa6c?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-07 16:29:48 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KanakoRiding PlayerAction : None AIParam : AllClear Tech : KanakoRiding CultureCardType : None 重复次数 :6 |
| [3741be609b2317e0021f723c15f114bc](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/3741be609b2317e0021f723c15f114bc?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:34:05 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2783, Count=1 PrevActions(count=2): PrevAction[2782]: Version=2782, MapHash=2a6c9127e9df95ad543b1d36817bb5d4 Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [3aa23b65a8129981c68304a2234bd515](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/3aa23b65a8129981c68304a2234bd515?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:57:54 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=270616312, ActionIndex=5174, DataUnits=81, RenderUnits=82, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[5173]: Version=5173, MapHash=38f98165d07ce9d5d5c538c7a5fa4b98 Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation … |
| [42373097547e8df089532bce9d14bed2](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/42373097547e8df089532bce9d14bed2?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-07 09:06:21 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : FreeSpirit PlayerAction : None AIParam : AllClear Tech : FreeSpirit CultureCardType : None 重复次数 :7 |
| [4519111d864a8906a22e97fb6b1dafde](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4519111d864a8906a22e97fb6b1dafde?pid=10) | STS/OSS 上传失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 13:28:52 | CollectData upload failed: STS request failed: HTTP/1.1 403 Forbidden |
| [4628d34f3d350cc5201a4b0061d92890](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4628d34f3d350cc5201a4b0061d92890?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 21:02:23 | epn: 发送给房主失败 |
| [489bfac12dd3715d07cbc10a33ed8908](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/489bfac12dd3715d07cbc10a33ed8908?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 14:16:13 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=270616312, ActionIndex=762, DataUnits=54, RenderUnits=55, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[761]: Version=761, MapHash=c23ce685157e1aafe1ad0d5aadf3fa5f Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None … |
| [497714fce34071b9dd06ac1a2c9a58a3](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/497714fce34071b9dd06ac1a2c9a58a3?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-07 14:55:59 | 存在相似action ,记录点为:743 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : Roads PlayerAction : None AIParam : AllClear Tech : Roads CultureCardType : None 重复次数 :6 |
| [4a7764472a537655771e445b61d6a80a](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4a7764472a537655771e445b61d6a80a?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:33:59 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2762, Count=1 PrevActions(count=2): PrevAction[2761]: Version=2761, MapHash=4fe800888c77958c307b9548215bd7f7 Action : TurnEnd Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : No… |
| [4c5a486bc59f450416d6b6367a26a71b](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/4c5a486bc59f450416d6b6367a26a71b?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:40:53 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=2615008488, ActionIndex=4157, DataUnits=60, RenderUnits=61, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[4156]: Version=4156, MapHash=08231d24176ee6d20f61afa72528b7bd Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : N… |
| [531a6bd1985e769e84927128adb429c1](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/531a6bd1985e769e84927128adb429c1?pid=10) | MapData 序列化差异诊断 | UnityLogError | 1 | 1 | 2026-06-07 12:56:32 | GridMap differs (serialized data mismatch) PlayerMap differs (serialized data mismatch) PlayerMap.PlayerDataList differs (serialized data mismatch) UnitMap differs (serialized data mismatch) UnitToCityDict differs (serialized data mismatch) UnitToGridDict differs (serialized data mismatch) goq.gnc[169].gnl.Count: 0 != 1 gor.gph[0].gpu.gqm[0].gqp: 35 != 50 g… |
| [539db90e1266143bbd7fdf7673479ea4](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/539db90e1266143bbd7fdf7673479ea4?pid=10) | 相似 Action 重复诊断 | UnityLogError | 1 | 1 | 2026-06-07 20:04:00 | 存在相似action ,记录点为:756 ,Action为:Action : LearnTech Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : KanakoRoads PlayerAction : None AIParam : AllClear Tech : KanakoRoads CultureCardType : None 重复次数 :7 |
| [5c638438c261eabc88358add3e3c09cb](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/5c638438c261eabc88358add3e3c09cb?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:33:59 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2763, Count=1 PrevActions(count=2): PrevAction[2762]: Version=2762, MapHash=d797c938f577c18690b4f61edd9b8e25 Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [60d84edf5f69d3592e1dc8aef452a038](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/60d84edf5f69d3592e1dc8aef452a038?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 16:58:16 | Failed to send message to 76561198041520499: k_EResultConnectFailed |
| [61485a4b4b308b9729695e3d4010a709](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/61485a4b4b308b9729695e3d4010a709?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:47:49 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2737, Count=1 PrevActions(count=2): PrevAction[2736]: Version=2736, MapHash=45a644f1f2fc7a84ac2e403fdbcaad1e Action : UnitAction Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : KomeijiBonePileBoom CityLevelUpAction : No… |
| [636d2bfda352a22c767c4385cbd4ab55](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/636d2bfda352a22c767c4385cbd4ab55?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 14:55:24 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=3078369290, ActionIndex=1055, DataUnits=34, RenderUnits=35, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[1054]: Version=1054, MapHash=bb1e613ed6853b1633cb1615f20af644 Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation… |
| [69a532a275330ec573151d31dc291854](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/69a532a275330ec573151d31dc291854?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:39:56 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4308, Count=1 PrevActions(count=2): PrevAction[4307]: Version=4307, MapHash=2b0f5728d42e65d32bf201798908c5e9 Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [6ac60b247d89cdb53b33c44ee00b9c6f](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/6ac60b247d89cdb53b33c44ee00b9c6f?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 10:52:58 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=3942305876, ActionIndex=18754, Count=1 PrevActions(count=2): PrevAction[18753]: Version=18753, MapHash=722188a5c9f0645a6516589b7bb28e74 Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction… |
| [773e5d47d6aad89edb0492504359a8c9](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/773e5d47d6aad89edb0492504359a8c9?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 13:59:45 | P2P broadcast preflight failed: target=76561199211883909, reason=No connection to 76561199211883909 |
| [788c401dc879684abe0810a42007231e](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/788c401dc879684abe0810a42007231e?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:33:59 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2761, Count=1 PrevActions(count=2): PrevAction[2760]: Version=2760, MapHash=4da5135fac71bcffcd019a479e36d481 Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : N… |
| [7e832fc8f86764797c5a96b52b6b1d86](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/7e832fc8f86764797c5a96b52b6b1d86?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:30:59 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=465247520, ActionIndex=4147, DataUnits=73, RenderUnits=74, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[4146]: Version=4146, MapHash=c6c87c90d8ee5f0bcf42053c0a35cfde Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : No… |
| [80d7d4b21de3e8e767ad63325779c326](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/80d7d4b21de3e8e767ad63325779c326?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:47:50 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2742, Count=1 PrevActions(count=2): PrevAction[2741]: Version=2741, MapHash=9333db53e17e126d4c999150af2e34b3 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction :… |
| [81771b7253be221e89b1e44031d81356](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/81771b7253be221e89b1e44031d81356?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 20:59:38 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=1505517643, ActionIndex=384, DataUnits=20, RenderUnits=21, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[383]: Version=383, MapHash=53a5f01f593a28d6f55b3c8717737a7a Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : … |
| [86cdcdd260e5e2d2722fe525203b0d91](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/86cdcdd260e5e2d2722fe525203b0d91?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 12:55:48 | ActionExecute broadcast failed, abort owner execute: Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : None PlayerAction : None AIParam : AllClear Tech : None CultureCardType : None |
| [87197ed87e788f1c1acdc1d06ea6eb07](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/87197ed87e788f1c1acdc1d06ea6eb07?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:47:54 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2825, Count=1 PrevActions(count=2): PrevAction[2824]: Version=2824, MapHash=bf568311c330e9a5f05c637d7f0a933c Action : TrainUnit Wonder : None Resource : None Feature : None Terrain : None Unit : Cloak Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction :… |
| [87a1a55bfb142ff8354b5ea1ba9fe0e9](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/87a1a55bfb142ff8354b5ea1ba9fe0e9?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 12:55:48 | P2P broadcast preflight failed: target=76561198106629616, reason=No connection to 76561198106629616 |
| [89c0fce571cbbc6b8eac19047f3c669c](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/89c0fce571cbbc6b8eac19047f3c669c?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:30:46 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=465247520, ActionIndex=4135, DataUnits=74, RenderUnits=76, RenderOnly=2, DataOnly=0 PrevActions(count=2): PrevAction[4134]: Version=4134, MapHash=96b6b44997deaee365265c0d6873916c Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : No… |
| [9026e9b1aa3bab072aec31a0f07374c2](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/9026e9b1aa3bab072aec31a0f07374c2?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 21:02:23 | P2P message send failed: target=76561198389426652, reason=No connection to 76561198389426652 |
| [93509b23a954c79d835f4138bab9f3f7](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/93509b23a954c79d835f4138bab9f3f7?pid=10) | STS/OSS 上传失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 13:28:52 | STS request failed: HTTP/1.1 403 Forbidden, Response: {"error":"Steam verification failed: Steam API 请求失败(重试 2 次): Steam API 请求超时8000ms"} |
| [944da501c8d20dc9d6fe9a917e5a5163](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/944da501c8d20dc9d6fe9a917e5a5163?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:40:48 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4329, Count=1 PrevActions(count=2): PrevAction[4328]: Version=4328, MapHash=3ad7e07c17d2246ddf76a5cdc3ba1ebc Action : TrainUnit Wonder : None Resource : None Feature : None Terrain : None Unit : Warrior Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction… |
| [9600b523f3e8c6adaba9ec9f86e7dc73](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/9600b523f3e8c6adaba9ec9f86e7dc73?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 12:10:17 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=1533918630, ActionIndex=3487, DataUnits=34, RenderUnits=35, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[3486]: Version=3486, MapHash=3892752f0e24cfb7909ab4cd2548b3fb Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation… |
| [96b488b3729b778fdfde94d9c7e22bd7](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/96b488b3729b778fdfde94d9c7e22bd7?pid=10) | MapData 序列化差异诊断 | UnityLogError | 1 | 1 | 2026-06-07 12:56:24 | GridMap differs (serialized data mismatch) PlayerMap differs (serialized data mismatch) PlayerMap.PlayerDataList differs (serialized data mismatch) UnitMap differs (serialized data mismatch) UnitToCityDict differs (serialized data mismatch) UnitToGridDict differs (serialized data mismatch) goq.gnc[169].gnl.Count: 1 != 0 gor.gph[1].fvz.fwc: 2 != 1 gor.gph[1]… |
| [99915b0ff2b5e8b305cdc031aaac3724](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/99915b0ff2b5e8b305cdc031aaac3724?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:32:22 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2734, Count=1 PrevActions(count=2): PrevAction[2733]: Version=2733, MapHash=3e62199f626fa06031e52aa0edc14fee Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [a0830cd150cf6348c957fa17694ae9f6](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/a0830cd150cf6348c957fa17694ae9f6?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 16:58:16 | Failed to send game invite to: 76561198041520499 |
| [a2434efc7c1d6f2d063bc65493a78e9d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/a2434efc7c1d6f2d063bc65493a78e9d?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:40:48 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4326, Count=1 PrevActions(count=2): PrevAction[4325]: Version=4325, MapHash=f3e1207bc2c8e18fa629eceebb2aa0af Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [a278a756c5a9131d57754b41b9472abc](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/a278a756c5a9131d57754b41b9472abc?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:47:54 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2799, Count=1 PrevActions(count=2): PrevAction[2798]: Version=2798, MapHash=36ee3c6a5fcaf38f764a7b28cb4492d3 Action : TrainUnit Wonder : None Resource : None Feature : None Terrain : None Unit : Warrior Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction… |
| [a881978cb6e094da45c04bbc8d121e9d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/a881978cb6e094da45c04bbc8d121e9d?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 08:23:15 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=1813634866, ActionIndex=4062, DataUnits=72, RenderUnits=73, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[4061]: Version=4061, MapHash=62f22c31e4499e8dabec84e2d132a4d5 Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : Non… |
| [abd8d9401ee7d59f654180cb3bd56e3e](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/abd8d9401ee7d59f654180cb3bd56e3e?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 10:52:07 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=3942305876, ActionIndex=18719, Count=1 PrevActions(count=2): PrevAction[18718]: Version=18718, MapHash=ac5296274686d9c23f6ce18fa42f025b Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityActio… |
| [ad7276c58c30ef4fc20608ba128c7bff](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/ad7276c58c30ef4fc20608ba128c7bff?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:39:51 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4306, Count=1 PrevActions(count=2): PrevAction[4305]: Version=4305, MapHash=54e1e39a39aa8f2b15f4a06c0e8fd168 Action : CityLevelUpAction Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : Park CityA… |
| [adeb5e53dc72517e9efaa01fdda5eb68](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/adeb5e53dc72517e9efaa01fdda5eb68?pid=10) | 行动执行玩家不一致 | UnityLogError | 1 | 1 | 2026-06-07 13:53:42 | CompleteExecute Player 不一致 Action : BuyCultureCard Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : None PlayerAction : None AIParam : AllClear Tech : None CultureCardType : SecondHero |
| [b44d89b0faf25ce12beb4ae30cbd1b2a](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/b44d89b0faf25ce12beb4ae30cbd1b2a?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 15:22:55 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=465247520, ActionIndex=1914, DataUnits=69, RenderUnits=70, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[1913]: Version=1913, MapHash=9e77e9698086732bdeff59cdbf43bf43 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : No… |
| [b66792b0007fca414446c6cd9ab5e79e](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/b66792b0007fca414446c6cd9ab5e79e?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 14:58:21 | cwj: 发送给成员失败 memberId=76561198996891335 |
| [b6cf96a310fa240d4761f0e42a3d6ac8](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/b6cf96a310fa240d4761f0e42a3d6ac8?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 20:23:40 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=1463712374, ActionIndex=1760, DataUnits=69, RenderUnits=70, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[1759]: Version=1759, MapHash=7fb946323728c97c998f445012ed1483 Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : Non… |
| [b9472ba8128ecfd89760e9fb5419bb35](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/b9472ba8128ecfd89760e9fb5419bb35?pid=10) | MapData 序列化差异诊断 | UnityLogError | 1 | 1 | 2026-06-07 17:46:24 | got.grb[4].gqz[0].jpz[0].Item: reflection error - Number of parameters specified does not match the expected number. got.grb[4].gqz[0].jpz[1].Item: reflection error - Number of parameters specified does not match the expected number. |
| [c24fc0f7089061a3f6243b7556b93877](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/c24fc0f7089061a3f6243b7556b93877?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:13:14 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=270616312, ActionIndex=4358, DataUnits=86, RenderUnits=87, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[4357]: Version=4357, MapHash=8260f03ef91655ba22c54e91bdd53aeb Action : UnitAttackAlly Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation … |
| [c4b8b2c48fd951e71695878486fbcefa](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/c4b8b2c48fd951e71695878486fbcefa?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 12:56:53 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=4168967191, ActionIndex=3557, DataUnits=56, RenderUnits=57, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[3556]: Version=3556, MapHash=297f391bba3a06e7a5a030d7e9aae326 Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : N… |
| [c73b9f4ccda676725ea950b9038eb78f](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/c73b9f4ccda676725ea950b9038eb78f?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 18:45:32 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=944861137, ActionIndex=827, DataUnits=47, RenderUnits=48, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[826]: Version=826, MapHash=644c28188c8ba13e7d2f24a154a4a03c Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None … |
| [cf2eb96359369cc1db5a70e5e2b219b1](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/cf2eb96359369cc1db5a70e5e2b219b1?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 13:59:45 | dyo: 房主广播失败 |
| [cfa3fabe5a16b5579c48e58e41be8941](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/cfa3fabe5a16b5579c48e58e41be8941?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:47:54 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2785, Count=1 PrevActions(count=2): PrevAction[2784]: Version=2784, MapHash=783de086fce60bf312ad71398b7c3494 Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [d0914484c66d4e618dda41d385e42c12](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/d0914484c66d4e618dda41d385e42c12?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:39:56 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4308, Count=1 PrevActions(count=2): PrevAction[4307]: Version=4307, MapHash=2b0f5728d42e65d32bf201798908c5e9 Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [d2c0f38b5bf4ec8afd7cae92cead936d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/d2c0f38b5bf4ec8afd7cae92cead936d?pid=10) | 地图/同步状态不一致诊断 | UnityLogError | 1 | 1 | 2026-06-07 21:04:14 | Map不一致前后Action Action : Build Wonder : None Resource : Forge Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None GridMiscAction : None Skill : NONE Tech : None PlayerAction : None AIParam : AllClear Tech : None CultureCardType : None 后Action : CityLevelUpAction Wonder : N… |
| [d6cfb4ac68519294e9b70a15e8ec6a4e](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/d6cfb4ac68519294e9b70a15e8ec6a4e?pid=10) | 网络发送失败诊断 | UnityLogError | 1 | 1 | 2026-06-07 12:55:48 | dyo: 房主广播失败 |
| [d961d253ff28a67612d790af056e0c91](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/d961d253ff28a67612d790af056e0c91?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 10:52:08 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=3942305876, ActionIndex=18720, Count=1 PrevActions(count=2): PrevAction[18719]: Version=18719, MapHash=5368e12093cd0311c38b91c7de9383a0 Action : AIParamControl Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None City… |
| [dcec0bf5f2cc20445b1c226ee081a86d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/dcec0bf5f2cc20445b1c226ee081a86d?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:40:36 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4318, Count=1 PrevActions(count=2): PrevAction[4317]: Version=4317, MapHash=5ae8e8d604719c2e417c68d4bbf4043d Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : N… |
| [df2ec0391fd3f56ecb473b2ffd56c81c](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/df2ec0391fd3f56ecb473b2ffd56c81c?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:39:50 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4305, Count=1 PrevActions(count=2): PrevAction[4304]: Version=4304, MapHash=bd706ce010306616d3edcf2a1eca5beb Action : Build Wonder : None Resource : LumberHut Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction :… |
| [e2a9a3f909c4df4480c992611f363e7f](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/e2a9a3f909c4df4480c992611f363e7f?pid=10) | MapData 序列化差异诊断 | UnityLogError | 1 | 1 | 2026-06-07 15:00:32 | PlayerMap differs (serialized data mismatch) PlayerMap.PlayerDataList differs (serialized data mismatch) UnitMap differs (serialized data mismatch) UnitToGridDict differs (serialized data mismatch) gor.gph[0].gpu.gqm[0].gqp: 30 != 40 gor.gph[0].gpu.gqm[0].gqq: Suspicion != Indifferent gor.gph[0].gpu.gqm[4].gqo: Neutral != War gor.gph[0].gqb.Count: 8 != 11 g… |
| [e56bd146ce0c35ef9d326a5b385f400f](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/e56bd146ce0c35ef9d326a5b385f400f?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:40:48 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4327, Count=1 PrevActions(count=2): PrevAction[4326]: Version=4326, MapHash=3ad7e07c17d2246ddf76a5cdc3ba1ebc Action : AIParamControl Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityActi… |
| [ec9b35f132c026fb957a88f80962154b](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/ec9b35f132c026fb957a88f80962154b?pid=10) | MapData 序列化差异诊断 | UnityLogError | 1 | 1 | 2026-06-07 21:01:58 | PlayerMap differs (serialized data mismatch) PlayerMap.PlayerDataList differs (serialized data mismatch) CityMap differs (serialized data mismatch) UnitMap differs (serialized data mismatch) UnitToCityDict differs (serialized data mismatch) UnitToGridDict differs (serialized data mismatch) gor.gph[2].gpq: 4070 != 3990 gor.gph[2].gpz[3]: 0 != 4 gor.gph[2].kf… |
| [f7235109dcc05efb69a8fe3841c5427f](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/f7235109dcc05efb69a8fe3841c5427f?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:38:27 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4288, Count=1 PrevActions(count=2): PrevAction[4287]: Version=4287, MapHash=f23b6031195fa8490bac29d37f19061d Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |
| [f76e2d58eb4996a515ba75615634e07a](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/f76e2d58eb4996a515ba75615634e07a?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:32:54 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2741, Count=1 PrevActions(count=2): PrevAction[2740]: Version=2740, MapHash=85e164f2c678ed1152a1f41591a84f04 Action : Build Wonder : None Resource : None Feature : Road Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : None… |
| [f905b20a0a5060423239c606ee5630f9](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/f905b20a0a5060423239c606ee5630f9?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:34:04 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2764, Count=1 PrevActions(count=2): PrevAction[2763]: Version=2763, MapHash=e38b766731650419494d8fbce6822121 Action : AIParamControl Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityActi… |
| [f9e828f7d60e309c34a8f0d3a636ffa1](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/f9e828f7d60e309c34a8f0d3a636ffa1?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 01:41:02 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=2005375059, ActionIndex=736, DataUnits=42, RenderUnits=43, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[735]: Version=735, MapHash=c46b45ddc37d6332be82b31ec476d37f Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None… |
| [fa1c3b0530d56ff9dd583c05543ffd96](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/fa1c3b0530d56ff9dd583c05543ffd96?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 16:47:49 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=177294565, ActionIndex=2735, Count=1 PrevActions(count=2): PrevAction[2734]: Version=2734, MapHash=c797e9afb2dedf54664d82a0b1babb89 Action : UnitAction Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : Capture CityLevelUpAction : None CityActio… |
| [fbe9fe61955f10765c33c82e3613aa17](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/fbe9fe61955f10765c33c82e3613aa17?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 13:20:32 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=53859422, ActionIndex=1854, DataUnits=62, RenderUnits=63, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[1853]: Version=1853, MapHash=ecb4bb5ca453a77a648ea41a9f1685ec Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None … |
| [fc1008e4d038852a42609c7f460ab775](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/fc1008e4d038852a42609c7f460ab775?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:39:44 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4303, Count=1 PrevActions(count=2): PrevAction[4302]: Version=4302, MapHash=c2912f07aa1094f54a0909045eda23a1 Action : UnitMove Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : N… |
| [fd9f9b44c9c3f88fadbeb37bb69f5106](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/fd9f9b44c9c3f88fadbeb37bb69f5106?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 20:57:35 | [UnitRendererMismatchBeforeAction] 数据层Unit与渲染层Unit不一致 MapId=1370870277, ActionIndex=2371, DataUnits=66, RenderUnits=67, RenderOnly=1, DataOnly=0 PrevActions(count=2): PrevAction[2370]: Version=2370, MapHash=65a46a57b5f39565660416ad7142fcdd Action : UnitAttack Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : N… |
| [fefa54fbbfafbbdfb9260df119165c0d](https://crashsight.qq.com/crash-reporting/errors/01076c49ce/fefa54fbbfafbbdfb9260df119165c0d?pid=10) | 其他项目诊断日志 | UnityLogError | 1 | 1 | 2026-06-07 17:38:27 | [BoatUnitOnLandBeforeAction] 船形态Unit停留在陆地格 MapId=465247520, ActionIndex=4288, Count=1 PrevActions(count=2): PrevAction[4287]: Version=4287, MapHash=f23b6031195fa8490bac29d37f19061d Action : TurnStart Wonder : None Resource : None Feature : None Terrain : None Unit : None Giant : None Vegetation : None UnitAction : None CityLevelUpAction : None CityAction : … |

View File

@ -0,0 +1,48 @@
# 0.7.3c 联机重连修复核验
- 捕获时间2026-06-07 22:50:42
- 查询范围CrashSight `0.7.3c` / `last_1_day` / ERROR / 未处理和处理中
- 原始数据:`Temp\CrashSight\Daily_2026-06-07_0.7.3c_reconnect_check`
- 样本规模130 个去重 Issue575 次 LogError 上报1 次 blocking
## 结论
0.7.3b 的明确根因已经被修掉:`BreakAlly` 触发成员端额外写入嵌套 `ForceDisband` 的特征,在 0.7.3c 近一天日志里为 0。
但“联机重连问题”还没有完全清零。0.7.3c 仍有行动同步和 ForceUpdate 日志:`行动同步版本/索引不一致` 45 次,`断线重连/ForceUpdate` 32 次,`MapData 序列化差异` 13 次,另有 1 次 `OnReceivedForceUpdate 玩家网络映射失败`
现在最明确的剩余同步根因不再是 `BreakAlly/ForceDisband`,而是城市升级选择链路:`Build Forge` 之后,不同端 action 序列分叉到 `CityLevelUpAction CityWealth` / `PlayerSurrender` 或前后 action 不一致。
## 0.7.3b 对比
| 指标 | 0.7.3b 近一天 | 0.7.3c 近一天 | 判断 |
|---|---:|---:|---|
| 去重 Issue | 221 | 130 | 总量下降 |
| LogError 次数 | 791 | 575 | 总量下降 |
| `BreakAlly` 字符串证据 | 1 | 0 | 旧触发点消失 |
| `ForceDisband` 字符串证据 | 3 | 0 | 旧嵌套 action 污染消失 |
| 行动同步版本/索引不一致 | 17 | 45 | 仍存在,且不是旧签名 |
| 断线重连/ForceUpdate | 30 | 32 | 未清零 |
| MapData 序列化差异 | 13 | 13 | 未清零 |
0.7.3b 的关键证据是 `Action[2431] UnitAction ForceDisband != PlayerAction BreakAlly`,后续还有 `ForceDisband != TrainUnit``ForceDisband != TurnEnd`。这条证据在 0.7.3c 抽样和汇总里没有出现。
## 0.7.3c 剩余证据
| Issue | 类别 | 次数/设备 | 最后时间 | 关键内容 |
|---|---|---:|---|---|
| `43af292aecfae539c8c08ea8aaa4b2ad` | 行动同步版本/索引不一致 | 16 / 7 | 2026-06-07 21:01:54 | `OnReceivedActionExcute MapHash 不一致,拒绝执行` |
| `2eb88941cddccae4e4a6bdcd2039a4d8` | 行动同步版本/索引不一致 | 12 / 3 | 2026-06-07 21:08:09 | `OnReceivedActionConfirm Version 不一致` |
| `5e725301da4a23480da69470d0cb17a8` | 行动同步版本/索引不一致 | 7 / 6 | 2026-06-07 17:46:26 | 成员端 `message.Index > Main.MapData.Net.Actions.Count` |
| `92f4c5e50096b89f95d193502cfc549d` | 行动同步版本/索引不一致 | 7 / 4 | 2026-06-07 21:01:57 | 房主端 `message.Index > Main.MapData.Net.Actions.Count` |
| `d2c0f38b5bf4ec8afd7cae92cead936d` | 地图/同步状态不一致 | 1 / 1 | 2026-06-07 21:04:14 | 前一条是 `Build Resource=Forge`,后一条变成 `CityLevelUpAction CityWealth` |
| `ec9b35f132c026fb957a88f80962154b` | MapData 序列化差异 | 1 / 1 | 2026-06-07 21:01:58 | `Actions[1172] CityLevelUpAction CityWealth != PlayerSurrender` |
| `0fdb061e5f5d06de01c578e2049244ef` | ForceUpdate 玩家网络映射失败 | 1 / 1 | 2026-06-07 14:58:21 | `OnReceivedForceUpdate 玩家网络映射失败` |
## 对 IsNetActionExecuting 的验证
从日志结果看,`IsNetActionExecuting` 这次底层修改对旧问题是有效的0.7.3b 中成员端收到网络 action 后,嵌套 `ForceDisband` 被当成新的完整 action 记录0.7.3c 中这个签名完全消失。
当前代码链路也匹配这个结论:`NetCompleteExecute` 会在执行网络 action 期间设置 `Main.Instance.IsNetActionExecuting = true`,嵌套 `CompleteExecute` 会进入 `ExecuteWithoutFullActionPeriod`,不会再二次发送或写入新的网络 action。这个逻辑应该保留。
剩余问题不应继续归因到 `BreakAlly/ForceDisband`。下一条应追 `CityLevelUpAction` 的触发和排队:`BuildAction.Execute` 通过 `GridGiveCityExp_LogicView` 升城,`PresentationManager.EnqueuePendingCityLevelUpChoice` 排 UI 选择,`UIInteractionCityLevelupController.OnChoice` 再调用 `CityLevelUpAction.CompleteExecute`。0.7.3c 的新证据说明这里仍可能在不同端产生不同的 action 序列。

View File

@ -0,0 +1,303 @@
{
"date": "2026-06-07",
"version": "0.7.3c",
"capture": {
"capturedAtUtc": "2026-06-07T14:50:42+00:00",
"capturedAtLocal": "2026-06-07 22:50:42",
"rawDir": "Temp\\CrashSight\\Daily_2026-06-07_0.7.3c_reconnect_check",
"reportDir": "MD\\CrashSight_2026-06-07_0.7.3c_reconnect_check_1day"
},
"filter": {
"version": "0.7.3c",
"date": "last_1_day",
"status": "0,2",
"exceptionCategoryList": "ERROR",
"sortField": "uploadTime",
"sortOrder": "desc",
"rows": 100
},
"totalIssues": 130,
"blockingIssues": 1,
"blockingOccurrences": 1,
"logerrorIssues": 129,
"logerrorOccurrences": 575,
"blockingReports": [
{
"categoryId": "announce-major-event-null",
"title": "重大事件公告 UI 空引用",
"issueCount": 1,
"occurrences": 1,
"path": "blocking/001_announce-major-event-null.md",
"issues": [
"28071c1fd90fc17750239092279945b9"
]
}
],
"categories": [
{
"id": "network-send-failure",
"title": "网络发送失败诊断",
"class": "logerror",
"issueCount": 22,
"occurrences": 147,
"issues": [
"d7a74e6e95985e97e0bbecc7de0c0f44",
"2cb3d67ddfe0d9587abd02390f5de041",
"dbce2880e5ad9287fcca2bf271f97622",
"4de7d427f16ede45dbd3693fc3431ac3",
"c11f14ad2fbd5625c5b53fb910cdba76",
"37c3a6f1b4b5b39220ee5ed7563118bf",
"9026e9b1aa3bab072aec31a0f07374c2",
"4628d34f3d350cc5201a4b0061d92890",
"60d84edf5f69d3592e1dc8aef452a038",
"a0830cd150cf6348c957fa17694ae9f6",
"2e5df8aaf4f95d944c87f8bed1633caa",
"b66792b0007fca414446c6cd9ab5e79e",
"daec796293ecae6d73a5eef8f5e3707c",
"81a5e2896daabc7005cd79ae522de4bf",
"1df80dbcaf6f1f71cbd77fff64532361",
"1d2092e8267a158d39aa1a040041020d",
"90cb7de630532b77a0f7e025b621814a",
"773e5d47d6aad89edb0492504359a8c9",
"cf2eb96359369cc1db5a70e5e2b219b1",
"87a1a55bfb142ff8354b5ea1ba9fe0e9",
"d6cfb4ac68519294e9b70a15e8ec6a4e",
"86cdcdd260e5e2d2722fe525203b0d91"
]
},
{
"id": "p2p-lobby-connection-failure",
"title": "P2P/大厅连接失败诊断",
"class": "logerror",
"issueCount": 3,
"occurrences": 120,
"issues": [
"9b415b4bbb546c66eba3a6b67f916d35",
"bc7e88e9811a3e38d26e15577210e3d7",
"01eaa6aefd9162eccc930c2450a63779"
]
},
{
"id": "duplicate-similar-action",
"title": "相似 Action 重复诊断",
"class": "logerror",
"issueCount": 15,
"occurrences": 93,
"issues": [
"3511ce83d1e6f9e4d43080a8b932d294",
"13021b124af1bc7fdcc5bb8e1aa1671a",
"284527635e39660c5430a3fe6170231a",
"ee81520cec5262f63804918ad8d1b2d8",
"ee820e9ec52abd35ec974934f7686c30",
"539db90e1266143bbd7fdf7673479ea4",
"4b42e043c64194e31205b4fa1a9b4d2d",
"22c92be2f2535f31de464c1e0a359e62",
"f76a1c7293c1f7361bf9545b93892bdb",
"36f22fb8c90132e35cf0822b79d1aa6c",
"ece68e599f02cac458d489165be3ef3f",
"497714fce34071b9dd06ac1a2c9a58a3",
"36c883416648c641c81103a88dcf2763",
"1518f0a4eec73b2b4c0fa274938016d8",
"42373097547e8df089532bce9d14bed2"
]
},
{
"id": "other-logerror",
"title": "其他项目诊断日志",
"class": "logerror",
"issueCount": 58,
"occurrences": 58,
"issues": [
"81771b7253be221e89b1e44031d81356",
"fd9f9b44c9c3f88fadbeb37bb69f5106",
"b6cf96a310fa240d4761f0e42a3d6ac8",
"c73b9f4ccda676725ea950b9038eb78f",
"18bcd587572d73036de4706e509fbfab",
"3260a1fb027923937847f8b062543c05",
"4c5a486bc59f450416d6b6367a26a71b",
"078a8ce4aca4c06d81fb76358dfd83bd",
"e56bd146ce0c35ef9d326a5b385f400f",
"a2434efc7c1d6f2d063bc65493a78e9d",
"944da501c8d20dc9d6fe9a917e5a5163",
"dcec0bf5f2cc20445b1c226ee081a86d",
"d0914484c66d4e618dda41d385e42c12",
"69a532a275330ec573151d31dc291854",
"0f03581608df9e5e03eaf8251d62c393",
"ad7276c58c30ef4fc20608ba128c7bff",
"df2ec0391fd3f56ecb473b2ffd56c81c",
"fc1008e4d038852a42609c7f460ab775",
"f7235109dcc05efb69a8fe3841c5427f",
"fefa54fbbfafbbdfb9260df119165c0d",
"7e832fc8f86764797c5a96b52b6b1d86",
"89c0fce571cbbc6b8eac19047f3c669c",
"3aa23b65a8129981c68304a2234bd515",
"87197ed87e788f1c1acdc1d06ea6eb07",
"a278a756c5a9131d57754b41b9472abc",
"cfa3fabe5a16b5579c48e58e41be8941",
"06de37a2c6caa292a35c610a6c53fb68",
"80d7d4b21de3e8e767ad63325779c326",
"fa1c3b0530d56ff9dd583c05543ffd96",
"61485a4b4b308b9729695e3d4010a709",
"c24fc0f7089061a3f6243b7556b93877",
"b44d89b0faf25ce12beb4ae30cbd1b2a",
"185cac4e87ecee39eccbd746cc5275a0",
"636d2bfda352a22c767c4385cbd4ab55",
"07ebcaae645a573e4954daa0a4b65836",
"35a8d3949500dfc5f5b8fb1bfeb86974",
"489bfac12dd3715d07cbc10a33ed8908",
"25c634d91babeb6c49f7c00ad14d16be",
"3741be609b2317e0021f723c15f114bc",
"f905b20a0a5060423239c606ee5630f9",
"4a7764472a537655771e445b61d6a80a",
"5c638438c261eabc88358add3e3c09cb",
"788c401dc879684abe0810a42007231e",
"f76e2d58eb4996a515ba75615634e07a",
"0ea0e95ae594d9c5eb6fc06c4efbe243",
"99915b0ff2b5e8b305cdc031aaac3724",
"fbe9fe61955f10765c33c82e3613aa17",
"c4b8b2c48fd951e71695878486fbcefa",
"9600b523f3e8c6adaba9ec9f86e7dc73",
"6ac60b247d89cdb53b33c44ee00b9c6f",
"2b8239c676df1a409d265662e6dc2ac9",
"3451938f3358e1434e3441bfcd93fd2e",
"0510d9a45106f546c9e711698062ad31",
"d961d253ff28a67612d790af056e0c91",
"abd8d9401ee7d59f654180cb3bd56e3e",
"2451f6823ef50d6f34cc6cec726d28da",
"a881978cb6e094da45c04bbc8d121e9d",
"f9e828f7d60e309c34a8f0d3a636ffa1"
]
},
{
"id": "ai-loop-guard",
"title": "AI 计算死循环保护",
"class": "logerror",
"issueCount": 2,
"occurrences": 53,
"issues": [
"bb81bce180d8672f500aa9f2021ec9f8",
"83c5b5b46447ac4e50101f1148f4ab70"
]
},
{
"id": "action-sync-version-index",
"title": "行动同步版本/索引不一致",
"class": "logerror",
"issueCount": 5,
"occurrences": 45,
"issues": [
"2eb88941cddccae4e4a6bdcd2039a4d8",
"5e769ceb6984e585fd75e489e9494182",
"92f4c5e50096b89f95d193502cfc549d",
"43af292aecfae539c8c08ea8aaa4b2ad",
"5e725301da4a23480da69470d0cb17a8"
]
},
{
"id": "reconnect-forceupdate",
"title": "断线重连/ForceUpdate 诊断",
"class": "logerror",
"issueCount": 7,
"occurrences": 32,
"issues": [
"94fb5e01173c5d1397000e95a2739712",
"69501b0b39dadbf5214be77d938959bb",
"4224c3cdb5a90fa901fca232983f1bd8",
"277edfbad755b0df16fcc614643bb963",
"4c0b235d45e140af0a0d18b5380c11a2",
"5478484202599e9676cd7899f40c6bda",
"3c50c243c75ce45234c8635217cef93c"
]
},
{
"id": "mapdata-diff-diagnostic",
"title": "MapData 序列化差异诊断",
"class": "logerror",
"issueCount": 7,
"occurrences": 13,
"issues": [
"ec9b35f132c026fb957a88f80962154b",
"2d15aaee38c731daa3a3297c6e0ccc47",
"b9472ba8128ecfd89760e9fb5419bb35",
"e2a9a3f909c4df4480c992611f363e7f",
"dc60122a80164df932b4e67aff7df131",
"531a6bd1985e769e84927128adb429c1",
"96b488b3729b778fdfde94d9c7e22bd7"
]
},
{
"id": "invalid-action-circle-diagnostic",
"title": "不可执行行动圈诊断",
"class": "logerror",
"issueCount": 2,
"occurrences": 5,
"issues": [
"afab627d5968425dd709868c89c8be35",
"3d602afbdfcb5b6f89c19734c0d9c9bd"
]
},
{
"id": "action-completeexecute-player-mismatch",
"title": "行动执行玩家不一致",
"class": "logerror",
"issueCount": 3,
"occurrences": 4,
"issues": [
"83bce7d7daa43d052ed4bb75dc4c7d51",
"318968bdfd3b44c9fe72d9f835ce4547",
"adeb5e53dc72517e9efaa01fdda5eb68"
]
},
{
"id": "sts-upload-failure",
"title": "STS/OSS 上传失败诊断",
"class": "logerror",
"issueCount": 2,
"occurrences": 2,
"issues": [
"93509b23a954c79d835f4138bab9f3f7",
"4519111d864a8906a22e97fb6b1dafde"
]
},
{
"id": "forceupdate-player-net-map",
"title": "ForceUpdate 玩家网络映射失败",
"class": "logerror",
"issueCount": 1,
"occurrences": 1,
"issues": [
"0fdb061e5f5d06de01c578e2049244ef"
]
},
{
"id": "map-desync-diagnostic",
"title": "地图/同步状态不一致诊断",
"class": "logerror",
"issueCount": 1,
"occurrences": 1,
"issues": [
"d2c0f38b5bf4ec8afd7cae92cead936d"
]
},
{
"id": "local-device-capability",
"title": "本机音频/显卡能力诊断",
"class": "logerror",
"issueCount": 1,
"occurrences": 1,
"issues": [
"341bbed051698b373151b84bde7e144f"
]
},
{
"id": "announce-major-event-null",
"title": "重大事件公告 UI 空引用",
"class": "blocking",
"issueCount": 1,
"occurrences": 1,
"issues": [
"28071c1fd90fc17750239092279945b9"
]
}
]
}

View File

@ -1199,7 +1199,7 @@ namespace RuntimeData
}
//改变小兵的位置
public void SetUnitIdToGridId(uint uid, uint gid)
public void SetUnitIdToGridId(uint uid, uint gid, bool reportBoatOnLand = true, string source = "SetUnitIdToGridId")
{
if (UnitToGridDict.TryGetValue(uid, out var oldGid))
{
@ -1211,6 +1211,12 @@ namespace RuntimeData
_gridToUnitDict[gid] = uid;
/*if (UnitMap.GetUnitDataByUnitId(uid, out var unitData))
unitData.Renderer(this)?.InstantUpdateUnit();*/
if (reportBoatOnLand
&& UnitMap != null
&& GridMap != null
&& UnitMap.GetUnitDataByUnitId(uid, out var unitData)
&& GridMap.GetGridDataByGid(gid, out var gridData))
BoatUnitOnLandDiagnostic.ReportIfNeeded(this, unitData, gridData, source);
}
public void SetUnitDataDie(UnitData unitData)
@ -1791,6 +1797,7 @@ namespace RuntimeData
// collect 调用
CollectManager.Instance.OnAddUnitCollect(this, newUnit);
BoatUnitOnLandDiagnostic.ReportIfNeeded(this, newUnit, grid, "AddUnitData", requestedType: unitFullType);
if (IsCurrentShowMap())
{

View File

@ -1131,6 +1131,7 @@ namespace Logic.Action
private static bool _boatUnitOnLandDiagnosticFailedLogged;
private static bool _unitRendererMismatchDiagnosticFailedLogged;
private static bool _unitAttackRendererMissingAfterKillDiagnosticFailedLogged;
private static bool _unitAttackAllyRendererMissingAfterKillDiagnosticFailedLogged;
private const int MaxRendererUnitMismatchLogCount = 12;
public ActionLogicBase(CommonActionId id)
@ -1681,6 +1682,102 @@ namespace Logic.Action
}
}
}
protected static void ReportUnitAttackAllyRendererMissingAfterKill(
CommonActionParams actionParams,
CommonActionId actionId,
bool originAliveBefore,
bool targetAliveBefore,
bool originKilled,
bool targetKilled,
bool handledByLifecycle,
bool notProjectile,
bool unit1Die,
GridData originGrid,
GridData targetGrid,
UnitRenderer originUnitRenderer,
UnitRenderer targetUnitRenderer)
{
try
{
var mapData = actionParams?.MapData;
if (mapData == null) return;
_sharedRendererUnitMismatchLogBuilder ??= new StringBuilder(2048);
var sb = _sharedRendererUnitMismatchLogBuilder;
sb.Clear();
sb.AppendLine("[UnitAttackAllyRendererMissingAfterKill] 友军攻击击杀后Renderer缺失导致死亡表现无法入队");
sb.Append("MapId=").Append(mapData.MapID)
.Append(", ActionIndex=").Append(mapData.Net?.Actions?.Count ?? 0)
.Append(", OriginRendererMissing=").Append(originUnitRenderer == null)
.Append(", TargetRendererMissing=").Append(targetUnitRenderer == null)
.Append(", OriginGridMissing=").Append(originGrid == null)
.Append(", TargetGridMissing=").Append(targetGrid == null)
.Append(", OriginKilled=").Append(originKilled)
.Append(", TargetKilled=").Append(targetKilled)
.Append(", HandledByLifecycle=").Append(handledByLifecycle)
.Append(", NotProjectile=").Append(notProjectile)
.Append(", Unit1DieFlag=").Append(unit1Die)
.Append(", PresentationBusy=").Append(PresentationManager.Busy)
.Append(", BusyType=").Append(PresentationManager.BusyType ?? "null")
.AppendLine();
sb.AppendLine("CurrentAction:");
if (actionId != null)
sb.AppendLine(actionId.GetStringLog());
if (actionParams != null)
{
sb.AppendLine("CurrentParam:");
sb.AppendLine(actionParams.GetStringLog());
}
AppendRecentActionsLog(sb, mapData, 3);
sb.Append("Origin: aliveBefore=").Append(originAliveBefore)
.Append(", aliveAfter=").Append(actionParams?.UnitData?.IsAlive())
.Append(", validAfter=").Append(actionParams?.UnitData?.IsValidOnMap(mapData))
.Append(", renderer=");
if (originUnitRenderer != null)
sb.AppendLine(originUnitRenderer.GetDiagnosticString(mapData));
else
sb.AppendLine("null");
if (actionParams?.UnitData != null)
{
sb.Append("OriginData: ");
AppendUnitDataLog(sb, mapData, actionParams.UnitData);
sb.Append(", landType=").Append(actionParams.UnitData.GetLandType())
.Append(", APAttack=").Append(actionParams.UnitData.GetActionPoint(ActionPointType.Attack))
.Append(", APMove=").Append(actionParams.UnitData.GetActionPoint(ActionPointType.Move))
.AppendLine();
}
sb.Append("Target: aliveBefore=").Append(targetAliveBefore)
.Append(", aliveAfter=").Append(actionParams?.TargetUnitData?.IsAlive())
.Append(", validAfter=").Append(actionParams?.TargetUnitData?.IsValidOnMap(mapData))
.Append(", renderer=");
if (targetUnitRenderer != null)
sb.AppendLine(targetUnitRenderer.GetDiagnosticString(mapData));
else
sb.AppendLine("null");
if (actionParams?.TargetUnitData != null)
{
sb.Append("TargetData: ");
AppendUnitDataLog(sb, mapData, actionParams.TargetUnitData);
sb.Append(", landType=").Append(actionParams.TargetUnitData.GetLandType())
.AppendLine();
}
LogSystem.LogError(sb.ToString());
}
catch (Exception e)
{
if (!_unitAttackAllyRendererMissingAfterKillDiagnosticFailedLogged)
{
_unitAttackAllyRendererMissingAfterKillDiagnosticFailedLogged = true;
LogSystem.LogWarning($"UnitAttackAllyRendererMissingAfterKill diagnostic failed: {e}");
}
}
}
// 执行后逻辑
protected virtual void AfterExecute(CommonActionParams actionParams)
@ -1794,6 +1891,15 @@ namespace Logic.Action
//Step #3 更新成就完成情况
AchievementDataManager.Instance.OnBuildWonder(actionParams.MapData, player, city, actionParams.GridData);
try
{
if (actionParams.GridData.RealUnit(actionParams.MapData, out var wonderGridUnit))
BoatUnitOnLandDiagnostic.ReportIfNeeded(actionParams.MapData, wonderGridUnit, actionParams.GridData, $"BuildWonderAction:{_actionId.WonderType}");
}
catch (Exception e)
{
LogSystem.LogWarning($"BuildWonderAction boat-on-land diagnostic failed: {e}");
}
return true;
}
@ -1876,6 +1982,15 @@ namespace Logic.Action
//更新所有建筑的buildingLevel
Main.PlayerLogic.UpdateTerritoryAllBuildingLevel(actionParams.MapData,actionParams.PlayerData.Id);
try
{
if (actionParams.GridData.RealUnit(actionParams.MapData, out var gainGridUnit))
BoatUnitOnLandDiagnostic.ReportIfNeeded(actionParams.MapData, gainGridUnit, actionParams.GridData, $"GainResourceAction:{_actionId.ResourceType}");
}
catch (Exception e)
{
LogSystem.LogWarning($"GainResourceAction boat-on-land diagnostic failed: {e}");
}
return true;
}

View File

@ -55,6 +55,8 @@ namespace Logic.Action
UnitData unit2 = actionParams.TargetUnitData;
CityData city1 = unit1.City(actionParams.MapData);
MapData mapData = actionParams.MapData;
var originAliveBeforeAttackAlly = unit1.IsAlive();
var targetAliveBeforeAttackAlly = unit2.IsAlive();
SkillType animSkillData = SkillType.NONE;
@ -266,10 +268,45 @@ namespace Logic.Action
//================================================
//Step #3 处理动画
var originKilledByAttackAlly = originAliveBeforeAttackAlly && (!unit1.IsAlive() || !unit1.IsValidOnMap(mapData));
var targetKilledByAttackAlly = targetAliveBeforeAttackAlly && (!unit2.IsAlive() || !unit2.IsValidOnMap(mapData));
//如果是AI预测行为return
if (actionParams.MapData != Main.MapData) return true;
//如果数据出错return
if (originGrid == null || targetGrid == null || originUnitRenderer == null || targetUnitRenderer == null) return false;
if (originGrid == null || targetGrid == null || originUnitRenderer == null || targetUnitRenderer == null)
{
if (originKilledByAttackAlly || targetKilledByAttackAlly)
{
ReportUnitAttackAllyRendererMissingAfterKill(
actionParams,
_actionId,
originAliveBeforeAttackAlly,
targetAliveBeforeAttackAlly,
originKilledByAttackAlly,
targetKilledByAttackAlly,
handledByLifecycle,
NotProjectile,
unit1Die,
originGrid,
targetGrid,
originUnitRenderer,
targetUnitRenderer);
try
{
if (targetKilledByAttackAlly && targetUnitRenderer != null)
targetUnitRenderer.Die();
if (originKilledByAttackAlly && originUnitRenderer != null)
originUnitRenderer.Die();
}
catch (System.Exception e)
{
LogSystem.LogWarning($"UnitAttackAllyRendererMissingAfterKill cleanup failed: {e}");
}
}
return false;
}
//如果不在视野return
if (!Main.MapData.PlayerMap.SelfPlayerData.Sight.CheckIsInSight(originGrid.Id) &&
!Main.MapData.PlayerMap.SelfPlayerData.Sight.CheckIsInSight(targetGrid.Id)) return true;

View File

@ -140,10 +140,29 @@ namespace Logic.Action
//Step #8 重新计算连通性
Main.PlayerLogic.UpdateCityConnect(actionParams.MapData,actionParams.PlayerData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
protected void ReportBoatUnitOnLandAfterBuild(CommonActionParams actionParams)
{
try
{
if (actionParams?.MapData == null || actionParams.GridData == null) return;
if (actionParams.GridData.RealUnit(actionParams.MapData, out var unit))
BoatUnitOnLandDiagnostic.ReportIfNeeded(
actionParams.MapData,
unit,
actionParams.GridData,
$"BuildAction:{_actionId.ResourceType}/{_actionId.FeatureType}");
}
catch (Exception e)
{
LogSystem.LogWarning($"BuildAction boat-on-land diagnostic failed: {e}");
}
}
public override bool CheckCan(CommonActionParams actionParam)
{
@ -643,6 +662,7 @@ namespace Logic.Action
if (actionParams.PlayerData.TechTree.CheckIfHasTechAtom(TechAtom.MoriyaRoad))
Main.PlayerLogic.UpdateCityConnect(actionParams.MapData,actionParams.PlayerData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -709,6 +729,7 @@ namespace Logic.Action
Main.CityLogic.UpdateGrid_ViewOnly(actionParams.MapData,actionParams.GridData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -833,6 +854,7 @@ namespace Logic.Action
// 重新计算建筑等级和连通性
Main.PlayerLogic.UpdateTerritoryAllBuildingLevel(actionParams.MapData, actionParams.PlayerData.Id);
Main.PlayerLogic.UpdateCityConnect(actionParams.MapData, actionParams.PlayerData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -897,6 +919,7 @@ namespace Logic.Action
Main.CityLogic.UpdateGrid_ViewOnly(actionParams.MapData,actionParams.GridData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -1037,6 +1060,7 @@ namespace Logic.Action
Main.PlayerLogic.UpdateTerritoryAllBuildingLevel(actionParams.MapData,actionParams.PlayerData.Id);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -1104,6 +1128,7 @@ namespace Logic.Action
Main.CityLogic.UpdateGrid_ViewOnly(actionParams.MapData,actionParams.GridData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -1189,6 +1214,7 @@ namespace Logic.Action
//Step #8 重新计算连通性
Main.PlayerLogic.UpdateCityConnect(actionParams.MapData,actionParams.PlayerData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -1258,6 +1284,7 @@ namespace Logic.Action
//Step #8 重新计算连通性
Main.PlayerLogic.UpdateCityConnect(actionParams.MapData,actionParams.PlayerData);
ReportBoatUnitOnLandAfterBuild(actionParams);
return true;
}
@ -1307,4 +1334,4 @@ namespace Logic.Action
}
}
}

View File

@ -78,6 +78,7 @@ namespace Logic.Action
actionParams.GridData.Renderer(actionParams.MapData)?.InstantUpdateGrid(true);
actionParams.GridData.Renderer(actionParams.MapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.Fog));
}
ReportBoatUnitOnLandAfterGridMisc(actionParams);
return true;
}
@ -100,6 +101,7 @@ namespace Logic.Action
actionParams.GridData.Renderer(actionParams.MapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.Fog));
}
ReportBoatUnitOnLandAfterGridMisc(actionParams);
return true;
}
@ -117,6 +119,7 @@ namespace Logic.Action
actionParams.GridData.Renderer(actionParams.MapData)?.InstantUpdateGrid(true);
actionParams.GridData.Renderer(actionParams.MapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.Fog));
}
ReportBoatUnitOnLandAfterGridMisc(actionParams);
return true;
}
@ -137,6 +140,7 @@ namespace Logic.Action
actionParams.GridData.RealUnit(actionParams.MapData, out var gridUnit))
{
gridUnit.OnBeInteractTarget(actionParams.MapData,gridUnit,actionParams.GridData);
ReportBoatUnitOnLandAfterGridMisc(actionParams);
return true;
}
@ -192,11 +196,30 @@ namespace Logic.Action
if (actionParams.GridData.VisibleUnit(actionParams.MapData,actionParams.PlayerData, out var unit))
unit.Renderer(actionParams.MapData)?.InstantUpdateUnit(true);
ReportBoatUnitOnLandAfterGridMisc(actionParams);
return true;
}
return false;
}
protected void ReportBoatUnitOnLandAfterGridMisc(CommonActionParams actionParams)
{
try
{
if (actionParams?.MapData == null || actionParams.GridData == null) return;
if (actionParams.GridData.RealUnit(actionParams.MapData, out var unit))
BoatUnitOnLandDiagnostic.ReportIfNeeded(
actionParams.MapData,
unit,
actionParams.GridData,
$"GridMiscAction:{_actionId.GridMiscActionType}");
}
catch (Exception e)
{
LogSystem.LogWarning($"GridMiscAction boat-on-land diagnostic failed: {e}");
}
}
public override bool CheckCan(CommonActionParams actionParams)
{
//如果是unit或者city来执行gridMisc操作直接return false
@ -576,6 +599,7 @@ namespace Logic.Action
//step #6 扣钱
actionParams.PlayerData.SpendCoin(GetCost(actionParams));
actionParams.PlayerData.PlayerMountainPointUsed++;
ReportBoatUnitOnLandAfterGridMisc(actionParams);
return true;
}
@ -676,4 +700,4 @@ namespace Logic.Action
}
}
}

View File

@ -116,6 +116,7 @@ namespace Logic.Action
gridData.Renderer(actionParams.MapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.Fog));
}
unitData.Renderer(actionParams.MapData)?.InstantUpdateUnit(true);
BoatUnitOnLandDiagnostic.ReportIfNeeded(actionParams.MapData, unitData, gridData, $"UnitAction:{_actionId.UnitActionType}");
return true;
}
if (_actionId.UnitActionType == UnitActionType.Capture)
@ -142,6 +143,7 @@ namespace Logic.Action
foreach (var kv in player.PlayerHeroData.HeroTaskDict)
kv.Value.OnPlayerCaptureCity(actionParams.MapData);
}
BoatUnitOnLandDiagnostic.ReportIfNeeded(actionParams.MapData, unitData, gridData, $"UnitAction:{_actionId.UnitActionType}");
return true;
}
//处理占领村庄的情况
@ -190,6 +192,7 @@ namespace Logic.Action
Empire = Main.MapData.PlayerMap.SelfPlayerData.Empire
});
}
BoatUnitOnLandDiagnostic.ReportIfNeeded(actionParams.MapData, unitData, gridData, $"UnitAction:{_actionId.UnitActionType}");
return true;
}
}
@ -215,6 +218,7 @@ namespace Logic.Action
//Step #3.5 如果玩家有视野,播放音效
if(actionParams.UnitData.Grid(actionParams.MapData)?.InMainSight() ?? false)
AudioManager.Instance.PlayAudio("SFX/UNIT_levelup");
BoatUnitOnLandDiagnostic.ReportIfNeeded(actionParams.MapData, unitData, gridData, $"UnitAction:{_actionId.UnitType}");
return true;
}
@ -412,6 +416,7 @@ namespace Logic.Action
{
actionParams.UnitData.ClearActionPoint();
actionParams.UnitData.Renderer(actionParams.MapData)?.InstantUpdateUnit(true);
BoatUnitOnLandDiagnostic.ReportIfNeeded(actionParams.MapData, actionParams.UnitData, gridData, $"UnitAction:{_actionId.UnitActionType}");
}
return ret;

View File

@ -6,7 +6,11 @@
*/
using System.Text;
using Logic.Config;
using RuntimeData;
using TH1_Core.Managers;
using TH1_Logic.Core;
using TH1_Logic.Net;
using UnityEngine;
@ -77,6 +81,138 @@ namespace Logic.CrashSight
}
public static class BoatUnitOnLandDiagnostic
{
private static bool _diagnosticFailedLogged;
public static void ReportIfNeeded(
MapData mapData,
UnitData unitData,
GridData gridData,
string source,
UnitFullType? previousType = null,
UnitFullType? requestedType = null)
{
try
{
if (mapData != Main.MapData) return;
if (unitData == null || gridData == null) return;
if (gridData.Terrain != TerrainType.Land) return;
if (mapData.UnitMap == null || mapData.GridMap == null) return;
if (!mapData.UnitMap.GetUnitDataByUnitId(unitData.Id, out var currentUnit) || currentUnit == null) return;
var landType = currentUnit.GetLandType();
if (landType != LandType.WaterAndAshore && landType != LandType.WaterOnly) return;
mapData.GetGridIdByUnitId(currentUnit.Id, out var boundGridId);
mapData.GetCityIdByUnitId(currentUnit.Id, out var cityId);
mapData.GetPlayerIdByUnitId(currentUnit.Id, out var playerId);
var sb = new StringBuilder(1536);
sb.AppendLine("[BoatUnitOnLandState] 船形态Unit停留在陆地格-源头诊断");
sb.Append("Source=").Append(source ?? "null")
.Append(", MapId=").Append(mapData.MapID)
.Append(", ActionIndex=").Append(mapData.Net?.Actions?.Count ?? 0)
.Append(", PresentationBusy=").Append(PresentationManager.Busy)
.Append(", BusyType=").Append(PresentationManager.BusyType ?? "null")
.AppendLine();
AppendFullType(sb, "PreviousType", previousType);
sb.Append(", ");
AppendFullType(sb, "RequestedType", requestedType);
sb.Append(", ");
AppendFullType(sb, "CurrentType", currentUnit.UnitFullType);
sb.AppendLine();
sb.Append("Unit: id=").Append(currentUnit.Id)
.Append(", hp=").Append(currentUnit.Health)
.Append(", alive=").Append(currentUnit.IsAlive())
.Append(", validOnMap=").Append(currentUnit.IsValidOnMap(mapData))
.Append(", landType=").Append(landType)
.Append(", carry=");
AppendFullType(sb, currentUnit.CarryUnitFullType);
sb.Append(", boundGrid=").Append(boundGridId)
.Append(", city=").Append(cityId)
.Append(", player=").Append(playerId)
.AppendLine();
sb.Append("Grid: id=").Append(gridData.Id)
.Append(", terrain=").Append(gridData.Terrain)
.Append(", resource=").Append(gridData.Resource)
.Append(", feature=").Append(gridData.Feature)
.Append(", vegetation=").Append(gridData.Vegetation)
.Append(", pos=(").Append(gridData.Pos.X).Append(",").Append(gridData.Pos.Y).Append(")")
.AppendLine();
AppendRecentActions(sb, mapData, 3);
LogSystem.LogError(sb.ToString());
}
catch (System.Exception e)
{
if (_diagnosticFailedLogged) return;
_diagnosticFailedLogged = true;
LogSystem.LogWarning($"BoatUnitOnLandState diagnostic failed: {e}");
}
}
private static void AppendRecentActions(StringBuilder sb, MapData mapData, int maxCount)
{
var actions = mapData.Net?.Actions;
if (actions == null || actions.Count == 0)
{
sb.AppendLine("RecentActions: 无");
return;
}
var count = System.Math.Min(actions.Count, maxCount);
sb.Append("RecentActions(count=").Append(count).AppendLine("):");
for (var i = 0; i < count; i++)
{
var actionIndex = actions.Count - 1 - i;
var actionData = actions[actionIndex];
sb.Append("RecentAction[").Append(actionIndex).AppendLine("]:");
if (actionData == null)
{
sb.AppendLine("null");
continue;
}
sb.Append("Version=").Append(actionData.Version)
.Append(", MapHash=").Append(actionData.MapHash)
.AppendLine();
if (actionData.ActionId != null)
sb.AppendLine(actionData.ActionId.GetStringLog());
if (actionData.Param != null)
{
sb.AppendLine("Param:");
sb.AppendLine(actionData.Param.GetStringLog());
}
}
}
private static void AppendFullType(StringBuilder sb, string label, UnitFullType? fullType)
{
sb.Append(label).Append("=");
if (!fullType.HasValue)
{
sb.Append("null");
return;
}
AppendFullType(sb, fullType.Value);
}
private static void AppendFullType(StringBuilder sb, UnitFullType fullType)
{
sb.Append(fullType.UnitType)
.Append("/")
.Append(fullType.GiantType)
.Append("/")
.Append(fullType.UnitLevel);
}
}
public class LogSystem
{
public static string Record = string.Empty;

View File

@ -198,7 +198,7 @@ namespace Logic
}
unitData.BeforeMove(mapData, gridData, moveType, path);
mapData.SetUnitIdToGridId(unitData.Id, gridData.Id);
mapData.SetUnitIdToGridId(unitData.Id, gridData.Id, reportBoatOnLand: false);
if (mapData == Main.MapData) AchievementDataManager.Instance.OnUnitMove(mapData, unitData, gridData);
@ -246,6 +246,7 @@ namespace Logic
unitData.OnMove(mapData, gridData, moveType, path);
mapData.OnAnyUnitMove(mapData, unitData, gridData, moveType);
BoatUnitOnLandDiagnostic.ReportIfNeeded(mapData, unitData, gridData, $"MoveToLogic:{moveType}");
if (!mapData.GetPlayerDataByUnitId(unitData.Id, out var playerData))
{
// OnMove 中触发的自杀类技能(如 INFILTRATE会让 unit 在此点之前已被 UnitUnnaturalDie 移除,
@ -1668,6 +1669,8 @@ namespace Logic
Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(unitData.UnitType, unitData.GiantType, unitData.UnitLevel, out var originInfo);
Table.Instance.UnitTypeDataAssets.GetUnitTypeInfo(targetType, giantType, unitLevel, out var targetInfo);
if (originInfo == null || targetInfo == null) return;
var previousFullTypeForBoatOnLandLog = unitData.UnitFullType;
var requestedFullTypeForBoatOnLandLog = new UnitFullType(targetType, giantType, unitLevel);
unitData.SkillCache ??= new List<SkillBase>();
unitData.Skills ??= new List<SkillBase>();
@ -1772,6 +1775,9 @@ namespace Logic
// Collect 调用
CollectManager.Instance?.TransformUnitCollect(mapData, unitData, originFullType, targetFullType);
if (mapData.GetGridDataByUnitId(unitData.Id, out var boatOnLandGrid))
BoatUnitOnLandDiagnostic.ReportIfNeeded(mapData, unitData, boatOnLandGrid, "UnitTypeTransform",
previousFullTypeForBoatOnLandLog, requestedFullTypeForBoatOnLandLog);
}
public void PassiveMoveAway(MapData mapData,UnitData unitData)