前言:skynet是云风团队发布的一个开源的服务器框架。底层采用C编写,逻辑层通常用lua。非常适合作为游戏的服务器框架。
学习skynet,可能涉及到操作系统,window,linux,游戏服务器等方方面面的知识,是一个不可多得的开源项目。
作为菜鸟的希望把学习的过程记录下来,无论对于面试和工作都有莫大的帮助。
官方的指南:https://github.com/cloudwu/skynet/wiki/GettingStarted
今天第一篇,首先来搭建skynet。分为以下四个步骤:
一、ubuntu
官方推荐使用ubuntu作为开发skynet的环境,也有社区的同学提供了window版,但未知问题较多。
新手还是使用官方推荐的ubuntu好了。首先要安装一个vmware虚拟机,再下载ubuntu的最新iso镜像。
对于程序猿来讲小case啦,忽略不讲。
二、.samba
既然用到lua语言开发,我还是习惯使用sublime作为编辑器开发。而且以后打算用quick-cocos-2d或者window api作为客户端,需要一个linux和windows交互共享的方法。
samba是一个可以提供windows和linux共享的软件。因此需要搭建samba服务器环境。这里也略过不表。网上超多教程。搭建好之后,在ubuntu查看ip地址,在windows添加网络,就可以linux和windows互访了。
三、接着我们从github上clone源码
git clone https://github.com/cloudwu/skynet.git
四、最后开始搭建skynet
make linux 简单的编译。总共遇到了下面几个问题:
4.1 readline.h找不到
其实是没装lua。需要安装lua5.3以上版本。
4.2 jemalloc找不到
需要安装jemalloc。jemalloc是一种内存分配算法。区别于c语言里的malloc,效率更高。
安装jemalloc的过程中提示缺少m4。m4是一个宏处理器。
4.3 缺少autoconf
autoconf是一种自动生产Makefile的软件。
这里插一个知识。ubuntu安装软件有三种方法。apt-get,dpkg安装deb和make install安装源码包
a.apt-get install xxx。需要联网。上面的lua安装用到此方法。
b.dpkg -i package.deb。从下载好的deb包安装。
c.编译安装源码包。通常4个步骤,从官网下载压缩包
- 解压 tar -zxvf xxxx
- 配置 ./configure --prefix=安装路径
- 编译 make
- 安装 make install
上面的jemalloc,m4和autoconf都是源码包安装法。其中设置安装路径–prefix时还要考虑环境变量$PATH,需要安装到环境变量路径中,或者自己增加环境变量。
$PATH 可以查看当前的环境变量
安装好jemalloc,autoconf,lua等支持后,再在skynet目录下make linux,则算编译成功。
这里还不了解Skynet,小编推荐自己的linuxC/C++语言交流群:【1106675687】整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!
这里小编再推荐一个四小时玩转Skynet框架核心技术训练营点击这个就可以参加,有兴趣的可以报名参加哦,下面训练营课程详细展示: