feat(upserver): 保存M2客户端KV迁移至本人统计写检查点
保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
This commit is contained in:
510
CodexOutput/upserver/B3BatchMigration/M2/M2-C3d-Unity最终错误日志.json
Normal file
510
CodexOutput/upserver/B3BatchMigration/M2/M2-C3d-Unity最终错误日志.json
Normal file
@@ -0,0 +1,510 @@
|
||||
{
|
||||
"TotalCount": 174,
|
||||
"DisplayedCount": 100,
|
||||
"LogType": "Error",
|
||||
"MaxCount": 100,
|
||||
"SearchText": "",
|
||||
"IncludeStackTrace": false,
|
||||
"Logs": [
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Read: StaleOrClosing",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Write outside backed-up permission: unbacked-key",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Equipment flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Equipment flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Equipment flush: Unauthorized",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Equipment ticket: Superseded",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires inactive and complete guide definitions.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires inactive and complete guide definitions.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires inactive and complete guide definitions.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Activity changed during fishing reward.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward activates an unreviewed event or trigger pack.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward activates an unreviewed event or trigger pack.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward event fields changed.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires an existing backed-up fish map key.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires an existing backed-up fish map key.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Additional collection, cruise or pack rewards require separate review.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Additional collection, cruise or pack rewards require separate review.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires completed ordinary fishing guides.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing reward cancelled: reward panel disabled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing failed; reward run stops without retry or refund.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: A confirmed v3 fishing action is required before drawing.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: A confirmed v3 fishing action is required before drawing.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Write: StorageError uncertain=True",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward segment is not admissible.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing reward cancelled: controller disabled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing reward cancelled: actual consumed action cancellation",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Unauthorized",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Unexpected fishing reward key: late",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward ticket: Superseded",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Value changed outside a fishing reward segment: NewPlayerDataDic",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward final writes require the original map/main and remote tickets.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "NullReferenceException: Object reference not set to an instance of an object",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "NullReferenceException: Object reference not set to an instance of an object",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: A fishing-consume-once permit is required before casting.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing action cancelled: cast tween killed",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Write: StorageError uncertain=True",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing action cancelled: synthetic disable",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Unauthorized",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing ticket: Superseded",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing final writes require original remote tickets.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires inactive and complete guide definitions.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires inactive and complete guide definitions.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires inactive and complete guide definitions.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Activity changed during fishing reward.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward activates an unreviewed event or trigger pack.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward activates an unreviewed event or trigger pack.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward event fields changed.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires an existing backed-up fish map key.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires an existing backed-up fish map key.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward supports one ordinary paid fish only.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Additional collection, cruise or pack rewards require separate review.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Additional collection, cruise or pack rewards require separate review.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires completed ordinary fishing guides.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing reward cancelled: reward panel disabled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing failed; reward run stops without retry or refund.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: A confirmed v3 fishing action is required before drawing.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: A confirmed v3 fishing action is required before drawing.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Write: StorageError uncertain=True",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward segment is not admissible.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing reward cancelled: controller disabled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing reward cancelled: actual consumed action cancellation",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Unauthorized",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Unexpected fishing reward key: late",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward ticket: Superseded",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Value changed outside a fishing reward segment: NewPlayerDataDic",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward final writes require the original map/main and remote tickets.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "NullReferenceException: Object reference not set to an instance of an object",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "NullReferenceException: Object reference not set to an instance of an object",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: A fishing-consume-once permit is required before casting.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing action cancelled: cast tween killed",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Write: StorageError uncertain=True",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing action cancelled: synthetic disable",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Unauthorized",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing flush: Network",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing ticket: Superseded",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Fishing final writes require original remote tickets.",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward flush: Cancelled",
|
||||
"StackTrace": null
|
||||
},
|
||||
{
|
||||
"Type": "Error",
|
||||
"Message": "KV loop stopped: Reward requires inactive and complete guide definitions.",
|
||||
"StackTrace": null
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user