KBEngine

KBEngine实体间相互调用规则

…衆ロ難τιáo~ 提交于 2020-03-27 23:05:32
KBEngine服务端实体调用客户端实体方式是: self.client.xxxMethod() xxxMethod需要定义为实体客户端方法,这个很好理解,没有什么问题。 但是在服务端实体调用服务端实体的时候就需要特别注意两个实体是否有可能在不同的进程。 如果两个实体是在同一个进程的,可以直接调用方法,不需要定义为实体协议方法,而且可以获取返回值。 但如果两个实体是在不同的进程,需要将方法定义为实体协议方法,而且不能获取返回值,返回值永远都是None,因为这个调用过程是通过网络线程进行的远程方法调用,不可等待。 就比如baseapp和cellapp是两个进程,那么base实体和cell实体肯定是在不同的进程上的。 还有就是如果你开启了多个baseapp(或cellapp),那么base实体(或cell实体)之间也可能是在不同进程上的。 但如果你只有一个baseapp(或cellapp),那么base实体(或cell实体)肯定是在同一进程上的。 以上为个人学习经验分享,仅供参考 来源: 51CTO 作者: m969 链接: https://blog.51cto.com/14218068/2482549

kbengine 使用常见问题

被刻印的时光 ゝ 提交于 2019-12-10 13:42:47
[编译相关]: ◇ VS 2010 - error LNK1123: failure during conversion to COFF: file invalid or corrupt: 请安装vs2010 SP1补丁。 https://social.msdn.microsoft.com/Forums/vstudio/en-US/eb4a7699-0f3c-4701-9790-199787f1b359/vs-2010-error-lnk1123-failure-during-conversion-to-coff-file-invalid-or-corrupt?forum=vcgeneral http://stackoverflow.com/questions/10888391/error-link-fatal-error-lnk1123-failure-during-conversion-to-coff-file-inval http://msdn.microsoft.com/en-us/library/7dz62kfh.aspx ◇ kbengine\kbe\src\lib\dependencies\apr\encoding\apr_escape.c(109): error C2065: “test_char_table”: undeclared identifier *

游戏服务器架构调研报告

隐身守侯 提交于 2019-12-07 17:33:59
服务器架构调研报告 刘源霖 20151119 1. 前言 本文档主要是调研分析新的手游服务端架构,为下一款手游服务端研发提供可参考的方案。主要的参考点是数据持久化,并发效率,分布式,沙盒机制,热更新机制,研发维护成本。如果从头根据需求开发一款新的服务器架构,需要大量的时间,而且可能会得不偿失,一款新的架构稳定都需要时间的。我们应该尝试使用开源的,成熟的,活跃度高的开源框架。正文将先从服务器设计需要考虑的因素进行需求分析,以至明确我们需要的服务器架构原型,然后再分析现有的开源架构方案。 2. 游戏服务器设计因素 2.1. 服务器运行平台选择 服务器操作系统大多采用 Unix 和 Linux 操作系统,而 Linux 发行版本系统中,多使用 CentOS 、 Redhat 、 Ubuntu 、 Gentoo 、 Debian 。而这些发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的 Redhat ( RHEL )为代表,后者以 Debian 为代表。 Redhat 的稳定性和硬件兼容性都比 Debian 高。并且 RHEL 的生命周期是 7 到 10 年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统。而 Debian 的生命周期是不固定的,一般新版本发布以后,上个版本再维护 18 个月。而

KBEngine开源mmog服务端引擎

左心房为你撑大大i 提交于 2019-12-03 13:39:37
KBEngine是一款开源mmog服务端引擎, 使用统一协议能够轻松与前端对接,能轻松使用unity3d、 ogre、 cocos2d、 html5等作为前端表现。 一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互, 使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端。 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术, 将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏。 (经常被问到承载上限,kbengine底层架构被设计为多进程分布式动态负载均衡方案, 理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。) v0.2.3 新增与改善: 提供对Entity分配与销毁进行跟踪机制 entities, globalData, FixedDict等等支持Python3.x标准(key in x方法) 加入Python-GC模块 修正: 修正存在多个loginapp的时候无法正常登陆的问题 修正新版本bots无法正常启动的问题 Homepage http://www.kbengine.org Releases sources : https://github

KBEngine源码:开始

匿名 (未验证) 提交于 2019-12-03 00:40:02
KBEngine是 一款开源的MMOG游戏服务端引擎, 使用C++编写,用 Python脚本即可简单高效的完成任何游戏逻辑(支持热更新)。 KBEngine底层架构被设计为多进程分布式动态负载均衡方案,理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。 原文:https://www.cnblogs.com/losophy/p/9277278.html

KBEngine 编译、运行、调试

北战南征 提交于 2019-12-02 06:15:54
官方推荐在 Windows 下编译运行,我也就不在 Linux 下折腾了。 服务器代码编译 在虚拟机里装了个 windows,再安装 VS 2013 。(2016.02.03,官方说支持 VS 2015,但我测试下来 VS 2015 会报 mysqlclient64.lib 无法连接,因为 mysqlclient64.lib 是 VS 2013 生成的 )。 按 官方的说明 ,代码 git clone 到本地之后,直接 Rebuild Solution 即可;build 成功会生成一批 exe 文件。 客户端 和 assets 文件 KBEngine 是通过资产文件在配置各个不同的项目,我这里用的是 kbengine_cocos2d_js_demo ,使用 js_demo 无需再另外安装一堆客户端程序,具体配置使用可以看官方的 demo 搭建文档 。 这里要注意的是,直接 git clone kbengine_cocos2d_js_demo 不能把代码一次性都捞下来,需要按说明,进入到下载下来的目录,再执行以下命令,才会把 kbengine_demos_assets 目录下载下来。因为这个目录是一个链接。 git submodule update --init --remote 安装 mysql KBEngine 需要使用 mysql 来进行持久化,这个按 说明 安装。 运行服务器