PBO ファイル形式とは?
.pbo ファイルは、*Arma* シリーズや *DayZ* を含む Bohemia Interactive が提供する様々なコンピュータゲームに関連付けられています。名称は Packed Bank of Files の略です。
.pbo ファイルは、以下を含む様々なゲームファイルを入れるファイルコンテナです:
- 新しいミッションやカスタムキャンペーン
- ゲームキャラクターのモデルやロケーション
- ゲームシナリオやワールドデータ
- スクリプト、設定ファイル(configs)、エンジンアセット
PBO 形式は、ヘッダーエントリテーブル、データセクション、および末尾に付加された 20 バイトの SHA-1 チェックサムで構成される標準化された構造に従います。PBO パッケージには、SQF スクリプト、.sqm ミッション定義、.p3d モデル、.paa テクスチャ、config.cpp 設定ファイルなどのゲーム固有のファイルを格納できます。エントリは通常 非圧縮 で保存されますが、エントリごとの LZSS 形式の圧縮もサポートされています。
.pbo ファイルは通常、利用可能なゲームアセットやリソースに基づいてゲームモッドを作成できる専用のエディタを使用して作成されます。ユーザーはカスタムミッションやキャンペーンを設計し、Arma 3 Tools (Addon Builder) や PboProject などのツールを使用して、そのコンテンツを .pbo パッケージとしてエクスポートできます。
.pbo ファイルは、PBO Manager や Mikero's Tools (DePbo) などの専用ツールを使用して解凍できます。主要なプログラミング言語でも、.pbo ファイルを操作するためのライブラリが提供されています。マルチプレイヤーサーバーでは、ペアになった .bisign と .bikey 署名を使用してアドオンの真正性を検証します。
セキュリティと安全性
リスク: MEDIUMPBO はゲームデータですが、モッドにはゲームエンジン内で実行されるスクリプト (.sqf) が含まれる場合があります。Bohemia エンジンは強力であるため、悪意のあるミッションやアドオンスクリプトがマルチプレイヤーサーバーへの嫌がらせや攻撃に使用された事例があります。PBO は信頼できるソース(Steam Workshop、有名なモッドコミュニティ)からのみインストールしてください。素性のわからない .pbo のダウンロードには注意が必要です。署名システム (.bisign/.bikey) は、サーバーが検証済みの未改造アドオンを強制するために存在します。中身を検査するために PBO を解凍すること(PBO Manager など)自体は、アーカイブを読み取るだけなので低リスクです。
形式の詳細
概要PBO ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナタイプ | フラットアーカイブ(バンク) - エントリは順次保存され、フォルダ階層はファイル名文字列にエンコードされる |
| バイト順序 | リトルエンディアン |
| エンコーディング | バイナリ |
| デフォルト圧縮 | STORED(非圧縮)。オプションでエントリごとの LZSS 形式圧縮をサポート |
| 整合性チェック | アーカイブの末尾に付加された、連結されたファイルデータの 20 バイト SHA-1 ハッシュ |
| アドオン署名 | マルチプレイヤーサーバーが PBO の真正性を検証するために使用する外部の .bisign / .bikey 公開鍵署名ペア |
| バイナリ構造 | エントリテーブル(ファイル名、パッキング方法、元のサイズ、パック後のサイズ、予約領域、ファイルごとの Unix タイムスタンプ) → 連結データ → 20 バイト SHA-1 |
| バージョンマーカー | オプションの «Vers» プロパティヘッダーエントリ(名前は null、パッキング方法 0x56657273)がプレフィックスと製品メタデータを保持 |
| 暗号化バリアント | .ebo - 保護された公式ゲームコンテンツのために Bohemia が使用する暗号化 PBO |
| サポートされているエンジン | Real Virtuality (Operation Flashpoint, Arma, Arma 2, Arma 3); DayZ (Enfusion エンジン) |
| 一般的なファイルサイズ | 数キロバイト(単純なミッション)から数ギガバイト(大規模なアドオンバンク)まで |
| エントリ数制限 | 仕様上の厳密な制限はありません。大規模なアドオン PBO には通常、数千のファイルが含まれます |
| サポートされているプラットフォーム | Windows(メイン)、Linux(専用サーバーおよび armake 経由) |
| 一般的な内部ファイル | .sqf スクリプト、.sqm ミッションファイル、.p3d モデル、.paa テクスチャ、config.cpp 設定、.rvmat マテリアル |
| マジックバイト / 識別 | 普遍的なマジックナンバーはありません。バージョンバリアントは null 名のエントリで始まり、バイトオフセット 4 に «Vers» (0x56 0x65 0x72 0x73) が続きます |
| 実行時の動作 | エンジンは起動時に解凍することなく .pbo を直接読み込みます。ファイルはアーカイブ内の仮想パスによってアクセスされます |
| リリース日 | 2001 (Operation Flashpoint: Cold War Crisis) |
| 最新バージョン | PBO format as used by the Real Virtuality / Enfusion engines through Arma 3 and DayZ |
| 仕様書 | community.bistudio.com |
PBO の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PBO ファイルについて最初の質問をしてみましょう。