Skip to content

zsummer/breeze_old

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

breeze是一个C++的轻量级分布式跨平台的应用服务器框架, 适合端游/页游/手游/棋牌/IM的分布式服务器端.

依赖三方库为 boost, mongodb, lua, log4z, proto4z zsummerX, 其中boost的使用原因在于mongodb-cxx-driver依赖boost 如果换mysqlclient 则可完全脱离boost.

特性如下:

总代码量很小 非常轻量级, 可以快速上手使用.
使用C++11标准, 在满足高性能的同时满足快速开发要求.
支持负载均衡. 只要通过配置扩充服务节点数量便可无限扩容.(设计负载上限为单服百万活跃并发).
认证和登录分离, 支持多平台认证/绑定, 支持本地帐号密码认证.
支持一个帐号对应多个角色. .
支持合服与跨服.
节点之间安全认证.
节点之间心跳保保活.
节点之间自动断点重连.
client之间心跳检测/踢人.
支持二进制协议: 通过工具来自动生成协议文件 并通过proto4z来序列化/反序列网络数据, 满足高性能快速开发要求.
支持简单的HTTP协议 可以满足HTTP协议的平台认证处理, 充值流程, GM管理平台的协议对接等.

在不同游戏服务器场景下要注意的地方:
棋牌/IM服务器端:
因为增加了角色相关的代码, 所以对不需要'角色'概念的棋牌游戏与IM 需要回滚掉相关代码重新编写登录相关逻辑, 这部分代码是在框架上添加的 大约几十行, 不属于框架代码, 所以删除也比较简单

手游弱联网的服务端
可以在现有代码上添加一小段类cookie的代码来支持短连接 这样可以让客户端与web服务端通讯一样与breeze进行通讯.

对于强实时PVP游戏, 强实时的ARPG, 或者跨服战斗等场景 可以添加一个battle服务节点来实现.

对于不想用boost和mongodb方案的场景:
只需要删除现在的mongodb的操作代码就可以 这部分代码同样不属于框架代码 可以直接替换掉.

对于不想用不能用11标准的需求
请放弃breeze.

About

(该版本为实验版本,已停止维护,请关注breeze)A lightweight online game framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published