大白话解读KBEngine服务器引擎——第一期——搭建运行环境并运行DEMO

KBEngine

大白话解读KBEngine服务器引擎

第一期——搭建运行环境并运行DEMO

Notice:本文章可在“Angelic47——个人站点”、“KBEngine论坛”与“KBEngine 官方QQ群”发表,版权由Angelic47和引擎作者所有,其他人转载时请注明来源,否则视为侵权行为!

 

0x00:写在前面的话

不知怎么了哈,这年头已经成了钱的时代了,什么东西都问你要钱,如果你是专业做网络的你就应该更深有体会。

内个,什么photon服务器引擎,名字喊得挺响亮的,什么“光子”服务器引擎,据说效率也很高。但是人家就是收费呀,人家拿这个吃饭呀!如果你不花那些冤枉钱人家就给你限制人数。而且你还不好破解,人家的防盗版严着呢。

其他服务器引擎要不就是效率不够,要不就是功能太少,再或者就是外部dll彻底了断了你跨平台的愿望。

然后我们就找到了KBEngine引擎是不是?嗯,先夸一下KBEngine引擎伟大的作者,抽出自己的时间来写开源程序,而且写得还这么好,精神可嘉有木有?

但是KBEngine也有一个很大的缺陷呀,那就是官方教程竟然没有,而且国内基本上就没有会用的,即便会用了也不会单独给你写个教程。KBEngine自带了几个demo,但是区区几个demo能拿来做教学么?经验稍微少一些的程序猿就要栽了,刚入门的新手就更别提了。

这篇文章就是为了我们这群人写的,虽然说我也不是非常熟练KBEngine,但是至少有个像模像样的参考文献呀有木有,至少能让你入门的时候少走几个弯路。

本文力在减少术语的使用,也就是说,这篇文章可能对你写论文神马的起不到任何帮助作用,但是一个显著的特点就是易懂呀是不是,全文都是大白话,就是为了方便你理解这些东西的。如果我没猜错的话稍微有点计算机基础的小学僧应该是能看懂的。所以,本文废话可能很多,编程大牛可以挑挑捡捡的看,遇到重点了我会用蓝色的字体标一下。至于完全没有编程经验或者服务器搭建经验的新手,可以捎带着学一下Python语言,不需要太细致,因为本文有很多东西都比较基础。

嗯,回来大家熟悉了别忘了对这个文章进行查漏补缺哈,这样你也可以写上“版权由XXX所有,未经允许转载则视为侵权”这样的话了。

废话就说这么多了,下面开讲!

什么?一到讲课又睡觉了?把你的眼睛瞪圆了!看你会不会被我的语言给逗笑。

 

0x01:KBEngine是个毛玩意

呃,当你看到这里了你应该知道KBEngine是个什么东西了,没错,就是个服务器引擎嘛。

但是这形容的不够完全,比如我说你是个人,你就真的和人一样么?人和人之间差别大了去了。

KBEngine是一个源代码开放的服务器引擎。什么是源代码开放?通俗的说,就是人家作者把程序的“工程文件”放出来了,你可以改别人的代码,然后根据自己需要各种改呀,到最后成为XXX专版。看到这里一些比较追求个性的同学手痒痒了是不,如果你有时间就可以改着玩玩,谁让这是自由软件呢

不仅如此,KBEngine是用Python语言作为游戏逻辑编写的引擎。诶,Python不是大名鼎鼎的“大蟒蛇”语言么?对呀,就是这货呀,这货支持不关服更新(热更新)呀,你做好了新服务器都不用把原来的服务器关闭,直接玩家不掉线更新呀有木有?

更厉害的是,人家KBEngine不一定非得用在orge和unity3d引擎上面。人家的客户端是源码,也就是说你如果水平很高的话完全可以做一下“移植”,像一些页游呀,flash呀,甚至是易语言程序呀,或者是哪些听都没听说过的东西呀,你完全都可以用KBEngine进行开发,谁让KBEngine的自由性这么高呢,人家理论上支持所有游戏呢,只要你使用了KBEngine作为数据通讯的“规则”即可。

至于剩下的特性,KBEngine官网都已经写得很明白了,这里不多说~有意者自己出门欣赏去

停~把你的视线从官网移回来,现在不是你要看官网的时候,还没说完呢

既然有这么好的服务器引擎了,那么我们为什么要花那些冤枉钱去买那些付费引擎呢?这下子恐怕以服务器引擎为生的那些公司要跪掉了,哈哈

 

