什么是KBEngine】的更多相关文章

项目有两个镜像,github[https://github.com/kbengine/kbengine.git] ,osc开源中国[https://git.oschina.net/likecg/kbengine.git].开源中国的下载速度最快,github速度时好时坏,一般情况访问速度都是很慢的,只有5KB/S的速度,开源中国可以到达1M/S的速度.但是开源中国版本数据不一定是最新的. 办法:下载项目的时候可以先到开源中国下载大部分的工程数据,然后再用github进行更新. 示例: 先到开源中…
  本项目作为kbengine服务端引擎的客户端演示而写 更新kbengine插件库(https://github.com/kbengine/kbengine_unity3d_plugins):    * 使用git命令行,进入到kbengine_unity3d_warring目录执行:         git submodule update --init    * 或者使用 TortoiseGit(选择菜单): TortoiseGit -> Submodule Update: * 也可以手动…
当服务端成功启动,客户端链接服务端后进入demo中的游戏界面,demo中的功能包括注册.登录.角色管理.战斗.场景等等. 对于新接触kbengine的人,看见客户端的代码后会觉得很迷茫,有些无从下手.(本人unity和c++都是小白,所以更加难以入手) 那么如果想使用kbengine框架做游戏业务逻辑上的扩展,就必须先知道代码的运行顺序,都执行了哪些方法,做了什么工作,以方便我们在基础上做更改和添加新的功能.网上很多大牛在介绍kbengine时候都介绍的很详尽,服务端各模块的介绍都很专业,但可惜…
官方FAQ 下面是我遇到的一些问题: 1.服务端   "strtof" 未定义的标示符 对于我这个c++入门级都不算的新手,这个错误很挠头,这个错误是由于vc++版本问题,新版的语言中该函数不再使用,所以在系统库中提示不存在的标示符,方法的作用是将string类型的变量转换为float类型. 解决方法:使用atof方法替换strtof. 2.客户端   "call(reqCreateAvatar:not found)"  运行时出现的错误,导致无法进入角色选择界面,…
做好准备工作后,可以开始搭建我们的kbengine服务端,运行成功kbengine服务端,共有9个服务会相应的被打开,并会全部提示[info]found all components! 准备工作 1.在github上下载项目最新的源码 2.下载测试的客户端源码(这里使用unity3d) kbengine服务端源码目录介绍 当前目录为: KBE_ROOT根目录 KBE_ROOT/assets[KBE_ROOT/kbengine_demos_assets]:游戏工程例子根目录 res :工程的所有资…
什么是kbengine? 一款开源的游戏服务端引擎,客户端通过简单的约定协议就能与服务端通讯, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d-x, HTML5, 等等)技术结合形成一个完整的客户端.服务端底层框架使用C++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术, 将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏.----Kbengine API 准备工作(windows) 1.mysql keb…
https://github.com/kbengine/kbengine/tree/master/docs…
十四:在世界中投放NPC/MonsterSpace的cell创建完毕之后, 引擎会调用base上的Space实体, 告知已经获得了cell(onGetCell),那么我们确认cell部分创建好了之后就可以开始投放NPC出生点了.(注意:这里并不是直接将NPC/Monster创建出来,而是先在对应的位置创建了一个出生点, 出生点的好处是可以根据一定规则, 当NPC/Monster在某区域减少的时候可以在合适的时候将其创建出来,例如:一群怪被玩家清理掉了,半小时后怪刷出.)onGetCell添加了一…
七:服务端资产库文件夹结构http://kbengine.org/cn/docs/concepts/directorys.html看assets, 注意:demo使用的不是默认的assets资产目录,而是上面章节下载的kbengine_demos_assets,但文件夹结构与意义是一致的.八:客户端文件夹结构kbengine_unity3d_demo             -> Assets                                                    …
一:环境搭建1. 确保已经下载过KBEngine服务端引擎,如果没有下载请先下载          下载服务端源码(KBEngine):              https://github.com/kbengine/kbengine/releases/latest        编译(KBEngine):            http://www.kbengine.org/docs/build.html         安装(KBEngine):              http://w…
回复才可见的内容https://github.com/kbengine/kbengine_ue4_demo回复才可见的内容https://github.com/kbengine/kbengine_ogre_demo回复才可见的内容https://github.com/kbengine/kbengine_unity3d_warring回复才可见的内容https://github.com/kbengine/kbengine_cocos2d_js_demohttps://github.com/kben…
Q: KBEngine是什么,能用来做什么?A: KBEngine是一个通用网络游戏服务器引擎,适合绝大多数中心拓扑结构的网络游戏,包括但不限于即时和回合制MMORPG.副本类.房间类.卡牌.棋牌等.不适合基于P2P技术的游戏类型.Q: 服务器的网络协议用的是什么?A: 组网时用UDP协议,其他情况下服务器模块之间.服务器和客户端之间用的都是TCP协议.Q: KBEngine是多线程的吗?可否部署在多台物理机上?承载能力如何A: KBEngine采用的是单线程(当然db读写等特殊任务依然会另开临…
http://www.kbengine.org/assets/other/KBEngine_overview.zip…
KBEngine服务端引擎开源项目地址(github):https://github.com/kbengine/kbengine引擎下载与编译:http://kbengine.org/cn/docs/build.html安装:http://kbengine.org/cn/docs/installation.html启动与关闭 :http://kbengine.org/cn/docs/startup_shutdown.html技术概览:http://kbengine.org/cn/docs/doc…
系统:Win10 版本:Visual Studio 2013(也就是vs120) kbengine:v1.0.0 MySQL:5.7 MySQL Workbench :6.3 一.下载kbengine 1)进入https://github.com/kbengine/kbengine 2)选择tag v1.0.0 3)点击"clone or download"下载zip到某文件夹 4)解压 二.编译工程 用Visual Studio打开kbengine-1.0.0\kbe\src\kbe…
我用的vs版本是vs2017professional版本,并未安装所有的工具 在编译kbengine源码时候出现 MSB802 无法找到v140的生成工具错误 修复办法在菜单栏选择  工具-->获取工具和功能,找到vs2015 v140工具并勾选 最后修改安装 还要提一下,为了能够编译无误最好是不要有中文路径 原文:https://blog.csdn.net/blastblade/article/details/81187050…
KBengine一年前就知道了,但是没来得及学(只记得是C++ + python脚本),前一个项目unity3d+fkask+socketio+sqlite硬怼出来的.这半年也没来得及管.(好像当时看,还只是python2) 最近看了ECS架构的文章 <守望先锋>架构设计与网络同步 -- GDC2017 精品分享实录 <守望先锋>中的网络脚本化的武器和技能系统 忽然想起了KBEngine,结果发现现在已经叫CBEngine了... 又看了一下KBE的文档,发现开发方式很不错: 1…
之前想分析一个开源服务器很久了,思前想后,还是选择了kbengine. KBEngine的服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新).现在服务器大多数是用C++做的,python作脚本也比较多,另外一个就是lua. kbengine底层架构被设计为多进程分布式动态负载均衡方案, 理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度.这里对多进程分布式不是很理解,以后再解答. kbengine主要组件 baseapp,baseap…
其实这篇的内容官方文档都有, 但是既然打算记录一下学习笔记, 也就先从安装开始了. 一 下载源代码 进入github下载最新release的源码压缩包. windows选择zip, 下载完成之后右键解压缩. 进入kbengine目录, 里面有三个文件夹: assets\docs\kbe assets是游戏项目资产库, 也就是我们之后要编写脚本的地方 docs是kbengine的文档, 包括使用和API手册 kbe里面是kbengine核心的代码, 类库, 配置和工具之类 目录结构的详细说明请看这…
宏宏宏 由于 C++ 是静态语言,不能像 js 一样通过函数名字符串来直接执行函数,所以将 messageId 映射到可执行函数的复杂性大大提升:KBEngine 使用了一系列精巧的「宏」来解决这个问题. 为了叙述方便,我把需要通过 messageId 来映射执行的函数称为「协议函数」,以区分普通的函数. loginapp 的宏,统一在 loginapp_interface_macros.h 中声明,在 loginapp_interface.h 中使用.我把 loginapp_interface…
KBEngine 是国内开源的游戏服务器引擎,据说参考了 Bigworld 的架构:网上能找到的开源游戏服务器引擎很少,网易的 Pomelo 是用 Node.js 来实现的,现在还是觉得 C/C++ 更熟悉些,就先从这个开始理解游戏服务器开发吧. 有用链接 <KBEngine 官网> <KBEngine 服务器端架构> <KBEngine 论坛> <Bigworld 服务器编程指导> 建议加入 QQ 群,里面有一些比较好的共享资料 需要理清的问题 带着问题来…
KBEngine.addSpaceGeometryMapping(self.spaceID, None, resPath) 问下这个resPath加载的文件在哪里,后端愣是没找到,前端倒是看到了,还是让前端加载就足够了,如果是这样子会不会出现修改客户端文件之后可以穿墙之类的问题 D:\kbe\kbengine_demos_assets\res\spaces\kbengine_cocos2d_js_demo都在spaces下…
前言: v0.0.1 2015-04-10 誉小痕(shawhen2012@hotmail.com) v0.0.2 2015-04-12 誉小痕(shawhen2012@hotmail.com) changelog请查看: http://bbs.kbengine.org/forum.php?mod=viewthread&tid=247&extra=page%3D1 新增内容以 **New in version x.x.x** 标示 基于kbengine 0.4.20 (现在和这份文档一起的…
[以下文章转自kbe论坛] MMOG服务端是一种高品质的工程项目,品读开源的kbe是一种乐趣.本文档我带童鞋们一起领略一下.囿于我知识面和经验方面所限,文中所述之处难免有错误存在,还请读童鞋们睁大慧眼,如果你发现错误,可以 电邮至shawhen2012@hotmail.com.(因为我个人懒散或者时间仓促的关系,这个文档的排版有点小乱...) 其他牛逼哄哄的前言就不说了. 从理论上来讲,我们阅读一份源代码,首先应该基于现有的文档从整体上把握项目的架构之后再庖丁解牛一般地细分阅读,不过在我写这个文…
本文转自:https://github.com/harmy/kbengine 资源下载地址:http://sourceforge.net/projects/kbengine/files/ 什么是KBEngine? KBEngine是一款开源mmog服务端引擎, 使用统一协议能够轻松与前端对接,能轻松使用unity3d. ogre. cocos2d. html5等作为前端表现. 底层框架由c++编写, 逻辑层使用python, 开发者无需重复实现一些通用的底层服务端技术, 使开发者能够真正集中精力…
感觉周末没事就喜欢折腾点东西,看到KBengine这一款开源服务器引擎,之前也研究过一阵子Photon,但是要收费,弃之.觉得不错,研究下,顺便记录之. 启动环境 首先需要装好MySql与Python,都是最新版本即可. 下载源码 KBengine 国内镜像 下载这几个,第一个是源码,其他两个是Demo Build http://kbengine.org/docs/build.html Install http://kbengine.org/docs/installation.html 作者很贴…
为什么不更新kbe warring的代码解读了,因为在我看来那个demo讲完了实体就没东西可讲了,如果专心的看官方文档和PPT的话demo的代码后面没任何难点了已经,单纯的复制黏贴代码实在太过无聊.程序员一定要做点好玩的事情才行~ 好吧,今天开始想法直接改引擎底层,争取把引擎底层直接玩坏(*^__^*) 另外因为平时工作比较忙,这个系列会不定期的更新. 从自己的HelloWorld写起 先来点简单的,baseapp脚本层调用一个自定义的C++函数,输出helloworld! 因为是baseapp…
上一篇开始,我们就提到了一个概念,并且进行了初步的运用,这个概念就是实体. KBE中的实体是一个很重要的概念,可以说,有了实体就有了一切. 我们首先接着上一章的内容,来看Account.def对应的实体定义. <root> <Properties> <characters> <Type> AVATAR_INFOS_LIST </Type> <Flags> BASE </Flags> <Default> <…
原本不打算把登录拿出来写的,但是阅读登录部分的代码的时候发现登录和注册还不太一回事,因为登录涉及到分配baseapp的ip,负载均衡的实现,所以水一下. 流程图: 和上次一样,先是找unity控件 找到ui.cs下的login void login() { Common.DEBUG_MSG("login is Click, name=" + username.input.text + ", password=" + password.input.text + &qu…
首先介绍下warring项目,是kbe自带的一个演示示例,大部分人了解kbe引擎也是从warring项目开始的. 项目地址:https://github.com/kbengine/kbengine_unity3d_warring 项目截图: 项目的下载和安装不再多说,现在开始进入代码讲解阶段: 注册: 流程图: 可以看到控件绑定代码为reg_ok,点进去 void reg_ok() { log_label.obj.text = "请求连接服务器..."; log_label.obj.c…