KBEngine 学习笔记

摘要:
设置客户机的资产库kbengine_demos_将资产复制到服务器目录。编译服务器后,运行kbengine_demos_Gensdk。bat在assets下,生成的插件kbengine_unity3d_Plugins被复制到客户端的AssetsPlugins 3中。所谓的资产库是存储新项目的所有服务器数据、脚本代码、资源等的地方。这个地方是一个文件夹,可以放在引擎根目录中。

1.安装与配置服务端

注意:

  • VS需要安装C++支持,2017会自动检测并安装C++
  • 项目需要升级到特定版本才能编译,右键项目,选择重定向解决方案目标
  • 安装MySQL数据库,没必要用官方那个超级大的安装版本,直接下个JspStudy 2016,里面包含了一个精简绿色的MySQL
  • 环境变量跟新用户步骤可以直接跳过

2.安装客户端

注意:

  • 客户端版本一定要与服务端一致,否则无法链接   实际上不用,只要将客户端的资产放到服务器目录下,然后 gensdk,然后将SDK拷贝到客户端的 Plugins 下即可。客户端认的是SDK版本。
  • 将客户端的资产库kbengine_demos_assets拷贝到服务端目录下
  • 在服务器编译好后,运行kbengine_demos_assets下的 gensdk.bat,将生成的插件 kbengine_unity3d_plugins 拷贝到客户端的 AssetsPlugins 下

3.资产库

所谓资产库,即是一个新的项目的所有服务端 数据、脚本代码、资源等存储的地方,而这个地方就是一个文件夹,该文件夹一般可以放置在引擎根目录下(与kbe、assets文件夹同级)。

资产库文件夹也可以放置在其他地方,不过需要修改启动脚本中环境变量,在本文后面会进行阐述。

4.更改数据库地址

在资产库下的 res/server/kbengine.xml ,将 databaseInterfaces 节点下的 host 改为 localhost 就能连接本地数据库

同时也能改数据库的连接账户密码

5.添加Python代码提示

用Pycharm IDE,根据这篇教程设置:https://www.oschina.net/question/1769474_2216357

记得顺便把 scriptscommon 的路径也添加进去,否则KBEDebug也没提示

6.服务器客户端互相调用

客户端调用服务器:在 BaseMethods 或 CellMethods 里加上 Exposed标签,就会把方法暴露给客户端,在 gensdk 后,引擎的sdk生成器会自动生成与之对应的客户端代码。这样一来,客户端就可以直接调用服务器上的方法进行通讯了。

服务器调用客户端:在 ClientMethods 下声明的方法,使服务器可以主动调用客户端上的方法,例如各种 onEnterGameSuccess 等事件回调。

免责声明:文章转载自《KBEngine 学习笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Effective Modern C++:05右值引用、移动语义和完美转发【技术应用】vs2010 下编译 libjingle 库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

ES系列二、Mac 通过docker搭建ELK日志收集系统

#检查是否安装了elkdockerimages#清理以前版本的dockerrmi$#安装elk 6.8.0版本的docker pullslasticsearch:6.8.0 dockerpullskibana:68.0dockerpullogstash:68.00#检查dockerimages2是否查看拉取的ElasticSearch:操作命令:docker...

.NET Core项目部署时自定义端口号

我会在有时间的时候总结Linux系统的部署。NETCore项目只使用这种方法。5.IIS部署项目。指定端口号环境:Windows。NET开发人员应该熟悉IIS吗。当我们使用IIS部署Core项目时,它与之前的Framework项目的部署类似。您可以自定义端口号。...

QMap与QHash

Qt提供两个主要的关联容器类:QMap和QHash。QMap的K和T有一对方便的函数keys()和values(),它们在处理小数据集时显的特别有用。QMap重载了value,返回一个给定键多有值的QList列表。在内部,它们都依赖于QHash,且都像QHash一样对K的类型有相同的要求。...

微信小程序中使用Vant Weapp的ActionSheet上拉菜单出现的样式问题

以下修改的源码均在action-sheet组件中。在index.wxss:2.下方的取消按钮不居中,通过审查元素发现它的宽带已经超出了手机屏幕的宽度,出现的滚动条导致的,具体什么原因导致暂时不知,解决方案是给.van-action-sheet__cancel添加样式box-sizing:border-box可解决。在index.wxss:.van-actio...

windows命令行下批量拷贝同一后缀的文件到另外一个目录

一个目录下有许多文件夹,您希望将每个文件夹下的wmv文件复制到另一个目录。如果用鼠标打开一个文件,复制一个,然后打开另一个,一个一个操作起来非常麻烦。一段时间后,可以实现xcopy命令:例如,复制中的所有文件。Cdisk x1目录下的wmv格式到Ddisk x2:xcopyc:x1目录。wmv/sd:x2命令将x1下的子目录复制到x2。如果只想复制文件,则不...

常用的Maven 插件

Maven本质上是一个插件框架。其核心不执行任何特定的施工任务。所有这些任务都委托给插件。多年来,Maven社区积累了大量经验,随后形成了成熟的插件生态系统。这个插件在一些Ant到Maven的迁移项目中特别有用。只要在父POM中配置规则,然后由每个人继承,Maven就会在规则被破坏时报告错误。...