先记载下来, 以后有时间一定要好好的研究研究,O(∩_∩)O
KBEngine http://kbengine.org/
是一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互,使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端。
服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术, 将精力真正集中到游戏开发层面上来,快速的打造各种网络游戏。kbengine底层架构被设计为多进程分布式动态负载均衡方案, 理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。
Gfirefly (9秒社区)https://github.com/9miao/
免费、开源、稳定、快速扩展、能 “热更新”的分布式游戏服务器端框架,采用Python编写,基于Twisted框架开发。它包括了开发框架和数据库缓存服务等各种游戏服务器基础服务,节省大量游戏开发的工作时间,真正做到让使用者把精力放在游戏玩法逻辑上。用它可以搭建自定义的分布式架构,只需要修改相应的配置文件即可。
优势特性
采用单线程多进程架构,支持自定义的分布式架构;
方便的服务器扩展机制,可快速扩展服务器类型和数量;
与客户端采用TCP长连接,无需考虑粘包等问题;
封装数据缓存服务;
可实现实时热更新数据以及游戏逻辑,客户端玩家无感觉;
有几十个基础游戏玩法系统模块提供组装使用(v1.3.0提供);
网易的柚子 http://pomelo.netease.com/
服务器端引擎 node.js 编写 js binding技术
Scut http://www.scutgame.com/
游戏服务器引擎是使用C#语言开发,特别适用于手机网络游戏,支持使用Python和lua进行游戏开发;可以支持多种数据库:支持HTTP/Socket协议同时接入。
Mangos https://github.com/mangos
MaNGOS是WoW的模拟服务器端工程(魔兽私服模拟器),架设在sourceforge上,使用C++,开放源码,代码写的很清楚,架构清晰,质量很高.我看重的,是其对3D游戏服务端编程的通用流程和问题的处理手法和经验.研究消息包结构,一般就能推断WoW采取哪种逻辑方案来解决一些棘手的通用问题,而服务端编程质量在很大程度上取决于程序员的经验.
由于采用大量优雅的模板技法,MaNGOS的编译速度很成问题,调试变得有点困难.
DEF(Distributed Entity Framework)https://git.oschina.net/cragon/DEF
是基于Unity3D扩充的纯C#服务端引擎,目标是通过Unity3D+DEF形成手游整体解决方案。
和Unity3D配套使用的服务端引擎
a. 使用c#语言,便于业务层构建客户端服务端公共库,减少异构语言造成的研发损耗;
b. 跨平台,引擎中提供的客户端库均可运行于pc,android,ios;
c. 类Actor模型,易于分布式扩展;
d. Entity.Component,分布式实体组件模型,封装了实体,组件,属性概念以及三者交互;
e. Node系统,类似Unity3D的Playmaker,都是图形化节点驱动,区别是Playmaker是客户端单机,Node是服务端客户端配合运行。
分布式游戏网关–fooking
fooking是一个分布式游戏网关,主要用于承载长连接,将客户端的数据包完整的转发给后端,后端服务处理完之后由fooking转发给客户端。
当然不只如此,他包括:
1、分布式网关配置,只需要简单配置就能动态添加网关,以提供更多的连接数量;
2、SESSION维持(回话),每个连接会有唯一sessionid,后端只需要指定sessionid发送消息即可,不用关心这个连接在哪台机器上;
3、组播,N个用户加入到一组,只需要向组名发送消息即可,不用关心这个组有多少人(当然你非要自己去循环session发送我也阻止不了你);
4、服务器状态监控,可以观察到当前有多少组服务器,总共有多少连接,每台服务器上有多少连接,哪些空闲,哪些繁忙;
5、客户端连接与断开事件通知;
6、后端无语言限制,遵循fastcgi协议即可;
https://github.com/mono 最后一个只上链接不说话 O(∩_∩)O