📇 架构概览
在开发Python脚本前,我们先对整个脚本API的架构进行一个梳理。
Baseapp

Baseapp进程主要负责与客户端通讯、与空间或位置无关类游戏逻辑(公会管理器、聊天系统、游戏大厅、排行榜等等)、存档与备份等等。
KBEngine模块
KBEngine模块提供了Python脚本访问实体的部分,特别是它提供了定时器的注册与移除,以及实体的创建。
其中包含回调函数:KBEngine.baseAppData改变时回调:onBaseAppData
、KBEngine.baseAppData有删除时回调:onBaseAppDataDel
、某个cellapp死亡时回调:onCellAppDeath
等。
Entity
baseapp上的实体对象,提供了Entity的一些方法和属性,比如创建cell部分:createCellEntity
、创建空间并把实体cell部分创建到该空间:createCellEntityInNewSpace
、传送:telelport
等方法。
Proxy
客户端连接Baseapp后的一个代理,它是Entity的子类。
Cellapp
Cellapp进程主要负责与空间位置有关类游戏逻辑,提供将不同Baseapp上的玩家聚合在一个空间中实时交互的功能,Cellapp上通常可实现场景、NPC/怪物、战斗、关卡房间相关逻辑。
KBEngine模块
KBEngine模块提供了Python脚本访问实体的部分,特别是它提供了定时器的注册与移除,以及实体的创建。
其中包含回调函数:KBEngine.cellAppData改变时回调:onCellAppData
、KBEngine.cellAppData有删除时回调:onCellAppDataDel
、space数据有改变时回调:onSpaceData
等。
Entity
cellapp上的实体对象,提供了Entity的一些方法和属性,比如创建触发器:addProximity
、使用导航系统进行移动:navigate
、移动到某个Entity位置:moveToEntity
、传送:telelport
等方法。
Loginapp
Loginapp进程主要负责处理实体的注册与登陆请求。
KBEngine模块
KBEngine模块提供了Python脚本控制loginapp进程处理实体登陆注册等部分。
其中包含回调函数:就绪回调:onLoginAppReady
、关闭回调:onLoginAppShutDown
、请求服务器登陆账号时回调:onRequestLogin
等。
DBMgr
Dbmgr进程主要负责处理实体数据的存储与实体数据的加载查询等等。
KBEngine模块
KBEngine模块提供了Python脚本控制dbmgr进程处理实体登陆查询与数据存取等部分。
其中包含回调函数:就绪回调:onDBMgrReady
、关闭回调:onDBMgrShutDown
、选择某个账号对应接口回调:onSelectAccountDBInterface
等。
Logger
Logger进程主要负责收集KBEngine服务器所输出的日志。
KBEngine模块
KBEngine模块提供了Python脚本控制对特定类型的日志进行分析和转储等能力。
其中包含回调函数:就绪回调:onLoggerAppReady
、关闭回调:onLoggerAppShutDown
、获得一条新日志时的回调:onLogWrote
等。
Interfaces
Interfaces进程主要处理KBEngine服务端与第三方平台的接入接出工作。
KBEngine模块
KBEngine模块主要处理KBEngine服务端与第三方平台的接入接出工作。
其中包含回调函数:就绪回调:onInterfaceAppReady
、关闭回调:onInterfaceAppShutDown
、请求服务器创建账号时的回调:onRequestCreateAccount
、请求服务器登陆账号时的回调:onRequestAccountLogin
等。
Bots
Bots是一种对服务端进行模拟测试的轻量级客户端程序,Bots没有渲染等部分,通过大量的模拟客户端与服务端进行逻辑交互能够测试出服务端隐含的BUG与压力,从而使得开发人员能够有效的针对性的对服务端进行优化。
KBEngine模块
KBEngine模块提供了逻辑脚本层访问实体的部分, 以及当前进程其他客户端的数据等等。
其中包含:增加机器人:addBots
、注册一个回调:callback
、移除一个已注册但未触发的回调:cancelCallback
等。
Entity
bot的实体对象。
其中包含:移动到某个位置:moveToPoint
、回调函数-进入世界的回调:onEnterWorld
、离开世界的回调:onLeaveWorld
等。
PyClientApp
PyClientApp是KBEngine模块的一部分,由C++底层模拟一个客户端时创建的客户端对象,**注意:**脚本层不可直接创建。