Home - changnet/MServer GitHub Wiki
MServer是一个轻量级的游戏服务器引擎,设计的目标是灵活可扩展、高效、易用。引擎核心用C++实现,运行性能高,而游戏逻辑则用Lua脚本实现,运行稳定不会宕机并且开发效率高,能降低开发成本。引擎提供大量游戏开发常用的组件,如寻路、数据库等等,开发人员只需要专注实现游戏逻辑代码即可,而无需重重复复实现这些通用的组件。引擎本身拥有很好的扩展性,可以部署成多进程来适配MMO类型的游戏,也可以部署成单进程来适配小游戏。
- 热更新
- 多线程日志
- RPC(基于bson)
- 网络(Tcp、Http、websocket),均支持SSL、ipv6
- Lua 面向对象设计
- 协议自动解析(支持Protobuf、FlatBuffers)
- 异步、coroutine同步数据库操作(支持MySQL、MongoDB)
- 关键字过滤(AC算法)
- 加密相关(md5、base64、sha1、uuid ...)
- JSON、XML序列化、反序列化
+--------------------------------------------------+
| |
| Lua Game Application |
| |
+--------------------------------------------------+
| |
| Lua C++ Driver |
| |
+--------------------------------------------------+
| C++ Component |
| +--------------+---------------+---------------+ | thread +---------+ +----------------+
| | SSL | Socket | Protobuf | <-----------> Log +------> Disk Files |
| +--------------+---------------+---------------+ | +---------+ +----------------+
| | Navigation | AOI | Timer | |
| +--------------+---------------+---------------+ | thread +---------+ +----------------+
| | Crypto | JSON/XML | RPC | <-----------> MariaDB +------> MariaDB Server |
| +--------------+---------------+---------------+ | +---------+ +----------------+
| | Http | | | |
| +--------------+---------------+---------------+ | thread +---------+ +----------------+
| | WordFilter | FlatBuffers | | <-----------> MongoDB +------> MongoDB Server |
| +--------------+---------------+---------------+ | +---------+ +----------------+
+--------------------------------------------------+