Choose your operating system:
Windows
macOS
Linux
Unreal Engine の ChunkDownloader パッチ適用ソリューションでは、.pak ファイルをウェブ サーバーへ配布する必要があります。また、マニフェスト ファイル も作成する必要があります。これは、ユーザーがダウンロードを期待するすべてのファイルと、それぞれの予測されるファイル サイズのリストを含むテキスト ファイルです。
パッチ適用プロセスの開始時に、ChunkDownloader が最初にユーザーのデバイスにダウンロードするものがマニフェストです。マニフェストはこの情報を使用して .pak ファイルを 1 つずつリクエストしてダウンロードします。予測されるファイル サイズにより、システムはファイルごとの進捗度を認識することができます。
1. 必要なセットアップ
このガイドでは、「チャンク用のアセットを準備する」で準備したプロジェクトを使用します。これは、Paragon のアセットである Boris、Crunch、Khaimera を使用する空のプロジェクトです。そのガイドに記載されている手順に従ってアセットをダウンロードし、それぞれの Primary Asset Label を設定したら、それらのチャンク化されたデータを含む .pak ファイルをクックします。ただし、アセットが .pak ファイルに分割されている限り、次のセクションの手順に従うことができます。
2. マニフェスト ファイルを作成する
マニフェスト ファイルを作成するには、次の手順に従います。
プロジェクトのベース ディレクトリ内にフォルダを作成し、「PatchingDemoKey」という名前を付けます。このサンプルでは、「PatchingDemo/PatchingDemoKey」になります。
新しいファイルを作成して「BuildManifest-Windows.txt」という名前を付け、テキスト エディタで開きます。
新しく
$NUM_ENTRIES
フィールドの行を追加し、トラッキングしている pak ファイルの数と等しい値を設定します。このサンプルでは、値は 3 になります。$NUM_ENTRIES = 3
新しく $BUILD_ID フィールドの行を追加し、値を「PatchingDemoKey」に設定します。
$BUILD_ID = PatchingDemoKey
それぞれの .pak ファイルのエントリを、次の情報を使用して追加します。
.pak のファイル名。
T.pak のファイル サイズ (バイト)。この値は、.pak ファイルを右クリックして プロパティ を表示するとわかります。
.pak ファイルのファイル サイズを使用するようにしてください。ディスク上のサイズではありません。
.pak のバージョン。これは任意の文字列に設定することができます。
The .pak の番号。これは、Primary Asset Label に使用した チャンク インデックス の値と一致する必要があります。
.pak ファイルのパス、マニフェスト ファイルが配置される場所との相対パスです。
各フィールドのエントリは、タブ区切りで同じ行にある必要があります。そうでない場合、正しく解析されません。たとえば、pakchunk1001 の行は次のようになります。
pakchunk1001-WindowsNoEditor.pak 922604157 ver 1001 /Windows/pakchunk1001-WindowsNoEditor.pak
.pak ファイルを
/WindowsNoEditor/PatchingDemo/Content/Paks/
から「PatchingDemoKey」フォルダのマニフェストと一緒に並んでいる「Windows」という名前のサブフォルダ内にコピーします。
このプロセスは、プロジェクトをパッケージ化するたびに、またはユーザーに提供するファイルの変更が必要となるたびに繰り返す必要があります。このサンプルにおける最終的なマニフェスト ファイルは、次のとおりです。
$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] を開き、[Turn Windows Features on or off (Windows の機能の有効化または無効化)] を検索して開きます。
[Windows Features] メニューで、[Internet Information Services (インターネット情報サービス)] を有効にして [OK] をクリックします。
[Internet Information Services Manager (IIS Manager)] を開いて [Directory Browsing (ディレクトリをブラウズ)] を有効にします。
ウィンドウの左側にある [Connections] メニューで、[Sites] を展開して [Default Web Site] をクリックします。
[Default Web Site Home] メニューで、[MIME Types] をダブルクリックします。
[MIME Types] メニューで 右クリック して [Add] をクリックします。
[Add MIME Type] ウィンドウで [File Name extension] を [.pak] に設定し、[MIME type] を「application/octet-stream」に設定します。
これにより、IIS はリクエストされると、ただファイルをダウンロードします。
[Default Web Site] フォルダに移動します。デフォルトでは「C:\inetpub\wwwroot」です。フォルダを作成し、「PatchingDemoCDN」という名前を付けます。
「PatchingDemoKey」フォルダを「PatchingDemoCDN」にコピーします。
プロジェクトの
DefaultGame.ini
ファイルを開き、次の情報を追加して CDN Base URL を定義します。[/Script/Plugins.ChunkDownloader PatchingDemoLive] +CdnBaseUrls=127.0.0.1/PatchingDemoCDN
この URL は、ファイルが配置されているウェブサイトを ChunkDownloader に示しています。PatchingDemoLive 修飾子により、ターゲットのプラットフォームに応じて様々な CDN デプロイ コンフィギュレーションを使用できます。
このサンプルで使用している URL は、前述の手順で設定したローカル ウェブサイトのみを示しています。ローカル エリア ネットワークやリモート CDN を使用してサーバーに接続しようとする場合は、追加のコンフィギュレーションやセキュリティが必要になります。
最終結果
アセットを .pak ファイルに分割し、ローカル ウェブサイトにステージングできたので、Unreal Engine でパッチ適用ソリューションを使用してアクセスすることができるようになりました。