Choose your operating system:
Windows
macOS
Linux
虚幻引擎 的 ChunkDownloader 修补解决方案要求你将.pak文件分发到Web服务器,并且你还必须构建 清单文件(manifest file)。这是一个文本文件,其中包含用户希望下载的所有文件列表以及每个文件的预期大小。
当修补流程开始后,清单是ChunkDownloader将下载到用户设备的第一项内容,它使用此信息逐个请求和下载每个.pak文件。预期文件大小让系统能够识别每个文件的进度。
1.必要设置
本指南使用准备资产进行文件分块中的项目。这是一个空白项目,使用Boris、Crunch和Khaimera的Paragon资产。按照该指南的步骤下载资产并为每项资产设置主要资产标签,然后烘焙包含其已分块数据的.pak文件。但是只要你将资产划分成.pak文件,就可以按照下节中的步骤进行操作。
2.构建清单文件
要创建清单文件,请按照以下步骤操作:
在项目的基本目录内部创建名为 PatchingDemoKey 的文件夹。在我们的示例中,该文件夹为 PatchingDemo/PatchingDemoKey。
创建一个名为 BuildManifest-Windows.txt 的新文件,然后在文本编辑器中打开该文件。
添加具有
$NUM_ENTRIES
字段的新行,将其值设置为等于你要追踪的pak文件数。在我们的示例中,此值为 3。$NUM_ENTRIES = 3
添加具有
$BUILD_ID
字段的新行,将其值设置为 PatchingDemoKey。$BUILD_ID = PatchingDemoKey
将
/WindowsNoEditor/PatchingDemo/Content/Paks/
中的.pak文件和名为 Windows 的子文件夹中的清单复制到 PatchingDemoKey 文件夹。
无论何时打包你的项目或要更改可供用户使用的文件,都需要重复此流程。我们示例的最终清单文件如下所示:
$NUM_ENTRIES = 3
$BUILD_ID = PatchingDemoKey
pakchunk1001-WindowsNoEditor.pak 922604157 ver 1001 /Windows/pakchunk1001-WindowsNoEditor.pak
pakchunk1002-WindowsNoEditor.pak 2024330549 ver 1002 /Windows/pakchunk1002-WindowsNoEditor.pak
pakchunk1003-WindowsNoEditor.pak 1973336776 ver 1003 /Windows/pakchunk1003-WindowsNoEditor.pak
3.将文件托管到本地测试服务器
现在,你已经打包了文件,那么需要将其托管到服务器上以供您的游戏下载,并且需要告知ChunkDownloader如何找到服务器。出于演示目的,我们将设置一个简单的本地网站。
在Windows资源管理器中,打开 开始菜单(Start Menu),搜索 打开或关闭Windows功能(Turn Windows Features on or off),将其打开。
在 Windows功能(Windows Features) 菜单中,启用 Internet Information Services,然后点击 确定(OK)。
打开 Internet Information Services管理器(IIS管理器)(Internet Information Services Manager (IIS Manager)),然后启用 目录浏览(Directory Browsing)。
在窗口左侧的 连接(Connections) 菜单中,展开 网站(Sites) 并点击 默认网站(Default Web Site)。
在 默认网站主页(Default Web Site Home) 菜单中,双击 MIME类型(MIME Types)。
在 MIME类型(MIME Types) 菜单中,点击右键 然后点击 添加(Add)。
在 添加MIME类型(Add MIME Type) 窗口中,将 文件扩展名(File Name extension) 设置为 .pak,然后将 MIME类型(MIME type) 设置为
application/octet-stream
。这将确保IIS在收到请求时就可以下载文件。
导航至 默认网站(Default Web Site) 文件夹。默认为
C:\inetpub\wwwroot
。创建名为 PatchingDemoCDN 的文件夹。将 PatchingDemoKey 文件夹复制到 PatchingDemoCDN 中。
打开你的项目的
DefaultGame.ini
文件,然后添加以下信息以定义 CDN基本URL(CDN Base URL):[/Script/Plugins.ChunkDownloader PatchingDemoLive] +CdnBaseUrls=127.0.0.1/PatchingDemoCDN
此URL将ChunkDownloader指向文件所在的网站。PatchingDemoLive 限定符让你可以根据目标平台来使用不同的CDN部署配置。
我们在此示例中使用的URL仅指向我们在早前步骤中设置的本地网站。如果你要尝试连接至具有本地局域网或远程CDN的服务器,你需要提供额外的配置和安全性。
最终结果
现在,你已经将资产拆分成.pak文件,然后放到本地网站上,你可以利用虚幻引擎中的修补解决方案访问这些文件。