kbengine 常见问题汇总

时间:2023-12-23 20:26:25

Q: KBEngine是什么,能用来做什么?
A: KBEngine是一个通用网络游戏服务器引擎,适合绝大多数中心拓扑结构的网络游戏,包括但不限于即时和回合制MMORPG、副本类、房间类、卡牌、棋牌等。不适合基于P2P技术的游戏类型。

Q: 服务器的网络协议用的是什么?
A: 组网时用UDP协议,其他情况下服务器模块之间、服务器和客户端之间用的都是TCP协议。

Q: KBEngine是多线程的吗?可否部署在多台物理机上?承载能力如何
A: KBEngine采用的是单线程(当然db读写等特殊任务依然会另开临时线程处理)多进程结构,不同的进程可以部署在不同的物理机上。理论上通过扩展机器数量和配置就可以扩展负载规模。

Q: 如何用KBEngine开发服务器,需要懂底层开发吗?
A: 除非有非常特殊的需求,否则无需涉及底层开发,KBEngine封装了网络、持久化等许多底层功能,只需要使用python脚本语言在上层开发就可以实现完整的服务器功能。

Q: KBEngine使用的python是什么版本的,是否需要自己安装?
A: 目前KBEngine自带python3.4运行环境,并不需要用户另行安装python。当然如须运行installer和cluster_controller这样一些安装和控制脚本则已然需要单独安装python。

Q: KBEngine的数据持久化采用的是什么方式,是否需要自己编写语句?
A: 目前KBEngine仅支持MySql数据库,不需要自己编写SQL语句和存储过程,底层采用定义实体的方式,以实体对象为单位,自动持久化用户需要存储的数据。

Q: KBEngine支持哪些客户端?
A: KBEngine采用轻客户端结构,理论上支持所有的客户端技术,只需要对接底层协议即可。官方提供了Ogre、Unity3D、html5三种客户端的底层解析插件并提供了demo供参考,如果采用这三种技术开发客户端的话也无需关心底层通讯技术便可直接在上层开发逻辑。

Q: KBEngine能用来做手游吗?
A: 可以,KBEngine支持多种手机客户端技术,官方提供Unity3D和html5的插件和demo,cocos2dx类型的手游做简单的开发也可以连接KBEngine服务器。另外KBEngine的通讯协议优化良好,效率较高,坐标自动同步等功能也可选择性关闭以进一步节省流量。同时KBEngine对断线重连也提供了良好的支持,使其适用于移动端在网络不稳定的情况下的使用。

Q: KBEngine现在是否处于可以商用的阶段?
A: 是否商用和如何商用的问题请用户根据掌握的情况自行评估,开发方不对这个问题给出具体建议。

Q: KBEngine的运行平台支持哪些,是否支持MAC?
A: KBEngine支持windows和linux平台,其中windows作为开发和测试平台,不推荐商业运营使用,商业运营请使用linux平台。目前尚不支持在MAC下编译和运行。

Q: KBEngine的数据流采用的是什么格式?是否支持protobuf等第三方通用数据传输格式?
A: KBEngine采用的是自己序列化的二进制流,不支持protobuf等其他数据传输格式,而且因为这部分功能和引擎其他部分结合较为紧密,不建议用户自行替换。

Q: 服务器启动报红字是怎么回事,怎么知道服务器是否已成功启动了,如何查看错误日志?
A: http://bbs.kbengine.org/forum.php?mod=viewthread&tid=5&extra=page%3D1

Q: dbmgr没有跑起来,报DBInterfaceMysql::checkEnvironment: [my.cnf or my.ini]->lower_case_table_names != 0, curr=1!是怎么回事?
A: http://bbs.kbengine.org/forum.php?mod=viewthread&tid=7&extra=page%3D1

Q: demo和warring客户端可以登录服务器但是无法创建角色,提示Account::reqCreateAvatar: not found是怎么回事?
A: http://bbs.kbengine.org/forum.php?mod=viewthread&tid=29&extra=page%3D1

有一个快速安装KBE的方法
假设mysql和mysql账号都配置完毕了
1:下载服务器源码和demo以及服务器demo资产库
2:编译服务器
3:进入服务器资产库运行start_server.bat启动服务器,脚本自动设置临时环境(假如没有在系统中指定环境变量)
4:可以打开客户端进入游戏了