BF6 Portalのカスタムサーバー開発に役立つリンク集

このエントリーをはてなブックマークに追加

BF6 Portalでカスタムサーバー、正確には自作エクスペリエンスを作ろうとすると、やることが意外と多いです。

Portal Builderでルールを組むだけならまだしも、マップにオブジェクトを置き、ObjIdでスクリプトとつなぎ、TypeScript SDKの型や関数を確認し、公開後の運営まで考え始めると、どこから調べればいいのか分からなくなりがちです。

この記事では、BF6 Portalの制作で参照しやすい便利リンクを3つに絞って紹介します。

まぁ、これ全部私が出した奴なんですけどねwwww

まず読む: BF6 Portal解説本

リンク: https://link1345.github.io/bf-portal-book/

「Battlefield 6 Portal エクスペリエンス制作大全」は、BF6 Portalでエクスペリエンスを作るための入門書です。

Portal Builderの考え方、環境構築、マップエディタでの配置、ObjIdを使った仕掛けの接続、TypeScript SDKを使ったゲームモード作成、UIや演出、公開やホスティングまで、制作の流れを広く扱っています。

特に便利なのは、単なるAPIメモではなく「どういう順番で作ればいいか」が分かるところです。最初にPortal Builderの基本を押さえ、次にマップ上の配置を作り、最後にスクリプトでルールを動かす、という流れを掴めます。

付録にはイベント一覧、アクションや値取得の一覧、公式サンプルの読み方、modlibの解説もあります。サンプルコードを読む前の地図として使うと、調べる場所をかなり絞り込みやすくなります。

おすすめの使い方:

  • 初めてBF6 Portalに触るなら第1章から第3章で全体像と環境構築を確認する。
  • マップに仕掛けを置く段階では、第4章のマップエディタ実務ガイドを見る。
  • TypeScriptで独自ルールを書く段階では、第6章、第7章、付録B、付録Cを見る。
  • AIにコードを書かせる場合は、第9.5章でログや状況の渡し方を確認する。

AIに調べてもらう: BF6 Portal TypeScript MCP

リンク: https://github.com/link1345/bf6-portal-typescript-mcp

関連解説: https://link1345.github.io/bf-portal-book/chapters/9b-codex-mcp

「BF6 Portal TypeScript MCP」は、BF6 Portal TypeScript SDKと解説本を検索・参照するためのMCPサーバーです。

ただし、ここで大事なのは「人間がMCPを直接操作してAPIを暗記する」ことではありませんMCPは、AIに渡すSDK辞書のようなものです。人間は作りたいもの、実機で起きたこと、ログ、気になっている点をAIに渡し、AIには「Portal APIで分からないところはMCPで調べてから書いてください」と頼みます

たとえば、次のような相談の仕方です。

BF6 Portalで、スポーンしたプレイヤーの目の前にApple_01を出したいです。そのようなことができるTypeScriptを書いてください。マップはミラクバレーです。bf6_portal_typescript_mcpが使えるので、Portal APIやRuntimeSpawn候補で分からない点があればMCPで確認してからコードを書いてください。

最初のコードで動かなかった場合も、「動きません」だけでは情報が足りません。Portal側では、コードが読み込まれていないのか、イベントが発火していないのか、座標が違うのか、オブジェクト候補が違うのかを切り分ける必要があります。

そのため、人間側がやるべきことは次のようになります。

  • 何をしたいのかを具体的に書く。
  • マップ名、使いたいオブジェクト名、発火タイミングを伝える。
  • 実機で何が起きたかを書く。
  • PortalLog.txt の関係ありそうな部分を貼る
  • 怪しいと思った値や挙動があれば、その観察も添える
  • AIに「必要ならMCPでSDKを確認して」と明示する。

