-
Notifications
You must be signed in to change notification settings - Fork 172
Home
MoonNet是一个多线程模块化游戏服务器框架,底层采用C++实现,使用到了C++11/14特性,逻辑代码使用lua脚本。网络部分使用了asio(不带boost库),C++ bind lua 使用了 sol2 库。
-
xnet
是底层框架源码 -
server
框架的可执行文件工程,导出了lua_service -
resource
主要存放逻辑脚本,C/C++ library -
third
第三方库源码 -
asio
asio网络库 -
build
visual studio工程文件,makefile 文件目录
C++部分基本上都采用了跨平台的代码,可以很容易实现跨平台编译。我在windows 上使用visual studio 2015 update3, Ubuntu 上使用GCC 5.3, 编译成功。
打开bulid目录,运行visual studio 解决方案文件。里面一共有四个工程,xnet是框架底层代码,lua53 lua动态库工程,server是框架的可执行文件, protobuf 是云风实现lua版的protobuf库(这个是可选的,也可以选择其他数据序列化库)。 编译后的可执行文件在bin目录,把bin目录的 server.exe, lua53.dll 拷贝到resources目录,protobuf.dll 拷贝到resources/Lib 目录,运行server.exe 即可。 如果要调试可以设置server工程的调试目录为 $(SolutionDir)../resources,如果使用protobuf,需要把protobuf.dll 拷贝到resources/Lib 目录。 resources/Lib 主要存放lua使用的C库,框架已经添加该搜索目录。
###Linux平台
首先要确保GCC版本支持 C++14, 然后进入bulid目录,打开终端输入: 编译debug版本 make config=debug_linux 编译release版本 make config=release_Linux 然后把bin目录的 server, lua.so 拷贝到resources目录,protobuf.so拷贝到resources/Lib 目录。 输入 ./server即可运行