KBEngine0.1.13-源码+客户端-配置过程记录(详细)

一:KBEngine 简介

1.1:概览

Q群( kbengine ):16535321 ;

http://www.kbengine.org/

一款开源的支持多人同时在线实时游戏的服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互,使用KBEngine插件能够快速与(Unity3D、OGRE、Cocos2d、HTML5,等等)技术结合形成一个完整的客户端。 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术,将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏。

1.2: 下载按(Down) 钮 与 Demos按钮 的区别

1.2.1:Source

Tips: 因为本人刚开始忽略,所以全部直接下载了,没有下载release 版本,但是经过对比与 release 版本没有差别,所以下面如果看到 xxx-master, 请忽略好了....

Source: 源码下载,下载后自己编译的,不断更新的( 建议下载 release 版本的 )。

Tips: 可以点击上图的 release 然后进入以下页面下载发布版本:

1.2.2:Download

Download : 里面是编译好的服务器,下载后在教程哪里可直接到安装那一步,以及以前版本的服务器下载。

二:服务器下载及编译

1:下载Source下的 kbengine-master ( 目前最新 0.1.13 )

1.1:目录概览

Tips: 如果在download 下载的版本,文件目录放的位置可能有点不一样,我看了下,例如那个 docs文件夹,放到了 kbe 的里面,同个版本内容是一直的,只是放的位置不同。

1.2:阅读README.md 文档

Tips: 里面有些可用的信息,但是有些链接已经不可用了,可能是以前留下的,还没整理

2:查看官方教程

Tips: 这里有 windows 和 linux 两种,这里只弄windows的。

2.1:文档中一些关键点

文档中对配置文档、目录结构、服务器架构、API 介绍、压力测试,等都有介绍需要看一遍。

2.2: 需要的软件

在Download界面里面的

解压后的目录包含了需要的软件,也可以自己去官网下载。

3: python安装

3.1:提示:

Tips:过程中,有个选项默认没有选上的,记得选上,将python的路径添加在环境变量中。

3.2:安装python

3.3: 测试

4: MySql

4.1: 安装 MySql

4.2: 测试

net stop mysql  ( tips: mysql 为安装时制定的服务名称,选择添加命令行的时候 )

net start mysql

5: 服务器换进配置

5.1:自动安装失败

5.2: 环境变量设置

可以跳过这里,因为 !(win)fixedstart.bat 里面在启动时,会自动设定环境变量的了。( 但如果代码启动,则需要设置 )

KBE_ROOT = C:/kbengine/

KBE_RES_PATH =%KBE_ROOT%/kbe/res;%KBE_ROOT%/demo/;%KBE_ROOT%/demo/res/

KBE_HYBRID_PATH = %KBE_ROOT%/kbe/bin/Hybrid64/

(Note: Windows system account no UID attribute, Users need to add this environment variable,

UID must be greater than 0 and less than 32767)

UID = 1

5.3:设置为大小写敏感( 区分大小写 )

找到MySql的my.ini 文件,找到[mysqld]加入下面的内容:

lower_case_table_names = 0

重启MySql:

net stop mysql

net start mysql

查看一下是否设置正确, 必须为0:

mysql> SHOW VARIABLES like "lower_case_table_names";

+------------------------+-------+

| Variable_name          | Value |

+------------------------+-------+

| lower_case_table_names | 0     |

+------------------------+-------+

1 row in set (0.00 sec)

创建一个数据库检查:

mysql> create database NEWTEST;

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| NEWTEST            |

| mysql              |

| test               |

+--------------------+

4 row in set (0.00 sec)

5.5:创建一个数据库名字为: “kbe”

mysql> create database kbe;

5.6: 创建用户

删除匿名用户:

mysql> use mysql

mysql> delete from user where user=‘‘;

mysql> FLUSH PRIVILEGES;

创建一个数据库用户,名字与密码都为 “kbe”

mysql> grant all privileges on *.* to [email protected]‘%‘ identified by ‘kbe‘;

mysql> grant select,insert,update,delete,create,drop on *.* to [email protected]‘%‘ identified by ‘kbe‘;

mysql> FLUSH PRIVILEGES;

5.7:登录测试

如果要修改MySql 的默认端口不是 3306 则需要修改服务器的一下文件

kbengine_defs.xml->dbmgr-><port>330x</port>

在MySql的安装目录找到mysql.exe 在命令行窗口进入该目录下执行下面语句:

C:\mysql\bin> mysql -ukbe -pkbe -hlocalhost -P3306

5.8: 如果需要修改数据库名:

在 res\server[kbengine_defs.xml] 中的 dbmgr 区域。 (recommended demo\res\server[kbengine.xml] overloaded modifications).

6: 编译

6.1: 使用VS 打开( 目录:. \kbe\src\kbengine_vs100.sln ),这里用 VS 2010 .

6.2:如果有项目编译不成功

Tips: 在编译的时候可能会出现,几个项目编译不成功,可能涉及编译顺序的问题,这时点编译多几次即可:

7:启动服务器

到 kbe\bin\Hybrid 目录下( 如果是64位的在 kbe\bin\Hybrid64 目录下 ) 运行 !(win)fixedstart.bat 批处理

Tips: 如果服务器启动显示错误,firewall 之类,百度下:怎样解除被防火墙阻止运行的程序。

8: 服务器错误( Baseapp:handleGameTick:Invalid timing resut )

三:客户端kbengine_unity3d_demo-master 编译

1: 下载

1.1:在官网中依次打开链接

1:2:服务器中的 README.md 里面也有地址

2:编译客户端

2.1:打开README.md 教程:

2.2: 按教程下载插件

https://github.com/kbengine/kbengine_unity3d_plugins.git

上一层目录:

2.3:解压到对应的目录下

clone to Assets/plugins/kbengine/kbengine_unity3d_plugins

2.4:编译后直接运行 .exe

Unity Editor -> File -> Build Settings -> PC, MAC & Linux Standalone.

2.5: 如需修改IP与端口( 默认不需要修改的 )

Change
the login address:

kbengine_unity3d_demo\Assets\Plugins\kbengine\clientapp.cs
-> ip ( 修改该文件里面写的地址与端口
)

(报错,未完成,可能是因为使用的是Unit
4.5 的原因,如果知道为什么情告诉一下我:Q:304140546 谢谢!因本人不懂Unity就不研究了)

四:客户端kbengine_unity3d_warring-master

1:下载

https://github.com/kbengine/kbengine_unity3d_warring

2:阅读配置文档

3:添加插件

下载地址: https://github.com/kbengine/kbengine_unity3d_plugins.git

插件源码请放置在:
Assets/plugins/kbengine/kbengine_unity3d_plugins

Tips: 解压后可以移走压缩包。

4:创建AssetBundles

4.1:Unity 打开项目

这个错误没关系, 转资源的时候报的, 清除了就没了。或者你重开编辑器。

4.2: 创建AssetBundles

unity3d(菜单上)->Publish->Build Pulish AssetBundles - autoAll

期间可能一直出现"Moving file
failed", 需要点击"try again"让其继续,

这可能是unity3d在移动文件时文件被占用造成的。

执行完毕后检查 Assets->StreamingAssets是否有内容。

4.3: ( 不成功跳过 )生成服务端寻路数据:生成服务端寻路数据:

关闭Unity,将Assets\Plugins\cai-nmgen-rcn(generate
navmesh).zip解压放当前目录下并重启unity3d编辑器, 然后执行如下步骤:

unity3d资源浏览器中选中(非菜单):

Assets->Nav_build->xinshoucun->NavmeshBuild->Build
& Bake, 等待生成完成之后

unity3d资源浏览器中选中(非菜单):

Assets->Nav_build->xinshoucun->CAIBakedNavmesh->Save,
将其中srv_xxx.navmesh放到服务端kbengine\demo\res\spaces\xinshoucun中

(注意: 生成完毕后建议删除cai-nmgen-rcn(generate
navmesh).zip解压出来的文件,会造成无法导出游戏的错误,原因未知。)