0x02:把官方的DEMO程序跑起来

“诶,明明是引擎开发教程么,你丫的教什么运行DEMO?”

得,别急,想要开发引擎你好歹也得知道当你开发好了之后怎么跑起来吧,那么跑DEMO无非是一个绝佳的选择,这能让你认识一下这个引擎到底是长什么样子的。

(学习阶段我们暂时采用windows系统,至于linux我们后来会讲)

这就是KBEngine的那堆DEMO程序了吧,有些同学比较冲动呀,上来就直接双击!(win)startdemo_server.bat这个文件了,然后看到爆了满屏的窗口之后吓得全部关上了,胆大一点的就接着双击了!(win)startdemo_client_ogre.bat这个文件,然后惊奇的发现登陆不进去。

然后这同学就骂娘了:“我****,为什么这个引擎不能用?”

对于这种同学,我们都要保持队形对他们说“呵呵呵”(喂,师德呢),难道没看到人家还给了个installs文件夹么,呀,这就是粗心的结果呀!

让我们打开这个文件夹,然后……诶,这是什么?

现在让我来解释这两个安装程序分别安装的是神马东西。mysql-essential-5.0.87-win32.msi是mysql数据库。python-3.3.4.msi是Python 3.3.4的安装程序。

对于后者我们很好理解:哦,原来这东西就是Python语法解释器呀,我们的引擎就是用这货的呢,那么为啥不给装上呢,于是很欢乐的装到电脑上去了

而对于前者,做过网络的可能明白是啥东西,但是如果是刚刚入门服务器开发的可能会不认识。

嗯,数据库这个词不知道大家听说过么,比如一些玩家的账号呀啥的就存在这里面呢。我可以这么说,现在是个网站后面都有一个数据库。数据库存储的就是些基本信息,如果你用软件打开将类似Excel(你可以用navicat或者phpmyadmin进行连接数据库),然后连接到数据库的那些东西要做的就是“查表”(PS:查的是“数据表”,不是水表),把数据查出来,然后加以利用。

数据库很强大的说,你可以用任何东西连接到数据库,然后进行各种各样的修改。一些学过PHP或者易语言的可以试试,用自带的连接数据库函数连接一下,然后随便执行几个数据库命令(数据库命令(SQL)是个很复杂的东西,本文意在通俗,不多讲,有意者可以自学一下)玩玩。如果你会PHP而且对KBEngine的数据表结构很熟悉,那么你很快就能开发出一个网页注册、支付宝付款的东西了!没错,数据库就是这么强大。

哦,原来mysql数据库就是这货呀,难怪我们引擎也用到了,那就装上呗!

于是我们的电脑上就多了这两个生物。实测证明,对电脑影响不大,不需要考虑卸载。

诶,这时候有些人又急了:“你打了这么多字了,我都看烦了,我究竟什么时候才能把DEMO程序开起来?”

我说,同学,我打字比你还累,手都酸了有木有,现在你还不能开启DEMO服务器(啊……),因为在windows系统下面,你还有比较重要的一步没做呢。

首先,打开你的Mysql数据库安装文件夹,然后打开my.ini这个文件。什么?没有这个文件?不可能,仔细找找总能找到的。不服的话可以使用电脑自带的搜索功能搜索。

“啊……这是什么,我看不懂怎么办”

“啊……这是什么,我的为什么和你的不一样”

这都是小事,看不懂或者和我的不一样都不是问题。你不需要理解这里面的东西,你只需要按照我告诉你的操作来就可以了。

把下面带红色的那行字加进[mysqld]标签(通常这个标签在开头附近或者结尾附近)下面即可:

lower_case_table_names =0

然后看起来会是这样:

有人说:“诶,我的[mysqld]标签下面有很多东西呀,而你的只有个port=3306,你让我怎么加?”

我说,你太谨慎了,原来有的东西你直接无视即可,回车换一行,把这句话插进去即可。

然后,我们保存,关闭这个文件。

这句话什么意思呢?这句话是让你的数据库对大小写敏感,这里给大家补一点linux的东西,linux系统下面对于abcAbc是两个完全不同的文件,数据库也是一样。然而我们正在用的windows系统却将abcAbc看做两个相同的东西,不信的话可以新建一个文件夹试试。由于KBEngine要求必须要对大小写敏感,所以你就要手动开启这个功能。

当然,这条语句只对数据库起作用,对电脑的其他文件不管用。

