我正在使用(非常)旧的Python库PyGame制作游戏。但这不是我在这里要问的问题。
如何创建一个代码来检查具有最新版本的服务器中的存储库,检查构建是否更新或相同,如果更新则提示用户下载(或拒绝)游戏更新,因为它将以多个版本开发,并允许玩家在我们进行更改时逐步更新。
像Minecraft一样,一旦更新出来并提示你更新......但是在Python中
答案 0 :(得分:1)
您需要做三件事:
您将存储有关更新和版本的所有信息的服务器。
flask
,web.py
,django
,pylons
等,或PHP或其他)单页。GET
/ POST
请求)并输出可用的更新(以可以解析的格式,JSON
最好,或XML或只是纯文字)。MySQL
,postgresql
或任何适用于您选择的网络服务器的ORM sqlalchemy
)XXX-r24-20121224.tar.gz
,并且您将检查文件列表glob
或其他)。一段代码,每次启动游戏时都会查询服务器,以便在有更新时检查Web服务器。例如,您可以使用requests
或urllib2
。
将下载并更新您的实际游戏的一段代码。
requests
或urllib2
)zipfile
或tarfile
)并将其替换为您的实际文件。zipfile
包和Python实际上考虑了这一点,它们为您提供了一个选项,只将python文件放在zip文件中,Python为您提供了将所述zip文件添加到{{1}的选项并直接从那里导入。PYTHONPATH
或其他任何内容进行编译,则会出现另一个问题:您可能只能更新一个zip文件,或者替换实际的DLL和内容,这可能很大混乱。我希望这有帮助,即使它非常抽象。必须这样做:))
现在我将给出我自己的(有偏见的)意见:如果你已经有一个网站在运行,那就用它来为这样的东西添加一个页面。否则我会建议免费托管,以便您使用flask设置网站。我建议,因为它很容易让它立即运行,而且它将允许你使用伟大的ORM sqlAlchemy。此外,我不打算告诉用户有新版本,让他们找出从哪里获取它。除非你只是以一种标准的方式分发它,否则就是这样。