找回密码
 立即注册

QQ登录

只需一步,快速开始

楼主: arong

86JP修复进度搬运

 火... [复制链接]
发表于 5 天前 | 显示全部楼层
怎么把a12的数据过渡到a21上面?
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
2026-8-26
1.修复大会、祭坛进入闪退
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
2026-8-26追击更新
2.活动编码改回GBK(解决乱码问题)
3.修复幸运星租赁
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层



火山C一波干成舰炮混子
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
最新的客户端下载地址在哪里啊楼主[表情:乖]
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
2026-8-26追击更新
4.修复异界外独立掉落
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
佬 目前总体进度大概是多少啊
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
大佬,我现在在玩23号的版本如果我更新到26号服务端存档直接复制db文件就行了么?还有之前团本频道还能进去看的现在点团本频道直接提示不在日期[表情:泪]
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
dc频道可以分享一下么老哥
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
大佬救命,名字不显示了。乱尘大佬也不更新。
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
乱尘更新有乱码的版本
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
2026-8-26追击更新
5.修复删除角色功能
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 5 天前 | 显示全部楼层
请问这种修复是修客户端还是修服务端?
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
大佬,奶爸支援兵之前能用,现在用不了了。我改了荣誉祝福,昨天还好好的。希望反馈下
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
2026-8-26追击更新
6.修复异界掉落
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
2026-8-26追加更新
7.补充副本解析并修复部分任务房间没门
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

5594

主题

4万

回帖

17万

积分

神功绝世

积分
170106
发表于 4 天前 | 显示全部楼层
佬,可以分享一下dc的链接嘛
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 4 天前 | 显示全部楼层
2026-8-27
1.修复副本进入次数校验与持久化
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
大佬大佬,A21里面这个瞬间移动药剂不能用吗
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
死神的邀请函怎样添加到任务背包里?
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
今天咋不更新了?另外支援兵应该是我的问题,忘同步了。大佬[表情:汗]
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
2026-8-28
1修复宠物运行时结算的并发写入导致的堆栈溢出风险
修改目标
降低宠物饱食度分钟结算与全局背包保存并发写入同一 SQLite 时产生堆栈溢出的风险。
原异常栈集中在:
CreatureDetailRepository.Update InventoryPersistenceService.SaveDirtyInTransaction OnlineInventoryMutationCommitCoordinator.TryCommit PetCreatureSatietyCommitService.TryCommitTownElapsed PetCreatureRuntimeService.TickSessionAsync
当前实现
宠物分钟任务直接在 ClockService 回调中串行执行,不再通过 Task.Run 脱离调度顺序。
宠物分钟结算完成后,Clock 才会继续执行全局背包保存。
副本消耗、城镇恢复、死亡检查和复活提交前先预览状态。
饱食度没有实际变化时,直接返回,不打开 SQLite 连接或事务。
宠物复活只在真正回城的生命周期入口执行,不再由分钟巡检重复检查。
零延迟死亡检查提交失败时,使用固定 5 秒正延迟重试。
死亡重试继续校验 session、run identity 和 timer version,旧副本回调不会修改当前状态。
饱食度没有产生可见变化时保留原时间锚点,使不足一个单位的累计时间不会丢失。
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层
exe是不是锁死了?套装属性列表里面动一个字客户端都闪退[表情:怒]
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 前天 03:05 | 显示全部楼层
2026-8-29
1.修复换宠物及进出副本后结婚属性/名誉等级丢失
问题
服务端以抓包回放方式实现结婚属性(选角序列末尾硬编码下发 WEDDING_INFO 0x03D0 / WEDDING_CHARAC 0x03F3 / COUPLE_ROOM 0x03D8),名誉等级靠 NOTI 0x0289 HONOR_LEVEL_INFO 下发。两者都只在选角/过图时下发一次,之后由客户端缓存维持。
客户端在用 USERINFO subtype0 重建自身角色信息时会重置婚姻/名誉 UI 状态,而以下路径只重发 USERINFO、不补发上述补偿包:
地下城/城镇内切换宠物(MOVE_ITEMSPACE 0x0013 → PetInventoryMoveCoordinator)
进入地下城(DungeonEntryHandler)
结算回城(DungeonTownReturnCoordinator,BloodAltar/DeathTower 共用)与放弃/通关回城(TownHandler.ReturnSelfToTownAsync)
症状:换宠物或进出副本后左下角结婚属性图标消失、面板丢失结婚属性加成、名誉等级显示变 lv1;重新选角后恢复。
名誉变 lv1 的直接原因:USERINFO0 的 64B 无公会尾 blob(UserInfoSubtype0Builder.BuildA21AfterAliveNoGuild)把旧协议名誉等级槽位(偏移 39-42)硬编码为 1、名誉经验(43-46)为 0,而真实值已被 HonorLevelDataProvider.ApplyToSubtype0Tail 写进 tail.ProgressA/ProgressB,序列化器未读取(死写)。
修改
UserInfoSubtype0Builder: 64B 尾 blob 偏移 39/43 改填 tail.ProgressA/ProgressB 真实值(照 ExpertJobExp 现有写法,偏移来源为旧 WriteTail 字段序,blob[52]=0x64 锚点交叉验证)
InventoryRefreshSender: 新增 SendHonorLevelInfoRefresh(转发 HonorLevelSyncService)与静态 SendWeddingReplayRefresh(按选角顺序补发婚礼三包,包体复用 WeddingReplayBodyBuilders 新增的静态 BuildBody)
PetInventoryMoveCoordinator / DungeonEntryHandler / DungeonTownReturnCoordinator / TownHandler.ReturnSelfToTownAsync:在各自 USERINFO/状态投影之后按「USERINFO 在前、补偿包在后」相对顺序补发
A21StartupProtocolSelfTest: 新增断言,验证名誉等级/经验落在 64B 尾的 39/43 偏移,防 blob 布局回归
不改动:选角序列、城镇内其他过图点(避免 COUPLE_ROOM 导致的房间动画频繁重播)、名誉经验获取逻辑。无数据库/协议格式变化。
2.修复镇魂回城后副本选择界面卡死
问题: 从镇魂(area 26)副本回城后首次打开副本选择界面, 客户端反复播放 选本音效且界面无法点击。抓包证实客户端持续重发 CMD SEQUENTIAL_DUNGEON_INFO(0x035D, 单次数百次), 而服务端未注册该 CMD, 只记日志不应答;同时进选择界面时服务端无条件推送安徒恩序列(key=28) 的 NOTI 0x025B, 错区域数据诱发客户端追问自身区域的序列状态。
修改(owner: 副本选择/安徒恩序列机制):
GameProtocolHandler 注册 CMD 0x035D, DungeonEntryHandler 新增 HandleSequentialDungeonInfo: 按请求体中的 int32 configKey 应答 NOTI 0x025B(int32 key + byte progress + int32 routeMask, 与既有主动 推送同布局);无对应序列或无进度记录时 progress 按 0(未开始)应答
AntonNormalConquest 新增 TryGetSequenceByKey 与按 key 的 TryResolveSyncState 重载(key=41 与 key=28 共享部分副本, 不能用 "第一条匹配序列"代替);原解析逻辑提取为 TryResolveSequenceState 复用
AntonNormalConquestNotifier.RestoreBeforeSelectAsync 收窄: 只恢复玩家 当前所在副本入口区域的序列, 非序列区域不再推送 0x025B
新增聚焦 SelfTest SequentialDungeonInfoProtocolSelfTest(枚举锚定/ 包体布局/按 key 进度解析, 真实 PVF + 临时 SQLite)
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 前天 06:04 | 显示全部楼层
真敬业啊,我说那个结婚属性怎么时有时无呢,我还以为是我把pvf搞错了呢,原来是bug
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 前天 10:03 | 显示全部楼层
弹药怎样解除子弹上限?
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 前天 21:07 | 显示全部楼层
开设分解机后会调用角色模型,关闭分解机后模型也不会消失
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 昨天 03:02 | 显示全部楼层
2026-8-30
1.修复非法包长导致的内存耗尽
修改目标
为 TCP framing 增加合法包长和单会话缓存边界,避免畸形或意外输入导致解析循环无法推进、未解析缓存持续增长,最终耗尽服务端内存。
背景
在本地部署环境中观察到网络会话处理阶段出现 OutOfMemoryException。
进一步检查当前收包实现后,确认存在两个代码风险:
包头声明长度没有最小值和最大值校验;
单会话未解析缓存没有容量上限。
当包头声明长度为 0 时,原处理循环满足“已有数据不少于声明长度”,但消费偏移不会增加,循环可以持续创建解析结果而无法退出。
当客户端声明较大的包长并持续发送数据时,未解析缓存也可以持续增长。
本 MR 针对上述代码路径增加防御边界,不依赖本地日志才能成立。
当前实现
声明包长必须大于或等于当前协议包头长度;
单包最大长度限制为 1 MiB;
单会话未解析缓存最大限制为 2 MiB;
零长度、短于包头和超过上限的包会被拒绝;
缓存超限会在拼接和分配新数组前被拒绝;
framing 校验失败统一抛出 InvalidDataException;
TCP 会话记录必要的诊断信息后进入既有清理流程;
非法输入只终止当前连接,不影响其他在线连接;
合法分片包和一次读取中的多个完整包保持原有解析行为。
代码所有权
涉及组件:
FlexiblePacketProcessorMultiStructureTcpServerGamePacketHeaderChannelPacketHeader
FlexiblePacketProcessor 负责 framing、包长校验和未解析缓存边界。
MultiStructureTcpServer 负责处理 framing 异常,并通过既有 finally 路径清理和关闭当前连接。
本次不修改具体业务 Handler、CMD/NOTI 编号或合法包体字段。
协议兼容性
当前协议包头长度为:
ChannelPacketHeader:11 字节 GamePacketHeader:14 字节
合法帧必须至少包含完整包头。
1 MiB 是收包层的安全上限,显著高于当前仓库 SelfTest 和本地已观察流量中的合法请求大小。如果后续获得超过该上限的可靠 A21 协议证据,应依据证据调整上限并补充回归测试。
接入路径
MultiStructureTcpServer.ProcessClientAsync -> FlexiblePacketProcessor.ProcessReceivedData -> 解析 packet header -> 校验 headerSize <= packetLength <= 1 MiB -> 校验单会话缓存 <= 2 MiB -> 合法则继续解析 -> 非法则终止当前连接
自测
新增:
--selftest-packet-framing-bounds
覆盖:
合法分片包重新组装;
同一次读取中多个包的边界保持;
零长度包拒绝;
短于包头的长度拒绝;
超过 1 MiB 的声明长度拒绝;
超过 2 MiB 的单会话缓存输入在拼接前拒绝。
已运行:
dotnet build Server\DfoServer\DfoServer.csproj -c Debug -t:Rebuild --no-restore --nologo dotnet Server\DfoServer\bin\Debug\DfoServer.dll --selftest-packet-framing-bounds dotnet Server\DfoServer\bin\Debug\DfoServer.dll --selftest-all dotnet build Server\DfoServer\DfoServer.csproj -c Release -t:Rebuild --no-restore --nologo git diff --check
结果:
Packet framing 聚焦测试:5 项通过;
全量 SelfTest:33/33 通过;
Debug/Release Rebuild:0 warning / 0 error;
git diff --check:通过。
未实现内容
不修改缓存全量复制的性能问题;
滑动缓存和几何扩容由独立 MR 处理;
不增加全局连接数限制或 IP 级限流;
不处理业务 Handler 的字段校验;
不处理 SQLite 写锁竞争。
数据库与资源影响
不修改数据库 schema 或迁移;
不修改 PVF;
不修改客户端;
不修改合法 A21 包体;
不提交本地日志、dump、数据库或运行数据。
风险与兼容性
声明长度超过 1 MiB 的连接会被主动终止;
当前没有发现需要超过该上限的合法请求证据;
合法分片和合包行为由回归测试保护;
本 MR 只增加 framing 安全边界,不改变业务处理结果。
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

发表于 昨天 11:01 | 显示全部楼层
大佬修的敬业,楼主也很辛苦,不知道a21现在修的如何,能顺着主线一直玩到毕业不?
阿荣社区欢迎你(bbs.vul7.com)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表