(如果有更多问题请咨询插件作者: http://www.critterai.org/projects/cainav/)

4.4:配置登录IP地址(如果服务端在本机则无需改变):

kbengine_unity3d_warring\Assets\Plugins\kbengine\clientapp.cs
-> ip

4.5: 导出WebPlayer项目

unity3d
File->Build Settings->Scenes In Build选择scenes/go.unity->Platform

选择Web Player->Build。

4.6: Web服务器部署文件夹结构:

->(服务器根目录)

-
StreamingAssets (创建AssetBundles生成的文件夹)

- ui
(Assets下的ui文件夹可以直接拷贝过来)

-
crossdomain.xml

-
initLogo.png

-
initProgressBar.PNG

-
initProgressFrame.PNG

-
index.html

-
Unity3d.unity3d (在unity3d编译时生成的文件)

-
Unity3d.html (在unity3d编译时生成的文件)

4.7: 把没有的从Unity 项目复制过来

4.8:配置Web服务器

4.9:
浏览器打开

直接点开本地index ( 没装插件....,请下载关闭浏览器然后安装 )

5:错误记录

1: Building Assert Bundles requires Advanced for
WebPlayer.

1: 下载WebPlayer 安装

2: 重启电脑( 重点: PS:本人弄了好久,发现不行,第二天来的时候发现没有了这个错误.......
)

2:Error
building Player:IOException: Sharing violation on path
Assets\StreamingAssets\loadingbar.xml" or
"D:\kbengine-0.1.13\kbengine_unity3d_warring-master\Assets\StreamingAssets\loadingbar.xml

时间: 2024-10-11 14:17:31

KBEngine0.1.13-源码+客户端-配置过程记录(详细)的相关文章

apache源码包安装过程记录

1.下载apache源码包 http://www.apache.org/ apache官网,包含非常多软件 找到apache软件 http://httpd.apache.org/ 选定要下载的源码包   复制下载的url http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.25.tar.bz2 进入linux的/usr/local/src wget http://mirrors.tuna.tsinghua.edu.cn/apac

Symfoy2源码分析——启动过程2

上一篇分析Symfony2框架源码,探究Symfony2如何完成一个请求的前半部分,前半部分可以理解为Symfony2框架为处理请求做准备工作,包括container生成.缓存.bundls初始化等一些列准备工作(Symfoy2源码分析——启动过程1).而这一篇讲的是Symfony2如何根据请求的数据生成Response对象,向客户端返回响应数据. 在分析前需要了解Symfony2的事件驱动机制:Symfony2事件驱动. 言归正传,Symfony2请求的工作流程其实是Symfony2内核的事件

菜鸟nginx源码剖析 配置与部署篇(一) 手把手实现nginx &quot;I love you&quot;

菜鸟nginx源码剖析 配置与部署篇(一) 手把手配置nginx "I love you" Author:Echo Chen(陈斌) Email:[email protected] Blog:Blog.csdn.net/chen19870707 Date:Nov 7th, 2014 还记得在前几年的CSDN泄漏账号事件中,统计发现程序员的账号中含有love的最多,这里我也俗套下,在这篇文章中将讲解如何 一步一步实用Nginx在一台机器上搭建一个最简单的显示"I love yo

linux小白 mysql5.0源码安装配置

安装mysql-5.0.45.tar.gz(该软件包下载地址:http://www.filewatcher.com/m/mysql-5.0.45.tar.gz.24433261-0.html) # groupadd mysql              #添加mysql组 # useradd -g mysql mysql      #添加mysql用户,且加入mysql组 --------------------编译过程---------------------------------- # t

Android # 4.0.x(1-3) 源码 下载 编译

Android 4.0源码下载方法:repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 官方下载页面:http://source.android.com/source/downloading.html Android SDK 4.0官方下载页面:http://developer.android.com/sdk/android-4.0.html android 4.0.3最新源码下载

MySQL系列 - MySQL源码安装配置

二.MySQL系列 - MySQL源码安装配置(附5.7等最新版本)1.依赖环境准备2.开始安装2.1.下载MySQL2.2.解压2.3.赋权限2.4.修改配置文件2.5.启动MySQL3.MySQL 5.7源码安装不同之处 二.MySQL系列 - MySQL源码安装配置(附5.7等最新版本) 1.依赖环境准备 make安装 make编译器下载地址:http://www.gnu.org/software/make/ # tar zxvf make-3.82.tar.gz # cd make-3.

5-2 源码包安装过程

1.安装准备 <1>安装C语言编译器 gcc <2>下载源码包: http://mirror.bit.edu.cn/apache/httpd/ 下载2.2.9的httpd <3>可以使用WinSCP将本机上的软件拷贝到虚拟机,注意更改权限 <4>rpm和源码包可以分别安装,但是只能起用一个.因为占用相同端口80 2.安装注意事项 <1>源代码保存位置: /usr/local/src <2>软件安装位置: /usr/local/ <

apr apr-util apache 源码安装 配置系统服务

在官网下载 源码包 apr-1.5.1.tar.gz apr-util-1.5.3.tar.gz httpd-2.4.10.tar.gz 安装用户是root 解压命令 tar -zxvf httpd-2.4.10.tar.gz 源码安装 apr ,apr-util ./configure --prefix=/usr/local/apr 报错:rm: cannot remove `libtoolT': No such file or directory 我直接忽略了,网上看有修改configure

nginx源码分析--配置信息的继承&amp;合并

这里只讲述http{}模块下的配置: 在ngx_http_block()函数内(这个函数别调用时在ngx_inti_cycle内的ngx_conf_parse函数,这个函数遇到http命令时 回调ngx_http_block,开启http{}配置块的解读工作),针对每一个http模块,调用init_conf之后,有调用了ngx_http_merge_servers().这是为何! 首先明确几点:一个http{}配置块内可以包含多个server{}配置块,每个server{}配置块可以包含多个lo