Skip to content
sniper00 edited this page Dec 19, 2016 · 29 revisions

简介

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, 编译成功。

Windows 平台

打开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即可运行

Clone this wiki locally