我应该如何自动更新整个游戏的文件?


15

我应该如何自动更新玩家的游戏资产和可执行文件?最好是免费提供更新软件。更新的大小必须很小,并且不能浪费CPU时间。另外,必须很容易地运行更新服务器来创建新版本或进行物流。

我的用例是用于更新玩家游戏的版本,例如在大型在线客户端中或运行分布式游戏测试甚至是普通游戏。


Answers:


6

有一个关于堆栈溢出的问题在这里,可能是使用的。它涉及以有效方式修补二进制文件(基本上存储版本之间的差异,而不是整个文件)。

还需要注意的是,如果将游戏文件安装到Windows Vista或更高版本的“程序文件”中,则还需要考虑用户不一定具有修改文件的权限。有从DirectX的帮助信息的一点点的文件在这里过这一点。

生成补丁后,您可能需要检查某个地方的网络上托管的游戏exe的当前版本,然后下载并启动包含补丁内容的单独补丁程序。主游戏exe在运行时将无法自行打补丁。有很多便宜的文件托管解决方案,您可以在其中存储补丁程序和其他数据。


2

我注意到您已标记了问题“客户端-服务器”,因此我假设您也在询问如何实际分发补丁。根据您的预算,对于用户而言,最简单的方法是在您的网站上简单地提供HTTP下载,但这需要您服务器上的最大带宽(补丁大小*购买的游戏),对用户友好度稍低的选项是将您的内容作为bittorrent并从服务器运行一些种子。这样可以减少服务器上需要的带宽,但是除非您像暴雪一样,并且有资源在游戏中构建一个BitTorrent客户端,否则这将给您的用户带来更大的痛苦。

最重要的是,它取决于补丁或更新的大小(MB / GB),以及必须在服务器上投入多少资金和带宽,才能将补丁分发给最终用户。

从软件的角度来看,有许多分发和安装游戏更新的方法,但是总的来说,您应该坚持使用传统软件使用的方法。让用户下载更新安装程序,该更新程序知道如何提示用户对其计算机进行管理访问,并根据需要的检查版本来复制/更新文件(用户可能跳过了v1.1,直接安装了v1.2)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.