UBAで使用されるUE_HORDE_CPU_COUNT環境変数の設定について

お世話になっております。

UE5.6以降からUBAAgentCoordinatorHorde.csにarguments.Add(“-MaxCpu=%UE_HORDE_CPU_COUNT%”);という引数が追加され

[Worker9] Executing child process: UbaAgent.exe -Listen=7001 -ListenTimeout=10 -NoPoll -Quiet -ProxyPort=7002 -Dir=%UE_HORDE_SHARED_DIR%/Uba -Eventfile=%UE_HORDE_TERMINATION_SIGNAL_FILE% -MaxCpu=%UE_HORDE_CPU_COUNT% -MulCpu=%UE_HORDE_CPU_MULTIPLIER% -MaxCon=8 -MaxWorkers=64 -MaxIdle=15 -UseCrawler -Description="\" http://mypc:13340/lease/1234\\""というコマンドライン引数でジョブの発行が行われるのですが

[Worker9] Can't find environment variable UE_HORDE_CPU_COUNT used in dir pathというエラーが出て分散ビルドが失敗します。

こちらの環境変数はどのタイミングで設定されるものでしょうか?UE5.7で行ったセットアップ手順ではこの環境変数は設定されておらず、また、UE_HORDE_CPU_COUNT設定されていない状況ではエラーになる(環境変数がない場合はローカルコア全部を使ってくれるなどではない)ので、セットアップフローのどこで漏れたのか調査しているところです。

Agent.jsonのドキュメントにUE_HORDE_CPU_COUNTの記載があるのでjsonを手動で編集して設定するものなのでしょうか?現状はarguments.Add(“-MaxCpu=%UE_HORDE_CPU_COUNT%”);自体をコメントアウトして運用しているのですが、正しいセットアップ手順を教えていただきたいです。

よろしくお願いいたします。

[Attachment Removed]

お世話になっております。

切り分けのため、Horde Agent 側のバージョンをご確認いただけますでしょうか。

UBT のビルドログのセッション開始時に、以下の形式の行が出力されます。

Horde server: {ServerVersion}, agent: {AgentVersion}

こちらの値と、実際にコンパイルを実行しているワーカーマシンにインストールされている Horde Agent のバージョンをお知らせいただけますと幸いです。Horde サーバーの Agents 画面からも各エージェントのバージョンをご確認いただけます。

よろしくお願いします。

[Attachment Removed]

お世話になっております。

しばらく返事がなくて、​トラッキングのため、本件をクローズさせていただきます。​

いつでも本スレッドにコメントすれば再オープンできるかと思います。

お手数ですが、よろしくお願いします。​

[Attachment Removed]

お世話になっております。

バージョンの情報お送りいたします。

Horde server: 5.4.0-32941892, agent: 5.4.0-32941892
Agent Version: 5.4.0-32941892

UE5.8はトラブルがあると聞いてまだアップデートしていません、UE5.7時代のものを使用している認識です。

よろしくお願いいたします。

[Attachment Removed]

お世話になっております。

バージョン情報ありがとうございます。原因が分かりました。

Horde Server / Agent が 5.4 系のため、UE_HORDE_CPU_COUNT が正しく設定されていません。

この環境変数は Horde Agent がリモートのワーカー上で設定するものですが、5.6 以降で「Agent.json に CpuCount が未指定ならマシンの論理コア数を使う」というフォールバックが追加されました。5.4 にはこの処理がないので、値が空になり UBA 側でエラーになります。

なお Horde Server / Agent のバージョンはエンジン本体とは別管理で、エンジンを 5.7 にしても Horde 側は自動的に追従しません。エンジンが 5.6 以降で Horde が 5.5 以前という組み合わせだと、今回のエラーが出ます。

対処としては、Horde Server の Agent Software をエンジンに合わせて 5.6 以降に更新するのが正しい手順です。更新までの間は、現状どおり-MaxCpuの行をコメントアウトしたままで問題ありません。

よろしくお願いします。

[Attachment Removed]

お世話になっております。

お手数をおかけして申し訳ございません、環境を作ったときはUE5.7だったので新しいバージョンを使用してたつもりだったのですが、ずいぶん古いものを使ってしまっていたようです。

https://dev.epicgames.com/documentation/unreal-engine/horde-in-unreal-engine?lang=ja#horde%E3%82%92%E4%BD%BF%E3%81%84%E5%A7%8B%E3%82%81%E3%82%8B

こちらのmsiを使用して環境を作ったのですが、このバージョンがUE5.4のものになっていることで古いバージョンを誤って使用してしまっていたようでした。

また、英語ページでは5.5のmsiになっているので他の方も同じ問題が起きるかもしれません、リンクを更新しておいて頂いた方が良さそうです。

もしくはローカルのエンジンバージョンと合わせる場合は Engine\Extras\Horde\UnrealHordeServer.msi を使用してインストールを行う注釈があったほうが良いかもしれません。

今回はHordeのServerおよびAgentのバージョンアップを行って対応いたします。

調べていただいて助かりました、ありがとうございます!

[Attachment Removed]