想使用Python做游戏服务器端开发,需要具备哪些技术?

想使用Python做游戏服务器端开发,需要具备哪些技术?,第1张

你自己说的太含糊了。游戏服务端。仅这两个词只是能说明你要求的服务器并发量要大,此外可能会有一个游戏引擎。具体的你用的是什么游戏类型。需要什么样的引擎。以及是否是网网游戏,或者是FLASH做的RPG游戏都没有说。所以很难给出一个具体的框架与协议。
不过简单的说,python做游戏服务器足够,以前有人用python做过魔兽世界的游戏服务器,做过EVE的客户端。
通常来讲,会使用一个内存数据库,一组关系型数据库。还有几套应用系统,比如交易系统,副本系统,对话系统,用户管理系统,支付系统系统。都是相互独立的,与游戏引擎关系不大。
要用的技术挺复杂的。主要是网络,安全,进程管理,C语言接口,数据库,图像处理,分布式管理等。

是因为历史原因,C/C++存在的时间比python要久远,并且C/C++是历史上第一个全能类型语言,这么多年来,经过全世界的努力,C/C++在各种领域,虽然不是最先进的,但却是最稳定最可靠最完善最可行的。因为做为生产/运营商,都会选择C/C++,以保证自己的钱不会打水漂!做为创业公司,都会选择其他言语,用于创新。

这个主要是要对socket的基本通讯流程比较熟悉,socket server端的流程是
建立socket
bind到特定的端口
listen指定连接数量
accept接受连接
建立连接后用read/write通讯
完成后用close清理资源
import socket 导入socket库
host='' 指明需要绑定的ip,为空应该是绑定本机所有Ip
port=51423 绑定的端口号
s=socketsocket(socketAF_INET,socketSOCK_STREAM) 创建socket
ssetsockopt(socketSOL_SOCKET,socketSO_REUSEADDR,1) 设置socket的属性
sbind((host,port)) 绑定端口
slisten(1) 设置只允许一个client连接
print ("Server is running on port %d;press Ctrl-C to terminate" % port) 打印信息,提示端口号
while 1: 死循环等待连接
clientsock,clientaddr=saccept() 等待直至有client连接,分别返回通讯用的socket和client的地址
clientfile=clientsockmakefile('rw',0) 创建用于通讯用的虚拟文件
clientfilewrite("Welcome,"+str(clientaddr)+"\n") 向client发送消息
clientfilewrite("please enter a string:") 向client发送消息
line=clientfilereadline()strip() 读取client消息
clientfilewrite("you entered %d characters\n" % len(line)) 向client发送消息
clientfileclose() 关闭虚拟文件
clientsockclose() 关闭通讯用socket,通讯结束

如何把Python项目部署到服务器上
一,不需要域名的情况下
1,访问阿里云官网
2,注册登录(建议支付宝授权)
3,登陆后---》产品--》云服务器ECS
4,滚动条拉倒页面底部--》点击学生机
5,进入该页面后默认是轻量应用服务器们可以切换至云服务器ECS
6,右侧选择系统镜像-à选择我们熟悉的(相比之下比较熟悉的)windows
7,购买完成后回到之前的登陆后的页面à点击右上角的控制台à点击左上角的云服务ESCà点击如图所示位置(蓝框位置)
8,进入管理
9,更多--》重置密码--》(密码重置成功后)--》右侧点击重启(需要手机验证码)
10,本示例安全组--》配置规则
11,导入规则”安全组规则json”(json文件在后面给大家)
12添加成功后返回上一个页面--》配置信息--》公网IP 找到公网ip,复制公网IP,(一会有用)
13,返回电脑桌面--》按windows键(或者点击开始)--》搜索”远程桌面连接”
14,点击连接按钮--》确定
15,根据上述步骤完成,就能顺利连接到服务器了,
1,此时把你的项目复制到上面,
2,安装一下Python环境,
3,安装需要的模块:
pip install pymysql
pip install Djanjo
pip install pillow
最后 pip list 查看一下是否安装成功
4,安装mysql数据库可视化工具
安装XAMPP,可以直接启动mysql,比较简单方便 *** 作(推荐使用)
5,连接数据库,建立一个和你项目中一样的数据库名
把你原来的数据库导出来,把里面的数据复制粘贴到新建立的数据库中
6,配置settingpy文件中的DATABASES(根据自己的密码情况进行更 改)ALLOWED_HOSTS = ['']
7,打开cmd窗口,同步数据库
8,运行(python managepy runserver 0000:8000),指定端口号
9,在浏览器中访问服务器中的公网ip即可(服务器不能关掉,不然不能访问)
二,使用花生壳的情况,会送一个域名(也可申请域名)
1,在服务器计算机中,安装花生壳软件
2,进入花生壳官网--》注册---》下载--》安装--》登录
3,点击内网穿透(添加映射,可以添加两个)
购买内网穿透基础服务(6元,购买送一个壳域名)-->购买成功重启花生壳-->重复上一步 *** 作-->添加映射
4,在浏览器地址栏输入外网访问地址就可以访问了(花生壳不要关闭)
30
© 著作权归作者所有
成年人记忆力衰退严重,快来学孙韬老师整理的记忆“口诀”
00:30
讲真高效记忆训练营
广告
推荐阅读
页面访问调试
squidbrother
阅读99
搭建MySQL服务器
技术老男孩
阅读200
怎么使用SSH Windows链接虚拟机的Linux终端
小黄不头秃
阅读671
MySQL服务图形管理工具·phpMyAdmin
技术老男孩
阅读196
虚拟机Ubuntu剪切板无法共享的解决方案
小黄不头秃
阅读614
送财气适合家庭的理财方法?送你免费的爆款理财课,帮到你!
00:51
0元学理财快领
广告
2条评论
写评论
陌路班车
Djanjo写错了,是Django
3楼 · 2019-08-24 23:22
浪得虚佲
谢谢

你问的问题,没有说明情况,所以很难给你答案哦。
比如你写的是手游服务器。还是手游本身。 coco是一个游戏社交平台,它应该提供的是一个社交通讯用的API。你需要调用它的API。 测试通过才能用。
所以你写的python服务器放在COCO下,这句话是什么意思。难道你上传到COCO的云平台上去?
如果不是,就是你加盟COCO,即使然加盟了,API调通了就可以了。你没有调通还想用。怎么可能?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10265517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存