KBEngine 文档KBEngine 文档
首页
源码学习
架构
API
资料
指南
GitHub
首页
源码学习
架构
API
资料
指南
GitHub
  • Part I 为什么长这样

    • 源码学习首页
    • 1. 导读与阅读方法
    • 2. BigWorld:问题、模型与核心概念
    • 3. KBEngine 系统全景
  • Part II 运行骨架

    • 4. 启动流程与进程模型
    • 5. EntityDef 与实体定义系统
    • 6. Python 运行时与脚本桥接
  • Part III 基础设施层

    • 7. 并发模型、线程与内存基础设施
    • 8. 网络基础设施:I/O 模型与进程间通信
    • 9. 分布式基础:ID、发现、注册与一致性
  • Part IV 通信与协作

    • 10. 序列化、Bundle 与网络消息
    • 11. RPC、EntityCall 与通信模式
    • 12. 属性同步与数据包广播
    • 13. 数据库、DBMgr 与持久化
  • Part V 空间、运动与拓扑

    • 14. Space、AOI 与视野系统
    • 15. 空间拓扑与动态扩容
    • 16. 移动、寻路与导航
    • 17. Ghost 系统
  • Part VI 脚本层行为

    • 18. 钩子、回调、定时器与事件
  • Part VII 前后端交互

    • 19. 客户端协议与前后端交互
  • Part VIII 运维、调试与稳定性

    • Ch20 可观测性:监控、性能分析与调试
    • Ch21 热更新、容错与运维工具
  • Part IX 串联与实战

    • Ch22 玩家完整生命周期
    • Ch23 BigWorld 与 KBEngine 对照
    • Ch24 实战源码走读
  • 阅读辅助

    • 全部目录
  • Appendix

    • 附录 A 源码阅读地图与下一步
    • 附录 B 关键算法速查
    • 附录 C 外部参考系统速查
    • 附录 D 专业术语速查
    • 附录 E 引擎适用场景与游戏类型选型指南
    • 附录 F 坐标系约定:BigWorld 与 KBEngine
    • 附录 G 服务器时间管理与世界时钟

附录 D 专业术语速查

这一页是“查词典”用途:每个术语只给一句话定义 + 首读章节。
读正文卡住时,先回这里对齐语义,再回章节看调用链。


D.1 使用方式

  • 先看“术语”列,确认你看到的是同一个概念(避免同名误解)。
  • 再看“一句话定义”,先建立最小心智模型。
  • 最后按“首读章节”跳转做深读。

D.2 实体与运行角色

术语英文/代码一句话定义首读章节
实体Entity游戏对象的运行时承载单元,不是纯数据结构。Ch2
Base 实体Base Entity驻留 BaseApp,承载长期业务逻辑(账号/背包/任务等)。Ch2 / Ch22
Cell 实体Cell Entity驻留 CellApp,承载实时空间逻辑(移动/AOI/战斗等)。Ch2 / Ch14
代理实体Proxy带客户端会话语义的特殊 Base 实体。Ch2 / Ch19
空间Space游戏世界或场景上下文。Ch2 / Ch14
CellCellSpace 的运行承载单元(BigWorld 可动态拓扑)。Ch2 / Ch15
见证者Witness把 AOI 变化转成客户端同步的执行点。Ch2 / Ch14
幽灵实体Ghost远端 real 实体在本地 Cell 的协作副本。Ch2 / Ch17

D.3 通信与 RPC

