Perforce 接続の設定

Unreal Engine 4 のビルドを取得するために Epic Games の Perforce サーバーへ接続するためのガイド

Windows
MacOS
Linux

Epic Games (Epic) では、ライセンシーが外部からアクセスできる Perforce を通じて、 Unreal Engine 4 の QA 承認ビルド、および、その他専門的なコード ドロップを作成しています。ライセンシーは、まずエンジンを入手し、 新しいバージョンがリリースされライセンシーが適切であると判断したときに、 新しいバージョンにアップデートするという方法です。このドキュメントは、Perforce をローカルに設定することによって、 Epic の「Unreal Engine 4 」のデポと接続を取り、エンジンのビルドに同期する手順について解説しています。

Perforce に接続するには、まず、 Epic への安全な VPN (バーチャルプライベートネットワーク) 接続を設定する必要があります。

Epic は、Perforce とカスタムのライセンス契約を結んでいます。このライセンス契約では、フルビルドへの同期は 1 ライセンスにつきマシン 1 台に限られています。 ただし、複数のユーザーが同一のログイン名を使用して接続し、 ソースのメタデータおよび過去のリビジョンを閲覧することは 認められています 。個々の UDN ログイン情報は有効ではありません。

大規模な組織では、各チームがアカウントを持つ場合があります。 そのような場合であっても、チームごとに 1 台のマシーンしかフルビルドに同期することができません。複数マシーンでフルビルドに同期することは、 Perforce とのライセンス契約、 および、Epic とのライセンス契約に違反します。

Epic の Perforce デポから Unreal Engine 4 のビルドまたはリビジョンをダウンロードするプロセスの詳細については、

[Perforce から Unreal Engine をダウンロードする](GettingStarted/DownloadingUnrealEngine/Perforce/Basic)
」を参照してください。

Perforce サーバーの動作が円滑かつ効率的な状態を保つように、 Epic では休止期間後のアカウント無効化および削除に関する方針を実施しています。

  • Perforce アカウントの未使用期間が 6 ヶ月を超えた場合、そのアカウントは無効化されます。

  • Perforce アカウントの未使用期間が 1 年を超えた場合、そのアカウントは削除されます。

アカウントが無効化または削除されていた場合でも、アカウントは簡単に復元できますので、 ご希望の場合は P4AccountTrouble までご連絡ください。ご質問、お問い合わせは UDN へ お気軽にご投稿ください。

接続ポリシー

Epic と VPN 接続するには、2 種類の方法があります。第 1 の方法では、スタジオが、内部のワークステーションからエピックのプロキシサーバーへのオープンなVPN 接続を、 最大 5 つまでダイレクトに確立することができます。 (ただし、フルビルドに同期できるのは 1 台のマシーンに限られます)。第 2 の方法では、スタジオのプロキシを Epic のデポに直接接続し、 スタジオの開発者がそこからローカルのプロキシに接続することができます。ローカルのプロキシからデポに、 同時に 2 つの VPN 接続をとることが可能です。(主要な接続とバックアップ用)。

ただし、これら 2 つの方法は互いに独立しており、 スタジオに両タイプの接続を同時に設定することができません。どちらの方法を用いても、 1 台のマシーンで同時に実行できる P4 接続の数に制限はありません。 (スタジオからの VPN 接続の数が制限されます)。

インストールとコンフィギュレーション

Epic の Perforce デポに接続するには、マシーンに Perforce クライアントをインストールする必要があります。 このクライアントは、エンジンのビルドをダウンロード、保存するために使われるものです。

P4V の設定

Perforce によって現在提供されているクライアントは、P4V です。このクライアントによって、グラフィカルインターフェイスを使用しながら、 バージョン管理されたファイルにアクセスすることができるようになるとともに、コードの進化を表示することができるようになります。

P4VUpdated.png

フル機能の P4V インストーラは、 Perforce Downloads: The Essentials ページからダウンロードできます。

注記:お使いの OS (32 ビット、64 ビットを含めて) に適合したバージョンをダウンロードするようにしてください。

P4V クライアントを設定して Epic の Perforce デポに接続する方法については、 PV4 設定 のページを参照してください。

追加ダウンロード

プラグインやその他のツールを含む、利用可能なダウンロードの完全なリストは、『Perforce をダウンロード の』に掲載されています。

ローカルの Perforce プロキシ

独自のローカルプロキシを使用したい場合は、オプションとなります。以下の情報は、6 台以上のマシーンを Perforce に 接続したい場合に限って参照してください。

ローカルプロキシを利用する利点は、次のようになります。

  • 同期に失敗した場合でも、同期された内容のコピーがプロキシによって保持されます。したがって、同期を再スタートする場合でも、 Epic からではなくローカル プロキシからデータを引き出すことができます。

  • 複数のユーザーがいる場合、データへの高速なアクセスが可能です。

