原地址:http://blog.csdn.net/wangqiuyun/article/details/11150503

本来公司一个网游服务器端选定了pomelo框架,后来出了个Firefly,为做一个对比,决定研究一下Firefly。看了一下Firefly,感觉头大,python的,本人python小白,只好慢慢折腾,一天下来总算装上了Firefly框架,并把他的那个开源网游《暗黑世界》服务器端跑了起来,特此记录共享!

其实关于这个框架的安装,他们的官网和BBS是有教程的只是太零散,并且面向的都是高手使用,python小白根本看不懂,在这里我尽量写得简单明了,你就算是刚入门菜鸟都能看懂。开始之前我大体讲一下,这个框架基于python编写,第三方库依赖:twisted, python-memcached,DBUtils,MySQLdb,后端数据存储用到了mysql和memcached,那么咱们一步一步从头来,注意我这里是Win7的系统。

1、安装python,我用的是python-2.7.5.msi,注意是2.7的版本,如果你装了2.6下面twisted和MySQL-python也就要安装对应的2.6版本,下载一路下一步安装即可,注意安装时选择把他的路径加到Path环境变量中,这样咱们就可以直接在控制台使用python命令了;

2、安装mysql,我用的是mysql-5.5.27-win32.msi,也是下一步安装即可,注意设置root账号密码,及默认端口3306;

3、安装memcached,你可以下载源码回来这几编译,也可以找别人编译号的,我找了一个1.4.13版本的:Memcached 1.4.13 For Windows 32or64.zip

关于memcached,我也算初次使用,这里啰嗦几句:

安装:以管理员身分运行cmd,进入memcached.exe所在路径,运行memcached.exe -d install -m 500 即可安装完毕,你可以去windows服务里查看是否有memcached服务;

启动:memcached.exe -d start

停止:memcached.exe -d stop

memcached的基本设置:
-p 监听的端口 默认端口:11211
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助

4、安装setuptools,装这个其实就是方便使用easy_install来安装python第三方库,下载:setuptools-0.6c11.win32-py2.7.exe,安装完毕后,把python下Scripts路径也添加到path环境变量里,我这里是path:C:\Python27\Scripts;

5、安装twisted,其实可以用easy_install twisted命令来安装,我这里是下载Twisted-12.2.0.win32-py2.7.exe来安装;

6、运行命令easy_install python-memcached 安装python-memcached;

7、运行命令easy_install DBUtils 安装DBUtils;

8、运行命令easy_install affinity 安装 affinity;

9、安装MySQL-python,可以用easy_install MySQL-python 命令安装,我这里下载MySQL-python-1.2.4.win32-py2.7.exe安装;

10、windows的话还要装一个pywin32,下载pywin32-218.win32-py2.7.exe安装;

11、安装firefly,下载firefly,这里是1.2.2版本,解压后,cmd进入firefly目录下,运行

python setup.py build

python setup.py install

即可安装完毕;

12、创建运行demo

安装完firefly之后,在python script包中就存在 firefly-admin的工具。创建第一个工程:

firefly-admin.py createproject myproject

运行:python startmaster.py

如果不报错就证明运行起来了;

13、运行暗黑世界服务器端

下载DiabloWorld-server-v1.4,解压后,用mysql运行anheisj.sql脚本创建数据库;

进入DiabloWorld-server-v1.4目录,修改config.json 里memcached服务器地质及mysql数据库host地址;

终端运行 python startmaster.py 即可;

如果出现can't connect to mysql server on 'localhost',去把mysql数据库host地址改成127.0.0.1即可。

------------------------------------------------------------------------

写到这!

