准备工作:
1.Skynet 1.0.0(最近刚出的最新稳定版):
https://github.com/cloudwu/skynet
https://github.com/cloudwu/skynet/archive/v1.0.0.zip
2.pbc:
https://github.com/cloudwu/pbc
3.protobuf-2.5.0:
https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.zip
本文环境为mac osx 10.11.5,Linux下编译会可能需要装各种库,可以自己去添加,然后再安装。
打包好的集合包(看官您一定满意~,编译pbc时,注意下你所用的平台,Linux,Mac下的编译参数并不相同,可以看这个makefile里的编译参数,注释掉为Linux下面的):
game/makefile
还有修改了一下pbc/binding/lua53/pbc-lua53.c
注释了#include <malloc.h>(macosx中并不需要,Linux的话应该还是要的)
http://pan.baidu.com/s/1qYiXL3e
为了方便,我写了一个脚本方便大家直接安装,早点亲到屁股。
# 设置当前工作目录为当前文件夹
workspace=`pwd`
# 编译protoc工具,用于协议文件生成
cd ${workspace}/../protobuf/protobuf-src/ && ./configure && make # 这里编译过一次后可以注释掉,以后就不需要编译了。
cd ${workspace}/../protobuf/protobuf-src/
cp src/.libs/protoc ${workspace}/proto
# 调用脚本生成.pb文件,很方便,可以直接直接把该目录下的proto都输出为.pb(用于解析数据)
cd ${workspace}/proto && sudo ./genpb.sh
# 编译pbc
cd ../pbc/ && make && cd binding/lua53/
cp protobuf.lua ${workspace}/lualib/
cp pbc-lua53.c ${workspace}/luaclib/
# 这是修改后的makefile文件用于编译pbc-lua53.c
cd ${workspace} && make
# 编译Skynet(masosx)
cd ${workspace}/../skynet
sudo make macosx
解压好,直接cd到server/game那个目录,sudo ./install.sh执行,一般途中没有错误就是编译好了。
然后可以试试下服务器的sample:
1.启动服务器
cd skynet所在目录,然后执行./skynet examples/config
2.启动一下helloworld client~
新开一个终端窗口:cd skynet所在目录,执行3rd/lua/lua examples/client.lua
你会发现收发包的log以及心跳包的log。
然后你会发现搞了这么多,我们仅仅是把服务器跑起来,但是我们需要使用,投入游戏开发,那该如何入手呢,你或许有点茫然,对于这个专题,我不会讲的太深,但是我们只要会写lua代码就能尝试一回全栈开发,开发一个联机游戏~
网上的教程并不多,看云风的wiki是最佳的入门选择,还有看github一些别人的代码,当然我也是参考借鉴整理,学习得出来的经验,这些都准备好了下一期,我们就来一场客户端与服务端的亲密之旅。