本来公司一个网游服务器端选定了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即可。
------------------------------------------------------------------------
写到这!