嗯,现在还差一步呢!

点击开始——所有程序——命令提示符(windows8用户请随便打开一个文件夹,然后选择“管理员权限的命令提示符”)

然后,呃,黑框框,我中病毒了么?别紧张,以后你要经常面对这东西,这叫“控制台窗口”。

然后你要做的是,把这两句话输入进去:

net stop mysql

net start mysql

如果你看见“mysql服务已经启动成功”,那么说明对了,我们继续往下走。

这两个命令什么意思呢?这两个命令是让你重启数据库服务。还记得刚刚你修改的my.ini文件吧,你直接修改了人家可是听不进去的呢~是不是有种想骂街的感觉?诶,这时候我们就要让数据库重新加载,把你这句话加载进去。于是我们就执行了这两句话,让数据库嗝屁掉,然后原地满血复活。

好了,这时候我们要给数据库建立几个账号,数据库和QQ号一样,你要想用必须要有账号。然而这个数据库是你建的,你是数据库的管理员,所以你有权限搞账号。

我们以navicat为例,对数据库进行操作。

先点connection,连接到数据库。

然后按照如下格式填写:

然后OK掉。

然后双击你新建的这个连接,登录进数据库。

然后你就会看到数据库里面的东西了是不,OK,无论你看到什么都不需要乱动,除非你经验很足,要不然数据库崩溃我可不管。因为你现在刚刚安装好数据库,里面的表可都是系统表呢!弄坏了就挂了~~

OK,然后我们选择Console,也就是登陆到控制台。

嗯,我们应该会看到如下界面:

这预示着什么呢?我们又要打代码了……没事,有我在呢

 

use mysql;

delete from user whereuser='';

FLUSH PRIVILEGES;

grant all privileges on*.* to kbe@'%' identified by 'kbe';

grantselect,insert,update,delete,create,drop on *.* to kbe@'%' identified by 'kbe';

FLUSH PRIVILEGES;

请逐行输入,输入完毕之后敲回车执行。建议复制粘贴,因为这些东西打错一个字符都不行。

(吐槽一下:作者的官方文档中,第一句use mysql;少了个分号,结果导致mysql在批量执行的时候报错了,害得我检查了好长时间,这里我修正过来了)

这些话是什么意思呢?如果你学过SQL的话你应该能看懂。如果看不懂也不要紧。这些话的意思是,禁止掉空密码登陆(为了你的安全考虑的),然后新建了一个用户叫做kbe,给KBEngine使用。如果不理解也不要紧,总之你已经搞定了。

好了,把这些东西统统关掉吧,至此,你已经成功配置了KBEngine的运行环境。快为自己鼓鼓掌吧!(众人:“汗,就这点东西让你搞了6页” 我:“什么嘛,我们不是照顾下没接触过的人么”)。

现在你终于可以双击!(win)startdemo_server.bat这个文件了,然后看到爆了满屏的窗口(爆出来的窗口都是服务器的控制台,每个控制台对应一个服务器进程,这里你可以无视我说的这些话,总之你别给关掉了就好)之后接着双击了!(win)startdemo_client_ogre.bat这个文件了!啊,久违的DEMO游戏终于搭建出来了是吧,玩一玩过过瘾吧!

如果你不想玩了,请双击!(win)killServer.bat来关闭服务器。

 

好了,我们总结一下步骤:

(这些步骤是给大牛看的,有术语,当然也可以方便你对这些术语的理解)

1.在下载下来的DEMO中找到installs文件夹,打开,安装MysqlPython

2.Mysql安装目录中的my.ini文件中加入如下代码使大小写敏感:

a)        [mysqld]

b)       lower_case_table_names=0

3.重启Mysql服务

4.执行如下脚本,禁止空密码登陆,并创建账号kbe

a)        use mysql;

b)       delete fromuser where user='';

c)        FLUSHPRIVILEGES;

d)       grant allprivileges on *.* to kbe@'%' identified by 'kbe';

e)        grantselect,insert,update,delete,create,drop on *.* to kbe@'%' identified by 'kbe';

f)        FLUSHPRIVILEGES;

5.双击!(win)startdemo_server.bat启动服务器,双击!(win)startdemo_client_ogre.bat启动客户端,若要退出则双击!(win)killServer.bat来关闭服务器。

 

你可能感兴趣的:(大白话解读KBEngine服务器引擎——第一期——搭建运行环境并运行DEMO)