想使用Python做游戏服务器端开发,需要具备哪些技术?
你自己说的太含糊了。游戏服务端。仅这两个词只是能说明你要求的服务器并发量要大,此外可能会有一个游戏引擎。具体的你用的是什么游戏类型。需要什么样的引擎。以及是否是网网游戏,或者是FLASH做的RPG游戏都没有说。所以很难给出一个具体的框架与协议。
不过简单的说,python做游戏服务器足够,以前有人用python做过魔兽世界的游戏服务器,做过EVE的客户端。
通常来讲,会使用一个内存数据库,一组关系型数据库。还有几套应用系统,比如交易系统,副本系统,对话系统,用户管理系统,支付系统系统。都是相互独立的,与游戏引擎关系不大。
要用的技术挺复杂的。主要是网络,安全,进程管理,C语言接口,数据库,图像处理,分布式管理等。
1安装依赖
yum install python-argparse2下载代码
git clone3运行激活服务器
cd py-kmspython serverpy
这时候看到提示消息
TCP server listening at 0000 on port 1688就是说KMS服务已经在1688端口上打开了,没有错误。这就搭建完毕了。
4长期运行配置
对于需要长期运行的KMS服务器,可以使用supervisor管理py-kms服务(非必须步骤)
拷贝py-kms文件夹到/usr/local/目录下
cp -r py-kms /usr/local/安装supervisor
yum install python-setuptoolseasy_install supervisor
生成默认配置文件(supervisordconf)
echo_supervisord_conf > /etc/supervisordconf
编写supervisor脚本,加到/etc/supervisordconf最后
[program:pykms]
command=python /usr/local/py-kms/serverpy
autorestart=true
user=root
以daemon方式运行,执行
supervisord5客户端测试
客户端下载py-kms后,cd跳转到该目录,执行
python clientpy -v wwwbvvvtimescom结果如下说明安装成功
Connecting to on port 1688Connection successful!
Sending RPC bind request
RPC bind acknowledged
很多游戏公司都在用python做服务端了,
现在不是用python做如何的问题了,而是如何用p 服务器都是基于python,支持1000人左右可以,如果支持更多的人的话,有点吃力,现在后端
其实很简单,主要是因为python的使用场景是一些比较简单,并发量低的,对速度要求不是很高。网游服务端,交互量会很大,实时性要求很高,python这种解释性动态语言,较java、C++并不占据优势。
可以的,具体可以看一下几个框架
Twisted 很强大的老牌框架
Eurasia 国人开发的框架,号称拥有很变态的并发能力。
以上两个好像就是为了game而生的框架,楼主可以自行了解下。
自己开发websocket的服务端和客户端不是不可以,就是短时间内难以做出来稳定性高的服务。
如果真要自己开发也不是不行,python下可以用的websocket或者channels来开发websocket,具体如何实现你百度一下就有很多教程了。
不过如果是在商业项目中运用的话,稳定性、高并发性是需要着重考虑的,可以尝试下第三方的websocket推送服务的。
我们项目现在集成的是GoEasywebsocket推送,目前使用良好,稳定性这些都不错。
Python 是脚本语言,也就是中间件语言,其内核仍然是纯 c 的性能表达的,而主要性能消耗在脚本的实时编译上。
而对比c,同样的功能,python可以表达比c更加精炼,当然牺牲了一些性能。
如果确实对某个模组性能不满意,还可以使用 c 编写 Python 模块为其加速。
面对一些并不需要过多性能而可以获得更快捷的开发速度,Python的优势完全可以盖过“劣势”。
可以说,Python基本完美。
例如知乎就是使用 Python 制作的。
Google 的许多页面也是使用 Python 进行渲染的。
0条评论