术语英文/代码一句话定义首读章节
邮箱引用MailboxBigWorld 的远端实体地址抽象,核心语义是“投递消息”。Ch2 / Ch11
远端实体引用EntityCallKBEngine 的远端实体引用,接口外观更像远程方法调用。Ch2 / Ch11
单向调用OneWay / Fire-and-forget发出后不等待返回结果。Ch11
双向调用TwoWay带回复通道的异步远程调用(非同步阻塞)。Ch11 / Ch6
延迟结果对象Deferred异步结果容器 + 回调/错误链调度器。Ch6 / Ch11
回调管理器CallbackMgrcallbackID 到回调函数的映射表(KBEngine 常用旁路机制)。Ch6 / Ch11 / Ch18
远端方法桥RemoteEntityMethod::tp_call把 Python 方法调用转换为网络消息发送。Ch11
调用路径类型ENTITYCALL_TYPE定义 Base/Cell/Client 直连或 via 转发路径。Ch11
消息包Bundle网络消息聚合和发送单元。Ch10
通道Channel连接状态与收发抽象。Ch8 / Ch10

D.4 启动、身份与分布式

术语英文/代码一句话定义首读章节
组件标识componentID / CID组件级路由主键,贯穿注册、路由、运维。Ch4 / Ch9
身份收束checkComponentID()KBEngine 启动早期确定/分配 CID 的关键步骤。Ch4
自动分配器IDComponentQuerierCID 未显式指定时向 machine 请求可用 CID。Ch4
注册中心(BW)bwmachinedBigWorld 的机器级注册与管理中心。Ch23 / Ch9
注册中心(KBE)machineKBEngine 的简化注册中心。Ch4 / Ch9
启动收束进度InitProgress“进程启动完成”到“可对外服务”的中间收敛过程。Ch4
身份冲突熔断onIdentityillegal()发现组件身份冲突时主动关停的保护机制。Ch4

D.5 定义、脚本与类型系统

术语英文/代码一句话定义首读章节
实体定义EntityDef / .def同时描述脚本可见结构、网络协议字段、持久化映射。Ch5
方法描述MethodDescription运行时方法元数据(参数、序列化规则、标识等)。Ch5 / Ch11
数值方法标识utype协议编解码时定位方法/属性描述的数值 ID。Ch5 / Ch10
脚本定义模块ScriptDefModuleEntityDef 在脚本层的描述与绑定载体。Ch5
暴露方法Exposed Method可从客户端或远端触达的方法边界定义。Ch5 / Ch19

D.6 持久化与容错

术语英文/代码一句话定义首读章节
写库入口writeToDB将在线实体状态异步收束到持久化层。Ch13
周期归档器Archiver周期触发实体归档写库。Ch13 / Ch21
周期备份器Backuper周期触发备份数据写入(不等价于跨进程热备恢复)。Ch13 / Ch21
在线检出记录EntityLog记录实体在线归属,辅助恢复和冲突清理。Ch13
进程守护ReviverBigWorld 的自动拉起与故障恢复组件。Ch21 / Ch23

D.7 常见易混概念(一眼区分)

易混对区分要点
Mailbox vs EntityCall都是远端实体引用;Mailbox 语义更像“收件箱地址”,EntityCall 外观更像“远程方法入口”。
OneWay vs TwoWayOneWay 不等结果;TwoWay 有异步回复通道。
Deferred vs CallbackMgrDeferred 强在可组合与统一错误链;CallbackMgr 强在简单直接。
Base vs CellBase 偏长期业务状态;Cell 偏实时空间状态。
CID vs EntityIDCID 标识组件实例;EntityID 标识实体实例。
Ghost vs WitnessGhost 解决跨 Cell 协作副本;Witness 解决 AOI 到客户端同步。
bwmachined vs machine都是注册中心;前者更完整,后者更简化。
Actor 心智 vs RPC 外观本质是异步消息系统;RPC 只是接口表现,不是本地函数语义。

D.8 快速排障读法(卡住时按这个顺序)

  1. 先判定执行域:Base / Cell / Client 在哪一侧执行。
  2. 再判定调用模式:OneWay 还是 TwoWay,是否有回调链。
  3. 再看路由键:CID、EntityID、ENTITYCALL_TYPE 是否一致。
  4. 最后看收束点:是否进入 DB、是否进入 InitProgress、是否触发熔断。
Prev
附录 C 外部参考系统速查
Next
附录 E 引擎适用场景与游戏类型选型指南