プロキシのコンフィギュレーションを使用するには、Unreal Developer Network でリクエストする必要があります。 アクセスが許可されると、 VPN 接続が 2 つだけ認められて、主デポにしかアクセスできなくなると、 ライセンシープロキシへのアクセスができなくなります。

プロキシアプリケーション (P4P) を Perforce から入手するには、http://perforce.com/perforce/downloads/ から行うことができます。インストール中は、 プロキシサーバーを p4-server.epicgames.net につなぐ必要があります。

プロキシアプリケーション (P4P) を Perforce から入手するには、 http://www.perforce.com/perforce/r10.1/manuals/p4sag/09_p4p.html#1056059 を開きます。

リモート デポ

詳細については、以下のスレッドをご覧ください。

https://udn.epicgames.com/lists/showpost.php?list=unedit3&id=5885

リモートデポを使用することによって、 Perforce サーバーをその場に設定することができるようになります。 そのサーバーは、自動的に Epic のサーバーと同期が保たれます。利点は、組織内でエンジンコードを簡単に配布できるようになるという点です。 短所は、ファイルしかリモートデポに同期されないということです。 すなわち、リモートデポのユーザーが、私たちの変更番号やチェンジリスト情報、ラベルを参照することができないということになります。

リモートデポを設定するには、 Unreal Developer Network までご連絡ください。

文字のエンコード

Perforce で Unicode ファイルをテキストとして保存すると、ローカルの行末に合わせるために 0xd が追加されます。 すなわち、 0x0a 0x00 0x0d 0x00 という Unicode の行末が、 0x0a 0x0d 0x00 0x0d 0x00 に変換されて、全く機能しなくなります。しかしながら、 この変換が行われる際、ローカルのバージョンは変更されません (したがって機能します)。前のバージョンに同期して、 先頭に戻り問題の所在をつきとめてください。

Perforce は UTF-8 を Unicode として定義します。誰かがたまたま ASCII に変換しない限り、UTF-16 が理想的です。バイナリも マージあるいはマルチチェックアウトを怠らなければ機能します。

Unreal Engine 4 は、有効なファイルであれば、ASCII または BOM つきの UTF-16 をロードします。

東アジアの Perforce ミラー

VPN 接続の設定 を設定し、 東アジアの VPN ミラー に接続すると、 プロキシに接続できます。ポート番号 1667 上で p4-licensee-proxy-asia.epicgames.net に接続します。 この接続によってアメリカのプロキシ (p4-licensee-proxy.epicgames.net:1667) を利用することもできますが、 アジアのプロキシが利用できない場合に限って利用すべきです。

プロキシを利用して Epic の主デポ (p4-server.epicgames.net:1666) に接続する場合は、 プロキシサーバー上で圧縮を無効にする必要があります。Epic では、ダウンロードロケーション間に WAN オプティマイザを置くことによって、 プロキシを使用して、ライセンシーにより良いパフォーマンスを提供することができます。圧縮は、データ削減の効果を低下させ、 その結果、パフォーマンスが遅くなります。

圧縮の無効化に関する詳細は、 こちら のセクションを参照してください。 Perforce を Windows サーバー上でサービスとして実行する場合、圧縮を無効にするコマンドは次のようになります。

p4 set -S "Perforce Proxy" P4POPTIONS="-c -p 1667 -t p4-server.epicgames.net:1666"

-c というフラグに注目してください。これによって圧縮が無効化されます。

メンテナンスとサポート

プロキシのメンテナンス

次のスクリプトは、プロキシのデポを常に整理された状態にしておくためのものです。すなわち、リビジョンであふれかえるのを防ぐためのものです。Epic ではプロキシに このスクリプトを使用しています。

このスクリプトは、 VBScript です。 一定期間内にアクセスされていないファイルを削除することによって、整頓された状態を保ちます。Windows の "at job" 、あるいは スケジュールタスクとして設定するのが最も適しています。ファイルシステム上におけるロケーションへの適切な権限をもったユーザーとして 実行するようにしてください。

スクリプトは次のようにして呼び出すことができます。

cscript StartCleaning.vbs [arguments]

このスクリプトは、 Windows 専用です。また、 Windows Server 2008 R2 あるいは Vista、Windows 7 上で動作させる場合、最終アクセス日が デフォルトでは無効になっています。最終アクセス日を有効にするには、 fsutil behavior set disablelastaccess 0 が必要となります。

定期的ダウンタイム

Epic の Perforce サーバーは、毎週日曜日の 2 時 (アメリカ東部標準時) から約 4 時間、 チェックポイントの検証とデータベースのバックアップのために休止します。これに加えて、Epicは 毎月第二、第四日曜日の午前 8 時から正午 (アメリカ東部標準時) まで、 スケジュールメンテナンスの実行時間に割り当てています。特にネットワーク/サーバーリソース等は、 全体的あるいは部分的にこの時間帯に影響を受ける場合がありますので、計画を立てる際には注意してください。

接続の問題

何らかの理由で Perforce デポに接続ができない場合は、 Unreal Developer Network までご連絡ください。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback