PSO プロトコルコマンド リファレンス
このドキュメントは、PSO クライアントと newserv サーバーの間で使われるネットワークプロトコルのコマンド(オペコード)を説明します。
概要
コマンドは 1 バイトのオペコード(0x00–0xFF)で識別されます。同じコマンドでも、ゲームのバージョンによって処理が異なる場合があります。サーバーは 14 のゲームバージョンに対応しています:
| 列 | バージョン |
|---|
| 1 | PC_PATCH |
| 2 | BB_PATCH |
| 3 | DC_NTE |
| 4 | DC_112000 |
| 5 | DCV1 |
| 6 | DCV2 |
| 7 | PC_NTE |
| 8 | PC |
| 9 | GCNTE |
| 10 | GC |
| 11 | EP3TE |
| 12 | EP3 |
| 13 | XB |
| 14 | BB |
コマンドヘッダーの形式
- DC/GC/XB(PSOCommandHeaderDCV3): 4 バイト — command(1)、flag(1)、size(2)
- PC(PSOCommandHeaderPC): 4 バイト — size(2)、command(1)、flag(1)
- BB(PSOCommandHeaderBB): 8 バイト — size(2)、command(2)、flag(4)
ソースコードの命名規則
C_ 接頭辞:クライアント → サーバー(クライアントが送信)S_ 接頭辞:サーバー → クライアント(サーバーが送信)SC_ 接頭辞:双方向(どちらの方向でも使用)
パッチサーバーのコマンド(PC_PATCH / BB_PATCH のみ)
| オペコード | 方向 | 名前 | 説明 |
|---|
| 0x02 | S→C | ServerInit_Patch | パッチ接続のサーバー初期化 |
| 0x02 | C→S | (応答) | クライアントがパッチサーバーの初期化を確認 |
| 0x04 | S→C | (ログイン要求) | サーバーがユーザーのログイン情報を要求 |
| 0x04 | C→S | Login_Patch | クライアントがユーザー名・パスワード・メールアドレスを送信 |
| 0x06 | S→C | OpenFile_Patch | パッチ対象のファイルを開く |
| 0x07 | S→C | WriteFileHeader_Patch | パッチ中にファイルヘッダーを書き込む |
| 0x08 | S→C | CloseCurrentFile_Patch | パッチ中の現在のファイルを閉じる |
| 0x09 | S→C | EnterDirectory_Patch | パッチ中にディレクトリへ入る |
| 0x0C | S→C | FileChecksumRequest_Patch | クライアントにファイルのチェックサムを要求 |
| 0x0F | C→S | FileInformation_Patch | クライアントがファイルのチェックサムとサイズを返す |
| 0x10 | C→S | (全チェックサム完了) | クライアントがすべてのチェックサム要求への応答を完了 |
| 0x11 | S→C | StartFileDownloads_Patch | ファイルのダウンロードを開始 |
ログインと認証のコマンド
| オペコード | 方向 | ハンドラー | バージョン | 説明 |
|---|
| 0x02/0x17 | S→C | — | DC/PC/V3 | サーバー初期化(暗号化の設定) |
| 0x03 | S→C | — | BB | BB のサーバー初期化 |
| 0x05 | C→S | on_05_XB | XB | Xbox の切断(ゲーム終了) |
| 0x05 | C→S | on_ignored | その他 | 無視(暗号化の確認) |
| 0x88 | C→S | on_88_DCNTE | DC_NTE | DC NTE のログイン |
| 0x8B | C→S | on_8B_DCNTE | DC_NTE | DC NTE の拡張ログイン |
| 0x90 | C→S | on_90_DC | DC | DC V1 のログイン |
| 0x91 | S→C | — | DC/PC/V3 | サーバー初期化(別形式) |
| 0x92 | C→S | on_92_DC | DC | DC V1 の登録 |
| 0x93 | C→S | on_93_DC | DC | ハードウェア情報付きの DC V1 ログイン |
| 0x93 | C→S | on_93_BB | BB | BB のログイン(複数のサブ形式) |
| 0x9A | C→S | on_9A | DC/PC/V3 | V1 シリアル + V2 シリアルでログイン |
| 0x9B | S→C | — | すべて | サーバー初期化(別形式) |
| 0x9C | C→S | on_9C | DC/PC/V3/BB | 登録 |
| 0x9D | C→S | on_9D_9E | DC/PC/GC | ログイン(DC/PC/GC 形式) |
| 0x9E | C→S | on_9D_9E | PC/GC | ログイン(拡張形式) |
| 0x9E | C→S | on_9E_XB | XB | Xbox のログイン |
| 0xDB | C→S | on_DB_V3 | V3 | アカウントの確認(V3) |
ナビゲーションとメニューのコマンド
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0x07 | S→C | — | メニュー項目の一覧 |
| 0x08 | C→S | on_08_E6 | ゲーム一覧を要求 |
| 0x09 | C→S | on_09 | メニュー項目の情報を要求(クエスト・ゲーム・ロビーの詳細) |
| 0x0E | S→C | — | 旧形式のゲーム参加 |
| 0x10 | C→S | on_10 | メニューの選択(メインメニュー、ゲーム一覧、クエスト一覧など) |
| 0x1F | C→S | on_1F | インフォメーションメニューを要求 |
| 0x84 | C→S | on_84 | ロビーの選択 |
| 0xA0 | C→S | on_A0 | シップ変更(シップ選択に戻る) |
| 0xA1 | C→S | on_A1 | ブロック変更(シップ変更と同じ扱い) |
| 0xD6 | C→S | on_D6_V3 | インフォボード/ウェルカムメッセージを要求(V3) |
| 0xE6 | C→S | on_08_E6 | 観戦チーム一覧を要求(BB) |
ロビーとプレイヤーの管理
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0x61 | C→S | on_61_98 | プレイヤーデータ(キャラクターデータ)を送信 |
| 0x64 | S→C | — | ゲーム参加の通知 |
| 0x65/0x67/0x68 | S→C | — | ロビー参加の通知 |
| 0x66/0x69 | S→C | — | ロビー退出の通知 |
| 0x83 | S→C | — | ロビー一覧 |
| 0x88 | S→C | — | 矢印の更新(ロビーの矢印) |
| 0x95 | S→C | — | ギルドカード番号の設定 |
| 0x96 | C→S | on_96 | キャラクターの保存情報 |
| 0x98 | C→S | on_61_98 | ゲーム退出(プレイヤーデータを送信) |
| 0xC1 | S→C | — | ゲーム作成 |
ゲームコマンドとサブコマンド
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0x60 | C→S/S→C | on_6x_C9_CB | ゲームのサブコマンド(部屋全体に送信) |
| 0x62 | C→S/S→C | on_6x_C9_CB | ゲームのサブコマンド(特定のプレイヤーへ) |
| 0x6C | C→S/S→C | on_6x_C9_CB | 拡張ゲームサブコマンド(全体に送信) |
| 0x6D | C→S/S→C | on_6x_C9_CB | 拡張ゲームサブコマンド(特定のプレイヤーへ) |
| 0xC9 | C→S | on_6x_C9_CB / on_C9_XB | ゲームのサブコマンド(EP3/XB 版) |
| 0xCB | C→S | on_6x_C9_CB | ゲームのサブコマンド(EP3 版) |
| 0x30 | C→S | on_30 | ゲーム作成 |
チャットとコミュニケーション
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0x01 | S→C | — | クライアントにテキストメッセージを送信 |
| 0x06 | C→S | on_06 | チャットメッセージ/チャットコマンド |
| 0x11 | S→C | — | システムメッセージ(BB ではスクロール表示) |
| 0x1A | S→C | — | メッセージボックス |
| 0x40 | C→S/S→C | — | ギルドカード検索 |
| 0xB0 | S→C | — | テキストメッセージ(スクロール) |
| 0xC0 | C→S | on_C0 | シンボルチャットを全体に送信 |
| 0xC1 | C→S | on_C1_PC / on_C1_BB | ゲーム作成(PC/BB) |
| 0xC2 | C→S | on_C2 | シンボルチャット |
| 0xD8 | S→C/C→S | on_D8 | インフォボード |
クエストシステム
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0xA2 | C→S | on_A2 | クエスト一覧の要求 |
| 0xA2/0xA4 | S→C | — | クエストメニューの項目 |
| 0x44/0xA6 | S→C | — | クエストファイルを開く |
| 0x13/0xA7 | C→S | on_13_A7_V3_V4 | クエストファイル書き込みの確認 |
| 0xA9 | C→S | on_A9 | クエスト選択のキャンセル |
| 0xAA | C→S | on_AA | クエスト統計の更新 |
| 0xAB | S→C | — | クエストラベルの呼び出し |
| 0xAC | C→S | on_AC_V3_BB | クエストファイルの読み込み完了/参加可能なクエストの準備完了 |
| 0xB2 | S→C | — | コードの実行(クライアントに関数を送信) |
| 0xB3 | C→S | on_B3 | コード実行の結果(関数呼び出しの応答) |
サーバーシステムのコマンド
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0x04 | S→C | — | クライアント設定の更新 |
| 0x19 | S→C | — | 再接続(別のサーバーへリダイレクト) |
| 0x1D | C→S | on_1D | Ping の応答 |
| 0xB1 | C→S | on_B1 | サーバー時刻を要求 |
| 0xB1 | S→C | — | サーバー時刻の応答 |
| 0xDE | S→C | — | レアモンスター一覧(BB) |
| 0xEF | S→C | — | シャットダウンコマンドの設定(BB) |
BB 専用のコマンド
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0xDC | C→S | on_DC_BB | ギルドカードデータの要求 |
| 0xDC (01) | S→C | — | ギルドカードのヘッダー |
| 0xDC (02) | S→C | — | ギルドカードファイルの分割データ |
| 0xDF | C→S | on_DF_BB | チャレンジモードの設定 |
| 0xE0 | C→S | on_E0_BB | システムファイルを要求 |
| 0xE1 | S→C | — | システムファイル作成の通知 |
| 0xE2 | C→S | on_E2_BB | システムファイルの同期 |
| 0xE3 | C→S | on_E3_BB | プレイヤーのプレビュー要求/キャラクター選択 |
| 0xE4 | S→C | — | プレイヤー選択の承認/プレイヤーのプレビュー |
| 0xE5 | C→S | on_E5_BB | キャラクター作成 |
| 0xE6 | S→C | — | クライアント初期化(BB) |
| 0xE7 | C→S | on_E7_BB | セーブファイルの同期 |
| 0xE8 | C→S | on_E8_BB | ギルドカードの操作(追加・削除・コメント・並べ替え) |
| 0xEA | C→S | on_EA_BB | チームのコマンド(作成・解散・メンバーの追加や削除など) |
| 0xEB | C→S | on_EB_BB | ストリームファイルの操作(インデックス/分割データ) |
| 0xEC | C→S | on_EC_BB | キャラクター選択を抜ける |
| 0xED | C→S | on_ED_BB | 設定の更新(オプション・シンボルチャット・ショートカット・キー設定・パッド設定・テクニックメニュー・カスタマイズ・チャレンジ記録) |
BB チームのサブコマンド(0xEA)
| サブオペコード | 方向 | 説明 |
|---|
| 0x01EA | C→S | チーム作成 |
| 0x03EA | C→S | チームメンバーの追加 |
| 0x05EA | C→S | チームメンバーの削除 |
| 0x09EA | S→C | チームメンバー一覧 |
| 0x0FEA | C→S | チームフラッグの設定 |
| 0x11EA | C→S | チームメンバーの権限レベルの変更 |
| 0x12EA | S→C | チーム所属の更新 |
| 0x13EA | S→C | プレイヤーのチーム情報(ロビーの全クライアントへ) |
| 0x15EA | S→C | プレイヤーのチーム情報(単一クライアントへ) |
| 0x18EA | S→C | チーム内ランキング |
| 0x19EA | S→C | チーム報酬一覧 |
| 0x1AEA | S→C | チーム報酬一覧(購入済み) |
| 0x1CEA | S→C | チーム間ランキング |
| 0x1DEA | S→C | チーム報酬フラグの更新 |
| 0x1EEA | C→S | チーム名の変更 |
エピソード3(カードバトル)のコマンド
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0xB7 | C→S | on_B7_Ep3 | EP3 のランク/音楽の更新を要求 |
| 0xB7 | S→C | — | ランクの更新 |
| 0xB9 | S→C | — | メディアの更新(マップ、カード定義など) |
| 0xBA | C→S | on_BA_Ep3 | メセタの取引(ショップでのカード売買) |
| 0xBA | S→C | — | メセタ取引の結果 |
| 0xBB | S→C | — | トーナメント観戦チーム一覧 |
| 0xCA | C→S | on_CA_Ep3 | カードバトルサーバーのデータ(ゲームコマンド) |
| 0xCC | S→C | — | トーナメント参加の確認 |
| 0xDC | C→S | on_DC_Ep3 | トーナメント一覧を要求(EP3) |
| 0xE0 | S→C | — | トーナメント一覧 |
| 0xE1 | S→C | — | ゲーム情報 |
| 0xE2 | C→S | on_E2_Ep3 | トーナメントの操作(一覧・確認・参加・辞退) |
| 0xE2 | S→C | — | トーナメント参加者一覧 |
| 0xE3 | S→C | — | トーナメントのゲーム詳細 |
| 0xE4 | C→S | on_E4_Ep3 | カードバトルのテーブル状態の更新 |
| 0xE4 | S→C | — | カードバトルのテーブル状態 |
| 0xE5 | C→S | on_E5_Ep3 | カードバトルのテーブルの確認 |
| 0xE5 | S→C | — | カードバトルのテーブル確認への応答 |
| 0xE6 | C→S | — | 観戦チームに参加 |
| 0xE7 | C→S | — | 観戦チームを作成 |
| 0xE8 | S→C | — | 観戦チーム参加への応答 |
| 0xE9 | S→C | — | 観戦チームから退出 |
| 0xEA | S→C | — | 時間制限付きメッセージボックス |
| 0xEE | C→S | on_EE_Ep3 | カードトレードの操作 |
| 0xEE | S→C | — | カードトレードの状態進行/完了 |
| 0xEF | C→S | on_EF_Ep3 | カードオークション |
| 0xEF | S→C | — | カードオークションの開始 |
GC/Xbox 専用のコマンド
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0xD7 | C→S | on_D7_GC | GBA ゲームファイルの要求(GC) |
| 0xD0 | C→S | on_D0_V3_BB | チョイスサーチの条件の更新(V3/BB) |
| 0xD2 | C→S | on_D2_V3_BB | チョイスサーチの要求(V3/BB) |
| 0xD4 | C→S | on_D4_V3_BB | チョイスサーチの結果の選択(V3/BB) |
DC NTE 専用のコマンド
| オペコード | 方向 | ハンドラー | 説明 |
|---|
| 0x88 | C→S | on_88_DCNTE | ログイン |
| 0x8A | C→S | on_8A | 接続情報 |
| 0x8B | C→S | on_8B_DCNTE | 拡張ログイン |
| 0x8E | C→S | on_8E_DCNTE | シップ変更(0xA0 に対応) |
| 0x8F | C→S | on_8F_DCNTE | ブロック変更(0xA1 に対応) |
アイテムとショップのコマンド
| オペコード | 方向 | 説明 |
|---|
| 0x24 | S→C | シークレットくじ券の交換結果(BB) |
| 0x25 | S→C | Gallon のプランの結果(BB) |
ゲームサブコマンド リファレンス(0x60/0x62/0x6C/0x6D)
ゲームのサブコマンドは、メインプロトコルのコマンド 0x60(全体に送信)、0x62(特定のプレイヤーへ)、0x6C(拡張・全体に送信)、0x6D(拡張・特定のプレイヤーへ)の中で運ばれます。各サブコマンドには 1 バイトのサブオペコード(0x00–0xFF)があります。
サブコマンドヘッダーの形式
標準ヘッダー:4 バイト — subcommand(1)、size_in_dwords(1)、data...
拡張ヘッダー(size=0):8 バイト — subcommand(1)、0x00、extended_size(4)、data...
バージョンの対応
各サブコマンドには 3 つのオペコード列があります:
- DC NTE — ドリームキャスト Network Trial Edition
- DC 11/2000 — ドリームキャストの試作版(2000年11月)
- Final — そのほかのすべてのバージョン(DCV1、DCV2、PC、GC、EP3、XB、BB)
NONE は、そのバージョンにはそのサブコマンドが存在しないことを表します。
プレイヤーの移動と位置
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x1F | on_change_floor | フロアの変更(テレポートやパイプでの移動を含む) |
| 6x20 | on_movement_xyz_with_floor | フロア付きで位置を設定(SetPosition) |
| 6x21 | on_change_floor | フロアの変更(別形式) |
| 6x24 | on_movement_xyz | プレイヤーを XYZ 位置へテレポート |
| 6x3E | on_movement_xyz_with_floor | 位置で停止 |
| 6x3F | on_movement_xyz_with_floor | 位置の設定(別形式) |
| 6x40 | on_movement_xz | 位置まで歩く(XZ 平面) |
| 6x41 | on_movement_xz | 位置まで走る/移動する |
| 6x42 | on_movement_xz | 位置まで走る/移動する(別形式) |
| 6x55 | on_movement_xyz | マップ内ワープ |
| 6x56 | on_movement_xyz | プレイヤーの位置と向きを設定 |
| 6x94 | on_warp | 別のエリアへワープ |
プレイヤーの状態とアニメーション
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x02 | forward_subcommand_m | (基本の転送) |
| 6x03 | forward_subcommand_m | (基本の転送) |
| 6x04 | forward_subcommand_m | (基本の転送) |
| 6x05 | on_switch_state_changed | スイッチの状態が変化 |
| 6x0C | on_received_condition | 状態異常を受けた |
| 6x0E | forward (entity_id_transcode) | 状態異常を解除 |
| 6x17 | on_set_entity_pos_and_angle | エンティティの位置と向きを設定 |
| 6x23 | on_set_player_visible | プレイヤーを表示状態にする |
| 6x2F | on_change_hp | プレイヤーの HP を変更 |
| 6x30 | on_level_up | プレイヤーのレベルアップ |
| 6x4A | on_change_hp | HP の変更(別種) |
| 6x4B | on_change_hp | HP の変更(別種) |
| 6x4C | on_change_hp | HP の変更(別種) |
| 6x4D | on_player_died | プレイヤーが戦闘不能 |
| 6x4E | on_player_revivable | プレイヤーが復活可能になった |
| 6x4F | on_player_revived | プレイヤーが復活した |
| 6x52 | on_set_animation_state | アニメーションの状態を設定 |
アイテムと所持品の操作
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x25 | on_equip_item | アイテムを装備 |
| 6x26 | on_unequip_item | アイテムの装備を外す |
| 6x27 | on_use_item | アイテムを使用(消費) |
| 6x28 | on_feed_mag | マグにエサを与える |
| 6x29 | on_destroy_inventory_item | 所持品のアイテムを破棄 |
| 6x2A | on_player_drop_item | プレイヤーがアイテムを床に落とす |
| 6x2B | on_create_inventory_item | 所持品にアイテムを作成 |
| 6x59 | on_pick_up_item | アイテムを拾う(確定) |
| 6x5A | on_pick_up_item_request | アイテムを拾う要求 |
| 6x5C | on_destroy_floor_item | 床のアイテムを破棄 |
| 6x5D | on_drop_partial_stack | スタックの一部を落とす |
| 6x5E | on_buy_shop_item | ショップでアイテムを購入 |
| 6x5F | on_box_or_enemy_item_drop | 箱・エネミーからのドロップ通知 |
| 6x60 | on_entity_drop_item_request | エンティティのドロップ要求 |
| 6x63 | on_destroy_floor_item | 床のアイテムを破棄(別形式) |
| 6xA2 | on_entity_drop_item_request | エンティティのドロップ要求(別形式) |
戦闘と攻撃
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x46 | forward (entity_targets_transcode) | 攻撃完了(命中した対象) |
| 6x47 | forward (entity_targets_transcode) | テクニックを発動(命中した対象) |
| 6x48 | on_cast_technique_finished | テクニックの発動完了 |
| 6x49 | forward (entity_targets_transcode) | フォトンブラストを発動(命中した対象) |
| 6x89 | forward (entity_id_transcode) | 倒した側のエンティティ ID を設定 |
| 6x8F | forward (entity_id_transcode) | バトルのダメージスコアを加算 |
| 6x91 | on_update_attackable_col_state | 攻撃可能な当たり判定の状態を更新 |
| 6xE4 | on_incr_enemy_damage | エネミーのダメージを加算(拡張) |
ボスの行動
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x10 | forward (entity_id_transcode) | ドラゴン(ボス)の行動 |
| 6x11 | forward (entity_id_transcode) | ドラゴン(ボス)の行動(別形式) |
| 6x12 | on_dragon_actions | ドラゴンの行動(特殊) |
| 6x13 | forward (entity_id_transcode) | デ・ロル・レ(ボス)の行動 |
| 6x14 | forward (entity_id_transcode) | デ・ロル・レ(ボス)の対象付き行動 |
| 6x15 | forward (entity_id_transcode) | ボルオプト(ボス)の行動 |
| 6x16 | on_vol_opt_actions | ボルオプト(ボス)の行動(特殊) |
| 6x18 | forward (entity_id_transcode) | ボルオプト第2形態(ボス)の行動 |
| 6x19 | forward (entity_id_transcode) | ダークファルスの行動 |
| 6x84 | on_vol_opt_actions | ボルオプト(ボス)の行動(V2 以降) |
| 6x9F | forward (entity_id_transcode) | ガル・グリフォン(ボス)の行動 |
| 6xA0 | forward (entity_id_transcode) | ガル・グリフォン(ボス)の行動(別形式) |
| 6xA3 | forward (entity_id_transcode) | オルガ・フロウ(ボス)の行動 |
| 6xA4 | forward (entity_id_transcode) | オルガ・フロウ(ボス)の行動(別形式) |
| 6xA5 | forward (entity_id_transcode) | オルガ・フロウ(ボス)の行動(別形式2) |
| 6xA8 | on_gol_dragon_actions | ゴル ドラゴンの行動 |
| 6xA9 | forward (entity_id_transcode) | バルバレイ(ボス)の行動 |
| 6xAA | forward (entity_id_transcode) | バルバレイ(ボス)の行動(別形式) |
エネミーとオブジェクトの状態
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x0A | on_update_enemy_state | エネミーの状態を更新 |
| 6x0B | on_update_object_state | オブジェクトの状態を更新 |
| 6x76 | on_set_entity_set_flag | エンティティのセットフラグを設定 |
| 6x86 | on_update_object_state | 破壊可能なオブジェクトに命中 |
| 6x9C | on_set_enemy_low_game_flags_ultimate | エネミーのフラグを設定(アルティメット) |
ゲームの同期と参加
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x6B | on_sync_joining_player_compressed_state | 参加するプレイヤーの状態を同期(圧縮、プレイヤー 0) |
| 6x6C | on_sync_joining_player_compressed_state | 参加するプレイヤーの状態を同期(圧縮、プレイヤー 1) |
| 6x6D | on_sync_joining_player_compressed_state | 参加するプレイヤーの状態を同期(圧縮、プレイヤー 2) |
| 6x6E | on_sync_joining_player_compressed_state | 参加するプレイヤーの状態を同期(圧縮、プレイヤー 3) |
| 6x6F | on_sync_joining_player_quest_flags | 参加するプレイヤーのクエストフラグを同期 |
| 6x70 | on_sync_joining_player_disp_and_inventory | 参加するプレイヤーの表示データと所持品を同期 |
イベントとマップのトリガー
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x67 | on_trigger_set_event | セットイベントを発生させる |
| 6x68 | on_update_telepipe_state | テレパイプの状態を更新 |
| 6x69 | on_npc_control | NPC の制御 |
| 6x6A | on_set_boss_warp_flags | ボスワープのフラグを設定 |
| 6x75 | on_set_quest_flag | クエストフラグを設定 |
| 6x77 | on_sync_quest_register | クエストレジスタを同期 |
| 6x93 | on_activate_timed_switch | 時限スイッチを作動 |
コミュニケーション
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x06 | on_send_guild_card | ほかのプレイヤーにギルドカードを送る |
| 6x07 | on_symbol_chat | シンボルチャット |
| 6x74 | on_word_select | ワードセレクト(定型文) |
| 6xBD | on_ep3_private_word_select_bb_bank_action | EP3 のプライベートワードセレクト/BB の銀行操作 |
| 6xB2 | on_play_sound_from_player | プレイヤーから効果音を再生 |
チャレンジモードとバトルモード
| サブオペコード | ハンドラー | 説明 |
|---|
| 6x7C | on_challenge_update_records | チャレンジモードの記録を更新 |
| 6x7D | on_update_battle_data | バトルモードのデータを更新 |
| 6x7F | on_battle_scores | バトルモードのスコア |
| 6x97 | on_challenge_mode_retry_or_quit | チャレンジモードのリトライまたは終了 |
| 6xCF | on_battle_restart_bb | バトルモードの再開(BB) |
| 6xD0 | on_battle_level_up_bb | バトルモードのレベルアップ(BB) |
| 6xD1 | on_request_challenge_grave_recovery_item_bb | チャレンジのお墓からの回復アイテム(BB) |
BB 専用のサブコマンド
| サブオペコード | ハンドラー | 説明 |
|---|
| 6xB5 | on_open_shop_bb_or_ep3_battle_subs | ショップを開く(BB)/EP3 のバトル用サブコマンド |
| 6xB7 | on_buy_shop_item_bb | ショップのアイテムを購入(BB) |
| 6xB8 | on_identify_item_bb | アイテムの鑑定(テッカー) |
| 6xBA | on_accept_identify_item_bb | 鑑定したアイテムを受け取る |
| 6xBB | on_open_bank_bb_or_card_trade_counter_ep3 | 銀行を開く(BB)/カードトレードカウンター(EP3) |
| 6xC0 | on_sell_item_at_shop_bb | ショップでアイテムを売る |
| 6xC3 | on_drop_partial_stack_bb | スタックの一部を落とす |
| 6xC4 | on_sort_inventory_bb | 所持品の並べ替え |
| 6xC5 | on_medical_center_bb | メディカルセンター(回復) |
| 6xC6 | on_steal_exp_bb | 経験値を奪う(武器のエクストラアタック) |
| 6xC7 | on_charge_attack_bb | チャージ攻撃(武器のエクストラアタック) |
| 6xC8 | on_enemy_exp_request_bb | エネミーの経験値の要求 |
| 6xC9 | on_adjust_player_meseta_bb | プレイヤーのメセタを調整 |
| 6xCA | on_quest_create_item_bb | クエストでアイテムを作成 |
| 6xCB | on_transfer_item_via_mail_message_bb | メールでアイテムを送る |
| 6xCC | on_exchange_item_for_team_points_bb | アイテムをチームポイントと交換 |
| 6xD2 | on_write_quest_counter_bb | クエストカウンターの書き込み |
| 6xD5 | on_quest_exchange_item_bb | クエストでのアイテム交換 |
| 6xD6 | on_wrap_item_bb | アイテムのラッピング(プレゼント) |
| 6xD7 | on_photon_drop_exchange_for_item_bb | フォトンドロップとアイテムの交換 |
| 6xD8 | on_photon_drop_exchange_for_s_rank_special_bb | フォトンドロップと S ランク特殊能力の交換 |
| 6xD9 | on_momoka_item_exchange_bb | モモカとのアイテム交換 |
| 6xDA | on_upgrade_weapon_attribute_bb | 武器の属性を強化 |
| 6xDE | on_secret_lottery_ticket_exchange_bb | シークレットくじ券の交換 |
| 6xDF | on_photon_crystal_exchange_bb | フォトンクリスタルの交換 |
| 6xE0 | on_quest_F95E_result_bb | クエスト F95E の結果 |
| 6xE1 | on_quest_F95F_result_bb | クエスト F95F の結果 |
| 6xE2 | on_quest_F960_result_bb | クエスト F960 の結果 |
EP3 カードバトルのサブコマンド
| サブオペコード | ハンドラー | 説明 |
|---|
| 6xBC | on_ep3_trade_card_counts | EP3 のトレードカードの枚数 |
| 6xBF | on_forward_check_ep3_lobby | EP3 ロビーへの転送 |
Xbox 専用
| サブオペコード | ハンドラー | 説明 |
|---|
| 6xB3 | on_xbox_voice_chat_control | Xbox のボイスチャットの制御 |
| 6xB4 | on_xbox_voice_chat_control | Xbox のボイスチャットの制御 |
デバッグ
| サブオペコード | ハンドラー | 説明 |
|---|
| 6xFF | on_debug_info | デバッグ情報(拡張サブコマンド。パッチのデバッグに使用) |
まとめ
定義済みのサブコマンドの総数:256(0x00–0xFF)
- 有効なハンドラー(
on_invalid 以外):約 160 - 転送のみ(サーバー側の処理なし):約 60
- サーバー側で処理:約 100