Infinite Flight スタッフ向け SkyYoke 概要
Infinite Flight のスタッフ・レビュアー向けの SkyYoke 技術概要。Connect API v2 の使い方、読み取りと送信の内容、安全設計、プライバシー。
このページは、Infinite Flight のチーム、モデレーター、レビュアーの方に向けて SkyYoke をまとめたものです。
SkyYoke とは#
SkyYoke は、Infinite Flight の外部コントローラーとして動作する独立した iPhone アプリです。Infinite Flight LLC とは提携しておらず、承認も受けていません。使用するのは、Infinite Flight がサードパーティ製コントローラー向けに提供している公開の Infinite Flight Connect API v2 だけで、シミュレーターの改変、コードの注入、メモリの読み取りは一切行いません。

接続方法#
| ステップ | 詳細 |
|---|---|
| 検出 | Infinite Flight がポート 15000 で送る UDP ブロードキャストを受信します(Enable Infinite Flight Connect がオンのときに送信) |
| 接続 | ポート 10112 で端末に TCP 接続します(Connect API v2) |
| 代替手段 | ユーザーが端末の IP アドレスを手動で入力できます |
| 範囲 | ローカルネットワークのみ。SkyYoke のサーバーを経由するものはありません |
読み取る内容#
ライブの API マニフェストから機体ごとにパスで解決した状態値です。位置、姿勢、速度、高度、垂直速度、オートパイロットのターゲットとモード、形態(ギア、フラップ、スポイラー、ブレーキ)、エンジン、システムとライト、フライトプラン、周辺のトラフィック、風と気温、ATC メッセージ。操縦に直結する値は最大 30 Hz、表示用のデータは 10 Hz でサンプリングします。
送信する内容#
| 種類 | 方法 |
|---|---|
| 操縦操作 | Infinite Flight の仮想ジョイスティックの軸(ロール、ピッチ、スロットル、ヨー)とボタン(逆推力、カメラハット)。ユーザーが Settings → Controllers で割り当てます |
| 個別の操作 | ギア、フラップ、スポイラー、パーキングブレーキ、ライト、Auto Start などの名前付き API コマンド |
| オートパイロット | オートパイロットのターゲットとモードの状態値(高度、垂直速度、速度、方位、LNAV、VNAV、アプローチ)への書き込み |
| ATC | ユーザーが選んだ番号付きの ATC オプションコマンド |
入力は整形したうえで 60 Hz のループから送信しますが、リンクの通信量を抑えるため、値が実際に変化したときだけ送ります。
安全設計#
- フェイルセーフのオートパイロット:接続が切れたりアプリがバックグラウンドに移ったりすると、SkyYoke は保持中の操作を解放し、オートパイロットをエンゲージします(ユーザー設定、初期値はオン)。
- 一時停止ロック:Infinite Flight が一時停止中は、ユーザーが再開するまで操作をロックします。
- 空中での逆推力防止:空中では逆推力をブロックします。
- ギア保護:地上ではギアを上げられません。
- 速度制限:オプションの違反防止システムが、Airbus と Boeing の機体を 10,000 ft 以下で 250 kt 未満に保ちます。
- マルチプレイヤーのマナー:アプリは、Infinite Flight の ATC の指示を最優先するようパイロットに注意を促します。
プライバシー#
操作入力とフライトデータは、2 台の端末の間のローカルネットワーク内にとどまります。音声コマンドは iPhone 上で処理されます。アカウントは任意で、保存するのはメールアドレス、アカウント ID、サブスクリプションの状態だけです。アカウント、サインイン、プライバシー を参照してください。
連絡先#
開発者には、アプリの接続画面にあるリンク(Discord、ウェブサイト、メール)と ifkits.com から連絡できます。