109 Star 223 Fork 107

9miao.com / firefly

Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
Clone or Download
Sync branch
Notice: Creating folder will generate an empty file .keep, because not support in Git


Home Page: http://9miao.com
<div id="main">

	<div id="primary">
		<div id="content" role="main">

What's Firefly Game Server Framework?


<div class="entry-content">
	<p align="left">&nbsp; &nbsp; &nbsp; &nbsp; Firefly is a free, open source, stable and rapid expansion, to "hot update" distributed game server side framework。Written in Python, based on the Twisted framework development。Firefly's design philosophy is to "let developers focus on front-end",It includes a development framework and database caching services, and other basic services game servers,Save a lot of game developers working hours,Truly allows the user to focus on gameplay logic。It can be used to build a custom distributed architecture, only need to modify the configuration file to the appropriate。</p>

Benefits Features

  • Single-threaded multi-process architecture, distributed architecture supports custom;
  • Convenient server extension mechanism that can rapidly expand the server type and quantity;
  • Long with the client using TCP connection, without considering issues such as stick package;
  • Packaging Data Cache Service;
  • Can achieve real-time thermal profile data as well as game logic, the client player without feeling;
  • There are dozens of basic gameplay system modules assembled using (v1.3.0 available);

Frameworks introduced


  • management, firefly is a multi-process, distributed game server。So each game server (process) management and extensions are firefly very important part of the framework by abstracting the server extensions very easy。
  • Network,Client connects communications, server inter-process communication, etc. constitute the entire game framework in the context,All games in this context processes are built on。Communication with the client uses a request / response style, so by the client's request, the server will give the appropriate response,The server can also take the initiative to push the message broadcast to the client。These requests are based on a request instruction number。(Such as defining 101 for the landing instructions)communication between the server process using the asynchronous callback method, thus reducing the inter-process communication in the network time-consuming。
  • Data, Data processing is an important part of online games。In online games have a lot of data needs to be stored, needs to be updated, which makes the database server to read and write efficiency become the biggest performance bottlenecks。firefly's db processing can be a database table data cache to memcache in the form of objects and are able to carry out the corresponding object method calls to manipulate data。In a different process by instantiating instances of the same name cache, the data are synchronized。Cache object and can write data back to the database。

Framework for thinking

        A basic server that is running a non-stop applications。In a distributed game server, we need to have a server function, listen for client connections, monitor other services processes messages to connect to other service process,Some require a database connection and caching services。As shown


net connect Handle client connections,Other news monitoring service process root,node to connect to other service process,db database,“cache” database,cache 。Do they need to listen for client connections, whether listening other service processes messages, etc. This is all can be configured in config.json,Including the name of the server as well as the various connections between each server。So you can customize their own distributed architecture。


The MIT License (MIT) Copyright (c) 2013 9miao.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


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


No release




Load More
can not load any more


53164aa7 5694891 3bd8fe86 5694891