MMO游戏服务器MetazionWorld架构及实现

一直在写C++底层库Metazion,包括常用容器、算法、多线程、内存管理、网络通信等,暂时不方便开源,托管在Bitbucket上。写得多了,就迫切希望有个应用的场景,以更好的把握需求。自毕业后,也一直在做游戏方面的开发,兴趣所在,所以MetazionWorld应运而生。

MetazionWorld目的是成为一个流程完整但功能精简的游戏服务器和客户端项目,展示一种商业级的服务器架构。主要开发语言为C++ 11,根据需要内嵌Lua。初版设计如下:
Image Title

Login:负责登陆逻辑。

Gateway:网关,转发数据及加解密等。

Master:管理Zone并负责角色相关操作。

Zone:游戏逻辑,同一个Zone可能负责多个地图。

Public:公共功能,如好友、队伍、公会等。

其他还可能包括Chat(聊天)、Mail(邮件)、AI(怪物AI)等,需要时再做拆分。

随着项目推进,架构也可能迭代改变,甚至完全推翻旧的设计。

代码放在了Github上。