SGame是一个由GO实现的游戏服务端框架。
主要的考虑是看中GO的有趣且高效的开发速度和丰富的库资源。同时尽量用官方提供的标准库,尽量减少其他的依赖。外部依赖主要是PROTOBUF和REDIGO用来连redis,其他的都是本人github下的简单小工具库。
在协议层,服务器端互传使用PROTOBUF3,服务器与客户端的交互使用JSON,服务器的各项配置也使用JSON来搞
这是框架的基本结构,比较传统,也方便扩展:
同时提供了一个管理端用来简单的监控各进程状况,比如:
同时也有具体的进程情况
包括提供一些基本的设置,比如重载配置关闭等:
游戏进程主体使用传统的异步分包,同时在连接层以及DB层使用了GO的协程来辅助逻辑。总体来说搭建一个框架还是比较简单的,也方便横向扩展。博文后面再慢慢更,这里先放一下git地址: