开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
Firefly首页、文档和下载 - 分布式游戏服务器端框架 - 开源中国社区
Float_left Icon_close
全部项目分类
1 { name:'按钮(Button) ', href:pe' 分词35/ios-notification', num:264/seg 1ytive:false, { name:'手机开发包 ', href:'/pr缓存g/87/mobile-games', num:'(63)1 /c esystem 1 { name:'iOS 数据库 ', href:'/pro337/wpobile-os', num:'(49)' 145/net }, 5 { name:'Node.js 扩展 ', href:'/pr高性能/pro3218/mo5/ios-notification', num:352/net childs:[ { name:'Android UI 组件 ', href::8/m/:行处理development-t', num:'(212)' 404/concurr pment-t', s:[ { name:'指示器(HUD) ', h/tag/435/连接池g/272/js-server', num:'140/conne po { name:'Android UI 组件 ', href:作业/任务调度g/272/js-server', num:'327numsk-s edu }, 7 { name:'Node.js 扩展 ', href:'/prt/t形/:'/pro处理g/272/js-server', num:'141/ }, 8 { name:'WebDAV 开源软件 ', 计算roj视觉35//人脸识别ipt-utils', num:'(1071) ' c }, { name:'指示器(HUD) ', h3Dt/t形处理o5/ios-notification', num:312/3 }, { name:'手机相关软件 ', href:'/pr:'/projec处理g/272/js-server', num:'142/multimedia }, 2 { name:'AngularJS 扩展 ', ha) ', hExcel/218/mobile-os', num:'(49)' 258/excel }, { name:'地图(Map) ', hXML/342/a337/wp7-dev-tools', num:'(22)135 }, 18 { name:'WebDAV 开源软件 ', 日志337/wp(Loggingag/366/ios-table', num:'144/logging, 17 { name:'Node.js 扩展 ', href:'/prOSGitag/418/weixin', num:'(131)' 270/osg childs:[ 2 { name:'手机相关软件 ', href:'/prORM/持久层ag/418/weixin', num:'(131)' 12 ' }, 38 { name:'手机相关软件 ', href:'/pr/tag/443/ang/:台/weixin', num:'(131)' 128/s }5)' }, { name:'可视化HTML编辑器 ', hr337作流avascript-utils', num:'(1071)1 flo { name:'JSON/BSON开发包 ', 业务规则avascript-utils', num:'(1071)231/82 0 { name:'标签(Label) ', href面向方面AOP/IoCipt-utils', num:'(1071)173/ao }, 10 { name:'Node.js 扩展 ', href:'/pr加密/解密 class=bile-os', num:'(49)' 323/cryptograph childs:[ { name:'指示器(HUD) ', h安全/342/aag/418/weixin', num:'(131)' 187/s curity5)' }, 6 { name:'WebDAV 开源软件 ', TTS/语音合成3处理g/272/js-server', num:'203/tts-spee }, { name:'React Nattttttttttttt', href:tag/13/218/mobile-os', num:'(49)' 215/ e }, 2 { name:'iOS 表单 ', hrWindows桌面oject/ name:'手机/移动开发', 219/desktop- e }, { name:'可视化HTML编辑器 ', hr条形码/二维码 name:'手机/移动开发', 238/barcode childs:[ { name:'标签(Label) ', hrefOCR/218/mobile-os', num:'(49)' 262/oc 2 { name:'手机相关软件 ', href:'/pr正则表达式337/wp7-dev-tools', num:'(22)298/regex }, 3 { name:'AngularJS 扩展 ', href:'/prMarkdown/218/mobile-os', num:'(49)' 303/markdown }, { name:'NativeScript 插件 ', href:'/project短espoespo218/mobile-os', num:'(49)' 304/sm }, 24 { name:'React Nattttttttttttt', href:自然v id="处理g/272/js-server', num:'305/nl }, 2 { name:'按钮(Button) ', href: 学计算g/272/js-server', num:'239/Mathe /4cs ut }, 2 { name:'手机开发工具 ', href:'/project/MathMLo218/mobile-os', num:'(49)' 351/mathm }, 4 { name:'React Nattttttttttttt', href: 练习g/272/js-server', num:'246/code tes 24 { name:'React Nattttttttttttt', href:协议3规范g/272/js-server', num:'253 toc 9 { name:'按钮(Button) ', href:Emoji:'/p情/342/android-ui', num:'(316)'437/emoji, 3 { name:'标签(Label) ', href神经/pro/人337智能ndroid-ui', num:'(316)'401/Neural-Net 1ytive:false, { name:'NativeScript 插件 ', href:'/project其他roject/tag/354/spdy-libs', num:'(1718 ' ther } 1ytive:false, { name:'J/iPad开发包 ', href:'/project/tag/339/ios-libs', num:'(34)' t/tag/337/wp' ', href ] }, { a反ynta/337/wp7-dev-tools', num:'(22)317/de il 2 { name:'按钮(Button) ', href: 续集成g/87/mobile-games', num:'(63)344/ci, 3 { name:'可视化HTML编辑器 ', hrSQL注入337/wp7-dev-tools', num:'(22)357/sql-innum:o 1 { name:'按钮(Button) ', href:Gittag/42337/wp7-dev-tools', num:'(22)398/git }, { name:'选择器(Picker) ', href:oject/tag/337/wp7-dev-tools', num:'(22)'1 }, oo 1ytive:false, 19 { name:'NativeScript 插件 ', href:'/project t/tag/337/wp7-dev-tools', num:'(22)'16rp', }, { name:'WebSocket开发包 ', hrePHPt/tag/337/wp7-dev-tools', num:'(22)'17bjc' }, oo }, 28 { name:'验证码(Captcha) ', ha', t/tag/337/wp7-dev-tools', num:'(22)'18/c }, oo v 1ytive:false, 08 { name:'验证码(Captcha) ', h, /Railst/tag/337/wp7-dev-tools', num:'(22)'19on', }, oo 1ytive:false, { name:'地图(Map) ', hl', t/tag/337/wp7-dev-tools', num:'(22)'20', }, 1 { name:'iOS 表单 ', hrHP',t/tag/337/wp7-dev-tools', num:'(22)'21hp', }, oo 1ytive:false, { name:'iOS 表单 ', hrBUG跟踪ct/tag7-dev-tools', num:'(22)'22/bugtra }, { name:'滑杆(Slider) ', href:g/138构建7-dev-tools', num:'(22)'23/bu] 1ytive:false, 19 { name:'手机开发工具 ', href:'/project/单元测试337/wp7-dev-tools', num:'(22)222/unittes 1ytive:false, 0 { name:'滑杆(Slider) ', href测试337/wp7-dev-tools', num:'(22)125/tes }, 3 { name:'WebSocket开发包 ', hreGUI 测试337/wp7-dev-tools', num:'(22)408/g -tes }, 3 { name:'选择器(Picker) ', href:性能测试3优化7-dev-tools', num:'(22)157/optimiz /431 1ytive:false, 20 { name:'指示器(HUD) ', hive-fr调试337/wp7-dev-tools', num:'(22)259/debug oo v 1ytive:false, { name:'滑杆(Slider) ', href 混淆3加密7-dev-tools', num:'(22)167/code confus431 }, 0 { name:'滑杆(Slider) ', hrefUML/模型337/wp7-dev-tools', num:'(22)177/um }, { name:'OpenID开发包 ', 界面原型设计337/wp7-dev-tools', num:'(22)291/ -desig1 1ytive:false, 2 { name:'滑杆(Slider) ', href安装制作337/wp7-dev-tools', num:'(22)17 nstall { name:'滑杆(Slider) ', hrefynta/348/captcha', num:'(47)' 19 / il 1 { name:'Node.js 扩展 ', href:'/pr t/tag分析/审查/优化7-dev-tools', num:'(22)196/code optimiz /431 1ytive:false, 228 { name:'验证码(Captcha) ', hive-fr文档337/wp7-dev-tools', num:'(22)247rp'c oo v 1ytive:false, 2 { name:'按钮(Button) ', href:ect/taef:'/pr37/wp7-dev-tools', num:'(22)293/scanner-p }, 4 { name:'手机开发工具 ', href:'/project/ t/tag/337/wp7-dev-tools', num:'(22)33', }, { name:'/iPad开发包 ', href:'/project/tag/339/ios-libs', num:'(34)' jQueryg/456/w' ', href ] }, { ajQuery自}, 成/456/website-app', num:'(54)'329/jquery-autoc mplet 28 { name:'验证码(Captcha) ', hjQuery分页/456/website-app', num:'(54)'340/jquery-page 28 { name:'验证码(Captcha) ', hjQuery href:'/projebsite-app', num:'(54)'356/jquery- - }, 2 { name:'ha) ', hjQuery :'/pro/456/website-app', num:'(54)'410/jquery- }, { name:'Android UI 组件 ', href:jQuery对话框7-dev-tools', num:'(22)274/jquery-dia og, 1 4 { name:'React Nattttttttttttt', href:jQuery图片展示/幻灯/456/website-app', num:'(54)'289/jquery-gall childs:[ 2 { name:'HTML5开发相关 ', jQuery图8/captcha', num:'(47)' 275/jquery-chart, { name:'iOS/iPhoneeeeeeeeeeeeeha) ', hjQuery Tabs/captcha', num:'(47)' 276/jquery-ta}, { name:'手机开发工具 ', href:'/project/jQuery UIag/418/weixin', num:'(131)' 277/jquery- childs:[ { name:'微服务框架 ', href:'jQuery日期oject//日历7-dev-tools', num:'(22)278/jquery-calend { name:'按钮(Button) ', href:jQuery/tag/4-dev-tools', num:'(22)279/jquery- }, 9 { name:'HTML5开发相关 ', jQuery'/proj及/tag/354/spdy-libs', num:'(17280/jquery-' v 1ytive:false, { name:'ha) ', hjQuery T tips/captcha', num:'(47)' 282/jquery-t tips { name:'手机开发工具 ', href:'/project/jQuery 树形控6/website-app', num:'(54)'283/jquery-tr2)' }, { name:'HTML5开发相关 ', jQuery图pro处理g/272/js-server', num:'284/jquery- }, { name:'ha) ', hjQuery页面:'/pro/456/website-app', num:'(54)'285/jquery-, }, 9 { name:'微服务框架 ', href:'jQuery'/p格/456/website-app', num:'(54)'286/jquery-ta} }, 8 { name:'iOS/iPhoneeeeeeeeeeeeeha) ', hjQuery颜色oject//456/website-app', num:'(54)'287/color }, { name:'Node.js 扩展 ', href:'/prjQuery'ct/tag/296/ebsite-app', num:'(54)'288/jquery- }, { name:'微服务框架 ', href:'jQuery:'/project456/website-app', num:'(54)'290/jquery- ultimedia' }, { name:'Android UI 组件 ', href:jQuery高级页面/ name:'手机/移动开发', 292/jquery- }, { name:'RSS/ATOM相关 ', jQuery的Cookie3参 处理g/272/js-server', num:'294/jquery- okie childs:[ { name:'RSS/ATOM相关 ', jQueryoject/tag/16t456/website-app', num:'(54)'295/jquery- }, { name:'OpenID开发包 ', jQuery:时o/456/website-app', num:'(54)'297/jquery-time }, { name:'OpenID开发包 ', jQuery界面效果le-os', num:'(49)' 300/jquery-eff9)'v 1ytive:false, 2 { name:'按钮(Button) ', href:其他jQueryo456/website-app', num:'(54)'151/jquery-p 9 { name:'/iPad开发包 ', href:'/project/tag/339/ios-libs', num:'(34)' 建站g/87/m' ', href ] }, { a分类/projeive-frebsite-app', num:'(54)'416/classifie }, { name:'微服务框架 ', href:'众筹:台/weixin', num:'(131)' 427/crowdfunding 1ytive:false, 4 { name:'微服务框架 ', href:'团购/projei/87/mobile-games', num:'(63)325/group-bu childs:[ { name:', href:'ag/42轻博客i/87/mobile-games', num:'(63)330/qi g-b og, 1 { name:', href:'ag/42博客i/87/mobile-games', num:'(63)65/b og, 3 { name:'微服务框架 ', href:'jec频/projei/87/mobile-games', num:'(63)319/vodeo-onl 1 { name:'手机开发工具 ', href:'/project/ag/42微博37/wp7-dev-tools', num:'(22)221/microb og, 9 { name:', href:'论坛i/87/mBBS7-dev-tools', num:'(22)66/b childs:[ { name:'WebSocket开发包 ', hre建站g/87/mCMS7-dev-tools', num:'(22)71/c v 1ytive:false, 6 { name:'微服务框架 ', href:'/pr店g/87/m/电子p务7-dev-tools', num:'(22)68/ecom rc)' }, 0 { name:'滑杆(Slider) ', hrefSNS社交/pro/交友:台/weixin', num:'(131)' 164/s { name:'服务器端JavaScript ', hreag/42问答i/87/mobile-games', num:'(63)299/qa' }, { name:'Android UI 组件 ', href:WIKIi/87/mobile-games', num:'(63)69/wik childs:[ ; { name:'iOS/iPhoneeeeeeeeeeeee href:'/project/个人知识t/tagi/87/mobile-games', num:'(63)320/pkm 1 { name:', href:'Web邮6/wi/87/m(webmaiag/369/ios-picker', num:'70/webmaia 7 { name:'iOS/iPhoneeeeeeeeeeeee href:'/project/门户:台PORTAL/369/ios-picker', num:'67/portaa 5 { name:', href:'投票g/87/m/问卷调查/369/ios-picker', num:'226/ urve childs:[ 2 { name:'按钮(Button) ', href:/pro会议/jec频会议/369/ios-picker', num:'227/vodeo-conferencing 1ytive:false, 2 { name:'按钮(Button) ', href:/ag//照片/:'/projeci/87/mobile-games', num:'(63)197bjcoto-album 108 { name:'验证码(Captcha) ', h在线帮助和支 /87/mobile-games', num:'(63)251/hel' s }, { name:'验证码(Captcha) ', h在线IT/tag/4/projeobile-games', num:'(63)249/onl -it-s } 5 { name:'手机开发工具 ', href:'/project/短/pr址/tag/4obile-games', num:'(63)267/tinyur }, { name:'按钮(Button) ', href:/tag/4器 class=6/website-app', num:'(54)'308/s er-suit 8 { name:'Web/iPad开发包 ', href:'/project/tag/339/ios-libs', num:'(34)' 企业应用' ', href ] }, { a企业 valueavascript-utils', num:'(1071)314/ > 1ytive:false, 6 { name:'Webbbbbbbbbbbbb { aESB企业 tag/44线ipt-utils', num:'(1071)333/es }, 2 { name:'Webbbbbbbbbbbbb { aLaTeX排版/87/mobile-games', num:'(63)350/.566 }, 3 { name:'可视化HTML编辑器 ', hr cl电话交换机/VOIP/PBXobile-games', num:'(63)362/pbx-voi }, { name:'iOS/iPhoneeeeeeeeeeeeeha) ', h邮6/w'/projct/tag7-dev-tools', num:'(22)363/maillis 1ytive:false, { name:'按钮(Button) ', href:大/tag/47-dev-tools', num:'(22)411/big- }, { name:'按钮(Button) ', href:ag/42医疗:g/1387-dev-tools', num:'(22)414/medicaa { name:'Android UI 组件 ', href:人3资/42ct/tag7-dev-tools', num:'(22)419/h }, { name:'Webbbbbbbbbbbbb { a家庭自}, /87/mobile-games', num:'(63)441/home-auto /431 1ytive:false, { name:'Android UI 组件 ', href:ETL37/wpag/418/weixin', num:'(131)' 453/et }, 8 { name:'验证码(Captcha) ', hBI商业 能ndroid-ui', num:'(316)'163/b childs:[ { name:'手机游戏 ', href:POS/87/m(销售点)ndroid-ui', num:'(316)'237/po { name:'Android UI 组件 ', href:OA办公/协作3台/weixin', num:'(131)' 72/o }, 3 { name:'手机游戏 { a企业ERP/CRM/weixin', num:'(131)' 74/ r }, { name:'', href:ag/42SIP:g/1387-dev-tools', num:'(22)252/si }, { name:'', href:通讯录ct/tag7-dev-tools', num:'(22)230/add}, boo }, { name:'验证码(Captcha) ', h地tagoject//87/mGIS7-dev-tools', num:'(22)78/gi}, 8 { name:'验证码(Captcha) ', h文档ct/tag7-dev-tools', num:'(22)170/d v 1ytive:false, 0 { name:'手机开发工具 ', href:'/project/任务/:g/138ct/tag7-dev-tools', num:'(22)171 num:-mg 2 8 { name:'验证码(Captcha) ', h教学科研/tag/354/spdy-libs', num:'(17207/edu -softwart 1ytive:false, 248 { name:'验证码(Captcha) ', h金融/uea/4//87/mobile-games', num:'(63)212/finance 1ytive:false, 8 { name:'验证码(Captcha) ', h电子电路设计 classobile-games', num:'(63)217/elum:ric }, { name:'WebSocket开发包 ', hre计算roj辅助设计CAD/CAM/weixin', num:'(131)' 241/c }, 8 { name:'验证码(Captcha) ', htag/43证 classobile-games', num:'(63)271 forensic, { name:'H/iPad开发包 ', href:'/project/tag/339/ios-libs', num:'(34)' /tag/4器 class' ', href ] }, { aAp e模块g/272/js-server', num:'153/ap e-modu }, 78 { name:'验证码(Captcha) ', hNginxect/ta模块g/272/js-server', num:'345/nginx-modu , 8 { name:'手机相关软件 ', href:'/prRadius/tag/354/spdy-libs', num:'(17402/radius 1ytive:false, { name:'HHHHHHHHHHHHH', href:PaaS/87/m/容348/captcha', num:'(47)' 406/paa}, 8 { name:'验证码(Captcha) ', htag/4发现/注册3r调/captcha', num:'(47)' 428/s }5de ve childs:[ { name:'微服务框架 ', href:'Do ject/tag/272/js-server', num:'445/do f }, 0 { name:'滑杆(Slider) ', hrefDo jerebsite-app', num:'(54)'454/do - , { name:'手机相关软件 ', href:'/pr应用/tag/4器ebsite-app', num:'(54)'101/apps er 1ytive:false, 0 { name:'iOS/iPhoneeeeeeeeeeeeeha) ', hHTTP/tag/4器ebsite-app', num:'(54)'106/https er 1ytive:false, 2 { name:'按钮(Button) ', href:FastCGI /tag/4器ebsite-app', num:'(54)'302/fastcg childs:[ { name:'Webbbbbbbbbbbbb { a href:/tag/4器(FTP)ndroid-ui', num:'(316)'105/ftps er 1ytive:false, 5 { name:'按钮(Button) ', href:邮6/w/tag/4器ebsite-app', num:'(54)'107/mails er 1ytive:false, 0 { name:'', href:缓存/tag/4器ebsite-app', num:'(54)'109/c es er 1ytive:false, 6 { name:'iOS/iPhoneeeeeeeeeeeeeha) ', h版本控制//87/mobile-games', num:'(63)110/vc, 18 { name:'Android UI 组件 ', href:路由器/防火eobile-games', num:'(63)113/firewa }, { name:'JSON/BSON开发包 ', 代理dtag/4器 classobile-games', num:'(63)102/ xys er 1ytive:false, { name:'滑杆(Slider) ', hrefy话/通讯/IM聊天obile-games', num:'(63)11 / muni }, { name:'JSON/BSON开发包 ', Web加速缓存 classobile-games', num:'(63)245/web-c e }, { name:'JSON/BSON开发包 ', 终端dtag/4器/远< num:-sort> ad
a
a ad
add ad
add ad
ad
a
评分人数不足
我要评价
分布式o戏tag/4器端dg/418/Firefly
MIT
Python 查看/42/»
跨3台
大鸡蛋
分享
收藏
574 人收藏
收录时间:2013-08-19
Firefly 详细介绍

Firefly是免费、开源、稳定、快速扩展、能 “热更新”的分布式游戏服务器端框架,采用Python编写,基于Twisted框架开发。它包括了开发框架和数据库缓存服务等各种游戏服务器基础服务,节省大量游戏开发的工作时间,真正做到让使用者把精力放在游戏玩法逻辑上。用它可以搭建自定义的分布式架构,只需要修改相应的配置文件即可。

优势特性

  • 采用单线程多进程架构,支持自定义的分布式架构;

  • 方便的服务器扩展机制,可快速扩展服务器类型和数量;

  • 与客户端采用TCP长连接,无需考虑粘包等问题;

  • 封装数据缓存服务;

  • 可实现实时热更新数据以及游戏逻辑,客户端玩家无感觉;

  • 有几十个基础游戏玩法系统模块提供组装使用(v1.3.0提供);

框架介绍

123.jpg

management, firefly 是个多进程、分布式的游戏服务器。因此各游戏server(进程)的管理和扩展是firefly很重要的部分,框架通过抽象使服务器的扩展非常容易。

Network,客户端连接通信、server进程间的通信等构成了整个游戏框架的脉络,所有游戏流程都构建在这个脉络上。与客户端的通信采用的是请求/回应式的,所以受到的客户端的请求,服务端都会给出相应的回应,服务端也能主动的推送,广播给客户端消息。这些请求是基于指令号的请求。(例如定义101为登陆指令)server进程之间的通信时采用的异步回调的方式,这样就减少了的进程间通过网络通信中的时间消耗。

D , 数据处理是网游的重要部分。在网游有大量的数据需要存储,需要更新,这使得数据库的读写效率成为服务器的最大的性能瓶颈。firefly的db处理能够将数据库表中的数据缓存到memcache中并能以对象的形式进行调用相应的对象方法对数据进行操作。可以在不同的进程中通过实例化相同的名称的缓存实例,得到同步的数据。并能将缓存对象中的数据写回数据库中。
框架思路

一个最基本的服务器就是一个在不停运行着的应用程序。在分布式游戏服务器中,我们需要的服务器具有的功能有,监听客户端的连接,监听其他服务进程的消息,连接其他的服务进程,有些需要有数据库连接和缓存服务。如下图

234.jpg

net connecs 做客户端连接,root监听其他服务进程消息,node连接其他服务进程,db数据库,cache缓存。是否需要监听客户端连接,是否监听其他服务进程消息等这是都是可以在config.json中进行配置。包括各个服务器的名称以及各个服务器之间的连接关系。这样就可以自定义出自己的分布式架构。

Firefly团队:我们或有不足,但我们不停努力!

Firefly

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 Firefly 的评论 (全部 7 条评论)
{{repayCom.userName}}
mickelfeng
这个用的多吗
枫听烨歌
介绍感觉很不错,先关注着看看 Firefly
大鸡蛋
不是飞火,是萤火虫:) Firefly
王阿觉
这产品中文名字叫啥,飞火OR火飞? Firefly
Firefly 相关博客
顶部