Skip to content
sniper00 edited this page Nov 21, 2016 · 29 revisions

简介

MoonNet是一个多线程模块化游戏服务器框架,基础部分采用C++11实现,使用到了C++11/14特性,逻辑代码使用lua(5.3)。网络部分使用了asio(不带Boost库),C++ bind lua 使用了 sol2 库。

目录说明

  • xnet框架源码
  • server 框架导出lua源码
  • resource 资源目录,里面存放逻辑脚本
  • third 第三方库源码
  • asio asio网络库
  • build visual studio工程文件,makefile 文件目录

编译

C++部分基本上都采用了跨平台的代码,可以很容易实现跨平台编译。我在windows 上使用visual studio 2015 update3, Ubuntu 上使用GCC 5.3, 编译成功。

  • Windows 平台编译 打开bulid目录,运行visual studio 解决方案文件。 里面一共有四个工程,Frame是框架工程,liblua lua动态库工程,server是框架的可执行文件,protobuf 是云风实现lua版的protobuf库(这个是可选的,也可以选择其他数据序列化库)。

编译后的可执行文件在bin目录,把bin目录的 server.exe, lua.dll 拷贝到resource目录,protobuf.dll 拷贝到resource/Lib 目录,运行server.exe 即可。 如果要调试可以设置server工程的调试目录为 $(SolutionDir)../Resource,如果使用protobuf,需要把protobuf.dll 拷贝到resource/Lib 目录。

resource/Lib 主要存放lua使用的C库,框架已经添加该搜索目录。

  • Ubuntu 平台编译 首先要确保GCC版本支持 C++14, 然后进入bulid目录,打开终端输入: 编译debug版本 make config=debug_linux 编译release版本 make config=release_Linux 然后把bin目录的 server, lua.so 拷贝到Resource目录,protobuf.so拷贝到Resource/Lib 目录。 输入 ./server即可运行
Clone this wiki locally