Firefly 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Firefly 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Firefly 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Firefly 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Firefly 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 Python
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发游戏开发包
开源组织
地区 国产
投 递 者 大鸡蛋
适用人群 未知
收录时间 2013-08-19

软件简介

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

优势特性

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

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

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

  • 封装数据缓存服务;

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

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

框架介绍

123.jpg

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

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

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

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

234.jpg

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

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (8)

加载中
https://my.oschina.net/u/3778604/blog/1618751
2018/02/05 19:44
回复
举报
这个用的多吗
2016/12/23 13:06
回复
举报
好东西啊!!! Firefly
2013/08/19 14:41
回复
举报
漂亮,看看代码先。 Firefly
2013/08/19 21:56
回复
举报
这产品中文名字叫啥,飞火OR火飞? Firefly
2013/08/20 01:43
回复
举报
大鸡蛋软件作者
不是飞火,是萤火虫:) Firefly
2014/01/06 10:10
回复
举报
2014/04/17 10:03
回复
举报
介绍感觉很不错,先关注着看看 Firefly
2014/07/01 14:08
回复
举报
更多评论
暂无内容
发表于游戏开发专区
2014/01/23 17:20

FireFly

原文链接:http://blog.csdn.net/nextstudio/article/details/18095311 1.下载FireFly Github:FireFly 2.安装第三方库 安装前请确保已安装mysql数据库! 使用python包管理工具esay_install,依次安装以下依赖包: sudo easy_install twisted sudo easy_install python-memcached sudo easy_install DBUtils sudo easy_install MySQL-python 安装MySQL-python出现mysql_config not found错误。解决办法: 1、sudo ln -s /usr...

0
1
发表了博客
2019/04/19 17:11

Firefly智能网关

方案背景 随着智能终端的普及与快速IP化,安全便捷的智能组网方案对于各种行业应用场景越来越重要,可以让行业应用场景所含的智能终端,通过有线或无线物联等多种方式灵活连接,互联互通,一体化运作。 方案简介 Firefly智能网关解决方案,基于RK3399与Ubuntu系统,内置智能网关插件(QLink.GW),集成网关、路由、防火墙、无线控制器于一体的解决方案,在消耗少量的资源前提下,具有网络设备和云端集中管理功能。同时可以为业务...

0
0
发表了博客
2014/06/25 10:35

Firefly 介绍文档!

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

0
0
发表于硬件 & IoT专区
2014/11/10 16:59

Firefly-RK3288正式发售

Firefly-RK3288高性能平台于10月31号正式公开发售 到Firefly官网了解详情http://www.t-firefly.com

0
0
发表了博客
2018/03/09 10:10

Firefly自动售货机解决方案

方案背景 在智能化时代,智能设备为人们的衣食住行提供了更加便利的服务。新零售正在崛起,自助售货机解决方案是解决线上消费和线下体验的核心枢纽,只提供出货的传统自动售货机已逐渐失去竞争力。 Firefly的智能售货机解决方案,融入了互联网与人工智能等先进科技技术,让新零售的智能设备更智能,让产品开发更简单。 方案简介 Firefly智能售货机解决方案围绕“让科技更简单,让生活更智能”的核心,为智能售货机的商家提供智能...

0
0
发表于AI & 大数据专区
2020/12/14 15:35

萤火虫算法 (Firefly algorithm)

作者:陈星星 链接:https://zhuanlan.zhihu.com/p/67065319 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 萤火虫算法是Xin-She Yang根据萤火虫的闪烁行为提出的一种元启发式算法[1]。维基百科[2]给出了该算法的伪代码: 图1 萤火虫算法伪代码 本文将结合Yang的萤火虫算法MATLAB代码对该算法进行分析、学习。Yang分享的代码可从以下链接下载。 Firefly Algorithm - File Exchange - MATL...

0
2
发表于硬件 & IoT专区
2014/07/25 12:06

Firefly-RK3288全新Layout板

Firefly-RK3288项目的硬件设计与调试已经进入最后阶段,根据瑞芯微原厂设计调整与一些网友的建议,我们对Firefly-RK3288布局做了一些优化。而关于Firefly的官方网站方面,我们正在紧张建设中,预计8月中下旬可以上线,相关的硬件资料、教程和SDK等都会陆续上传到网站上。 注:可以关注我们(TeeFirefly)的新浪微博、Facebook、Tiwtter 先上几张Firefly-RK3288的图片:...

12
1
发表于云计算专区
2015/12/18 16:22

单机Ceph从Firefly升级到Hammer

单机上部署了Firefly版的Ceph集群,其中包括:mon(一个)、osd(三个)和mds(一个)。单机上使用的操作系统是ubuntu-14.04-server-amd64版。此次升级的要求是数据不能丢失且不能停机升级。 由于当前Firefly版本使用的是mkcephfs部署的,而新版本的ceph已经用ceph-deploy代替了mkcephfs,因此在Hammer版本中已经没有了mkcephfs。升级部署可以使用ceph-deploy工具进行升级,也可以通过包管理的方法进行升级。这里我才用ceph-de...

0
0
发表于硬件 & IoT专区
2014/06/19 15:33

Firefly RK3288开源硬件项目启动

Firefly RK3288是一个高性能的开源硬件平台,使用瑞芯微最新的RK3288处理器,支持Android4.4和Ubuntu系统,并支持HDMI 4K超高清输出,扩展还预留了MIPI、LVDS等LCD显示接口以及GPIO、SPI、I2C等一列的常规接口,适合用作文件服务器、微型电脑主机、工控机、网络播放器、机顶盒、广告播放机、开发板、软件编程学习等。 Firefly RK3288硬件配置:

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2014/07/23 16:13

怎么把Firefly工作区中的整个项目添加到eclipse中?

Firefly中我已经能看到整个项目了,现在我想把Firefly中的项目弄到eclipse中,eclipse的插件已安装完成。求指导! Firefly版本:Hansky Firefly 4.2 Eclipse版本:eclipse 3.3.0

2
0
发表了问答
2017/06/13 10:31

Firefly-RK3399人脸识别SDK发布

利用Firefly-RK3399核心板与底板的组合,搭配上Firefly人脸识别SDK,我们可以实现各种人脸识别应用。扫描视频中的二维码或到Firefly官网可下载人脸识别SDK。

4
3
发表了问答
2014/07/21 13:45

当前的几种开源游戏服务端介绍

当前的几种开源游戏服务端介绍 pomelo Pomelo 是基于 Node.js 的高性能、分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。Pomelo 不但适用于游戏服务器开发, 也可用于开发高实时 Web 应用,它的分布式架构可以使 Pomelo 比普通的实时 Web 框架扩展性更好。 官网: http://pomelo.netease.com 源代码: https://github.com/NetEase/pomelo...

7
24
发表了问答
2014/03/17 11:51

【开源访谈】Firefly 作者 李明 访谈实录

关于开源访谈 开源访谈是开源中国推出的一系列针对国内优秀开源软件作者的访谈,以文字的方式记录并传播。我们希望开源访谈能全面的展现国内开源软件、开源软件作者的现状,着实推动国内开源软件的应用与发展。 【作者简介】 李明(大鸡蛋),9miao.com创始人,截止目前9miao.com共有注册游戏开发者27W,10年游戏开发经验,资深创业失败者。喜欢做任何DIY的事情,除此之外就是在家陪儿子玩。 【软件简介】 Firefly是免费、开源、...

24
31
发表了问答
2013/11/28 10:46

吊炸天,开源游戏组织线下聚会的结果…… 当Firefly + cocos2d-x + 硬件=?

上周日,9秒社团的成员线下聚会,一起玩了一票 搞了款国内首款增强现实的硬件网游 下周日再来一票,就可以彻底完成并开源了!效果吊炸天! 让地球人看看中国开源组织线下聚会都玩些什么吧! 北京地区希望下周开始参与一起玩一票者,欢迎找大鸡蛋小床报名,让我们一起对媒体们热抄的那些个智能XX说”呵呵“吧! 视频为”上集“,下集是使用手机进行 对战的视频:) 视频连接:http://v.youku.com/v_show/id_XNjQwNDQzMzky.html 9...

9
3
发表了问答
2013/10/21 11:39

【Firefly 视频】视频课程1-环境搭建

视频课程 链接:http://www.9miao.com/thread-43866-1-1.html

5
4
发表了问答
2013/09/25 12:25

Twisted 阐述

Firefly为什么使用Twisted? 1、基于Python Twisted是使用Python编写的,强壮的、面向对象的解释性语言。使用Python编程是一种乐趣,易于编写、易于阅读、易于运行。因为Python是跨平台的,所以可以运行Twisted程序在Linux、Windows、Unix和MAC等等系统上。 2、异步和事件驱动的 同步网络编程函数库留给开发者一个痛苦的抉择:要么允许程序在网络通信时失去响应,或者引入非常复杂的线程。Twisted是基于事件的,异步网络通信框架...

2
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
8 评论
581 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部