逆に、AIに任せやすいことは次のような作業です。

  • TypeScriptの実装を書く。
  • SDKの関数名、型、enum候補を調べる。
  • console.log や画面通知を追加して、読み込みやイベント発火を確認できるようにする。
  • ログから原因の仮説を立てる。
  • 待ち時間、座標取得、SpawnObject周りの修正案を出す。

BF6 Portalのスクリプト開発では、実機確認を完全に省くことはできません。Portalのイベント発火タイミング、兵士座標の確定タイミング、マップごとの RuntimeSpawn_… の違いは、最後はゲーム画面と PortalLog.txt で確認する必要があります。

MCPサーバーは、その確認作業をなくすものではなく、AIがSDKや解説本を調べながら原因を絞れるようにするための道具です。人間は現場の情報を渡し、AIはMCPで知識を補ってコードと調査手順を返す、という分担で使うと強いです。

配置前に見る: BF6 Object Guide

リンク: https://link1345.github.io/bf6-object-website/

「BF6 Object Guide」は、BF6 Portalで設置できるオブジェクトを探すためのWebサイトです。

サイト上では、オブジェクト名、マップ、タグで絞り込みながら、設置可能な静的オブジェクトを一覧できます。確認した時点では、見出しに「BF6 Object Guide」、概要に「Static Object Index」と表示され、アイテム数とマップ数も表示される作りになっています。

検索欄には item、map、tag を入れられ、マップフィルター、タグフィルター、選択したオブジェクトの画像プレビュー、利用可能マップ、タグ、関連YouTube動画への導線があります。

マップを作る時に困るのは、「何を置けるのか」「どのマップで使えるのか」「見た目が想像と合っているのか」です。このサイトはそこを確認するためのカタログとして使えます。

おすすめの使い方:

  • まずマップで絞り込んで、そのマップで使える候補を減らす。
  • Barrier、Wall、Sandbagなど、役割に近い単語で検索する。
  • タグで Structure、Vehicle、Nature、Interior などの系統を絞る。
  • 画像プレビューで見た目を確認してからPortal Builder側で配置する。
  • 仕掛けに使う予定のオブジェクトは、あとでスクリプトとつなげる前提で名前や用途をメモしておく。

3つを組み合わせる流れ

実際にカスタムサーバーを作るなら、次の順番で使うと無駄が少ないです。

  1. 解説本で、Portal Builder、TypeScript SDK、公開運営までの全体像を掴む。
  2. BF6 Object Guideで、マップに置きたいオブジェクトを探す。
  3. Portal Builderやマップエディタで配置し、ObjIdなどで後から参照できるように整理する。
  4. TypeScriptでルールを書く段階になったら、AIに目的、条件、ログを渡し、必要に応じてMCPサーバーでSDKの型や関数を調べてもらう
  5. 分からない挙動が出たら、解説本、SDK検索、公式サンプルを行き来して確認する。

この3つは、それぞれ役割が違います。

  • 解説本は、学習と設計のための地図。
  • MCPサーバーは、AIにSDKと解説本を調べてもらうための検索・コーディング装置。
  • オブジェクト集は、マップ制作で使う素材カタログ。

つまり、読む、調べる、選ぶ、の導線が揃います。BF6 Portalのカスタムサーバー開発は、ルール設計、マップ設計、スクリプト実装が絡むので、資料を分けて使える状態にしておくのが大事です。

まとめ

BF6 Portalでカスタムサーバーを作るなら、最初に解説本で流れを掴み、オブジェクト集で配置候補を探し、実装中はAIにMCPサーバーでSDKを調べてもらうのが扱いやすいです。

特にTypeScriptで独自ルールを書き始めると、型、イベント、ObjId、UI、SFX、配置オブジェクトなど、確認するものが一気に増えます。そこで資料を毎回ゼロから探していると時間が溶けます。

この3つをブックマークしておけば、BF6 Portal制作の調査時間をかなり削れます。仕様確認に使う時間を減らして、面白いルールを考える時間を増やしましょう。