windows下游戏服务器端框架Firefly安装说明及demo运行的更多相关文章

  1. 在windows下搭建爬虫框架,安装pywin32时出错?

    出错原因:pip install pypiwin32(安装文件是pypiwin32而不是pywin32) pip intall pywin32

  2. windows下python常用库的安装

    windows下python常用库的安装,前提安装了annaconda 的python开发环境.只要已经安装了anaconda,要安装别的库就很简单了.只要使用pip即可,正常安装好python,都会 ...

  3. windows下配置lamp环境(1)---安装Apache服务器2.2.25

    window下lamp成为wamp; 安装wamp环境的第一步是安装Apache服务器.下面开始安装步骤图文并茂. 一.双击安装包点“next”进行下一步,然后同意协议(这张图没有截):

  4. Windows下的lua-5.3.4安装过程

    Windows下的lua-5.3.4安装过程 Mingw平台下的编译过程: $ make echo$ make mingw$ make local $ make echo PLAT= none CC= ...

  5. Windows下当地RabbitMQ服务的安装

    Windows下本地RabbitMQ服务的安装 本文参考:刘若泽相关技术文档 当然这些内容页可以通过RabbitMQ官方网站获得. RabbitMQ配置说明手册 一.RaibbitMQ服务器配置 1. ...

  6. Windows 下 MySql 5.7.20安装及data和my.ini文件的配置(转)

    Windows 下 MySql 5.7.20安装及data和my.ini文件的配置     本文通过图文并茂的形式给大家介绍了MySql 5.7.20安装及data和my.ini文件的配置方法. my ...

  7. windows下使用cpanm进行模块安装

    windows下使用cpanm进行模块安装 要放假了,突然想整理一下手头上的软件,突然发现perl的安装模块这个功能不能用. 弄了一下,使得windows 下 perl 的 cpanm能用,避免成天为 ...

  8. windows下mysql 8.0.12安装步骤及基本使用教程

    本文实例为大家分享了windows下mysql 8.0.12安装步骤及使用教程,供大家参考,具体内容如下 补充:mysql 已经更新到了 8.0.19,大致步骤和这个差不多,照着来就完事了. 我下载的 ...

  9. 安装选择msi格式还是zip(windows下Nodejs zip版下载安装及环境变量配置)

    安装选择msi格式还是zip((windows下Nodejs zip版下载安装及环境变量配置)) -----以node.js 安装为例: 1,外观对比: ✿ 简单介绍一下node的作用: • node ...

随机推荐

  1. BUG修改纪录

    刚进入现在的公司,接手了一个遗留的项目,BUG频出,最近一个星期都在加班改BUG,身心疲惫,为了 现在,将来不会再被相同BUG困扰,特来纪录一下. 1.数据库设计字段时,对于int等类型最好设置默认值 ...

  2. 学习IT技术的技巧

    怎样学习一个知识A? (1).为什么需要A?  (*) (2).什么是A?  (*) (3).怎么使用A[最简答的]?  (*) (4).使用A时注意的问题?  (*) (5).A的应用领域. (6) ...

  3. [Bootstrap]全局样式(四)

    按钮 1.基本类.btn {display/padding/margin-bottom/font-size/border-radius/border} 作用于< a:role:button &g ...

  4. 膜拜 2014-2 (献给L之三)

    文/安然 深深的夜静静的想你细细的品味满满的甜蜜爱,心灵的对话让我流泪战栗谢谢你给我这么弥足珍贵的体会不能一生相随又有什么关系你一直都在我的爱就永不停息此生足以——献给心底的爱

  5. Libcurl笔记二

    一: multi与easy接口的不同处The multi interface offers several abilities that the easy interface doesn't. The ...

  6. 我对c++对象内存布局的理解

    引言 结合网上的一些资料,通过自己的一番摸索,得出了一点个人见解.现在写下来,希望与各位同学共同探讨,共同进步. 以下所有代码均是在VS2012下测试. 一个普通的基类 1: #include < ...

  7. 怎样在Android SDK 下查看应用程序输出日志的方法

          该文章源于安卓教程网(http://android.662p.com),转载时要注明文章的来自和地址,感谢你的支持. 在Android程序中可以使用 android.util.Log 类来 ...

  8. 1.ssh访问限制

    1.要求:限制my133.t.org(172.168.1.0/24)这个攻击域的主机访. 2.操作:vim /etc/host.deny 忘记可^tab ,在最末尾添加行:sshd:  172.168 ...

  9. DTcms同一频道需要两种类型的列表模版思路

    放两个列表模版即可,两个模版下的内容都可以访问,同一个内容展示不同的模版,需要什么栏目,链接就写哪个. 对动态链接进行判断,选择 最终效果: 频道URL配置

  10. 【Winform】无法嵌入互操作类型

    在使用Interop.SQLDMO进行数据库还原操作时,在vs2010编译时出现:无法嵌入互操作类型“……”,请改用适用的接口的解决方法 解决方案: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌 ...