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つを組み合わせる流れ
実際にカスタムサーバーを作るなら、次の順番で使うと無駄が少ないです。
- 解説本で、Portal Builder、TypeScript SDK、公開運営までの全体像を掴む。
- BF6 Object Guideで、マップに置きたいオブジェクトを探す。
- Portal Builderやマップエディタで配置し、ObjIdなどで後から参照できるように整理する。
- TypeScriptでルールを書く段階になったら、AIに目的、条件、ログを渡し、必要に応じてMCPサーバーでSDKの型や関数を調べてもらう。
- 分からない挙動が出たら、解説本、SDK検索、公式サンプルを行き来して確認する。
この3つは、それぞれ役割が違います。
- 解説本は、学習と設計のための地図。
- MCPサーバーは、AIにSDKと解説本を調べてもらうための検索・コーディング装置。
- オブジェクト集は、マップ制作で使う素材カタログ。
つまり、読む、調べる、選ぶ、の導線が揃います。BF6 Portalのカスタムサーバー開発は、ルール設計、マップ設計、スクリプト実装が絡むので、資料を分けて使える状態にしておくのが大事です。
まとめ
BF6 Portalでカスタムサーバーを作るなら、最初に解説本で流れを掴み、オブジェクト集で配置候補を探し、実装中はAIにMCPサーバーでSDKを調べてもらうのが扱いやすいです。
特にTypeScriptで独自ルールを書き始めると、型、イベント、ObjId、UI、SFX、配置オブジェクトなど、確認するものが一気に増えます。そこで資料を毎回ゼロから探していると時間が溶けます。
この3つをブックマークしておけば、BF6 Portal制作の調査時間をかなり削れます。仕様確認に使う時間を減らして、面白いルールを考える時間を増やしましょう。

