基于python的开源游戏服务器端框架 Firefly 正式推出!
2014-09-18 20:29
381 查看
基于python的开源游戏服务器端框架 Firefly 正式推出!
发布时间:2013-08-28 17:40:02, 关注:+4485, 赞美:+6, 不爽:+0Firefly是免费、开源、稳定、快速扩展、能 “热更新”的分布式游戏服务器端框架,采用Python编写,基于Twisted框架开发。它包括了开发框架和数据库缓存服务等各种游戏服务器基础服务,节省大量游戏开发的工作时间,真正做到让使用者把精力放在游戏玩法逻辑上。用它可以搭建自定义的分布式架构,只需要修改相应的配置文件即可。
优势特性
采用单线程多进程架构,支持自定义的分布式架构;
方便的服务器扩展机制,可快速扩展服务器类型和数量;
与客户端采用TCP长连接,无需考虑粘包等问题;
封装数据缓存服务;
可实现实时热更新数据以及游戏逻辑,客户端玩家无感觉;
有几十个基础游戏玩法系统模块提供组装使用(v1.3.0提供);
框架介绍
management, firefly 是个多进程、分布式的游戏服务器。因此各游戏server(进程)的管理和扩展是firefly很重要的部分,框架通过抽象使服务器的扩展非常容易。
Network,客户端连接通信、server进程间的通信等构成了整个游戏框架的脉络,所有游戏流程都构建在这个脉络上。与客户端的通信采用的是请求/回应式的,所以受到的客户端的请求,服务端都会给出相应的回应,服务端也能主动的推送,广播给客户端消息。这些请求是基于指令号的请求。(例如定义101为登陆指令)server进程之间的通信时采用的异步回调的方式,这样就减少了的进程间通过网络通信中的时间消耗。
Data, 数据处理是网游的重要部分。在网游有大量的数据需要存储,需要更新,这使得数据库的读写效率成为服务器的最大的性能瓶颈。firefly的db处理能够将数据库表中的数据缓存到memcache中并能以对象的形式进行调用相应的对象方法对数据进行操作。可以在不同的进程中通过实例化相同的名称的缓存实例,得到同步的数据。并能将缓存对象中的数据写回数据库中。
框架思路
一个最基本的服务器就是一个在不停运行着的应用程序。在分布式游戏服务器中,我们需要的服务器具有的功能有,监听客户端的连接,监听其他服务进程的消息,连接其他的服务进程,有些需要有数据库连接和缓存服务。
net connect 做客户端连接,root监听其他服务进程消息,node连接其他服务进程,db数据库,cache缓存。是否需要监听客户端连接,是否监听其他服务进程消息等这是都是可以在config.json中进行配置。包括各个服务器的名称以及各个服务器之间的连接关系。这样就可以自定义出自己的分布式架构。
Firefly团队:我们或有不足,但我们不停努力!
Firefly官网: http://firefly.9miao.com
Firefly Github: https://github.com/9miao/firefly
相关文章推荐
- 开源游戏服务器端框架Firefly V1.2.2 版本 正式发布!
- 基于苹果Sprite Kit框架的开源2D游戏引擎--Kobold Kit
- 网易正式发布 Pomelo 开源游戏服务端框架
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
- 基于C/S架构的3D对战网络游戏C++框架_01服务器端与客户端需求分析
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
- 【Nodejs】Pomelo:网易开源基于游戏服务端框架安装
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
- 基于C++/Python的免费开源量化研究框架-Hikyuu Quant Framework
- 微软研究院正式推出一款基于浏览器的教育代码游戏——Code Hunt
- 网易正式发布 Pomelo 开源游戏服务端框架
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
- 大家都知道,木头一直都没有在大的游戏公司待过,没见识也没经历过优秀的项目。最近想研究一些开源的Unity3D框架,开拓一下自己的思维。 优先入坑的是Entitas框架,本系列教程基于0.42.3版本。
- Pomelo:网易开源基于 Node.js 的游戏服务端框架
- 基于行为,拦截某款Flash游戏服务器端的功能,利用某款开源模拟服务器端
- 基于python的hadoop开源框架
- 易度基于Python语言Plone框架的开源项目管理/团队协作软件EveryDo
- 网易正式发布Pomelo开源游戏服务端框架