/cpplua

一个c++/lua实现的跨平台游戏服务器框架

Primary LanguageC++

cpplua

这是个人实现一个c++/lua的多线程的游戏服务器框架.包含了客户端和服务器的通信.作为服务器框架有很多地方还未完善.希望大家可以多多提些意见

跨平台[linux-epoll/windows-select]服务器模型介绍,多线程的reactor框架

1:主线程负责所有的业务逻辑.

2:有一个线程单独负责客户端的连接

3:可选的work线程.n个负责和客户端的socket消息读取和发送.当n==0的话连接线程和消息处理的线程将是同一个

4:实现了c++和lua的通信模块.同一个c++接口,lua调用该接口和c++调用该接口是一致的,不需要其他的机制

5:实现了log日志模块.有个线程单独负责将日志buff写入文件

6:协议采用protobuff3.0版本.协议的编码和解码都是在c++中实现的.lua代码没有实现编解码

7:协议是可以热更新的.只需要让c++重新加载某个接口即可.

8:lua中的热更新指令已经实现.

9:支持vscode的lua断点调试.需要在vscdoe安装luapand

10:数据的管理还没有实现[考虑部分放在c++,部分放在lua].定时器也没有实现[后面是单算采用小根堆来做],目前有个线程在单独做每秒更新,也能实现时间相关的功能

个人qq:1727198740.欢迎交流