リモートクライアントとしての利用
これは Android 版の第2の利用形態です:スマートフォンを純粋なコントローラーとして使用します。ゲーム自体は自宅の PC やサーバー上で動作し続け、スマートフォンはペアリング認証情報を介してそのインスタンスへ遠隔接続します。
リモートクライアントモードでは以下の処理は発生しません:
- 端末内への Linux Runtime のダウンロードおよび起動
- Shizuku や Root 権限の要求
- 端末側のデプロイ設定や自動起動設定の変更
ローカル実行とリモートクライアントの比較
| 項目 | ローカル実行モード | リモートクライアントモード |
|---|---|---|
| Runtime | 必須 | 不要 |
| ゲームクライアント | スマートフォン本体で動作 | リモートの対象マシンで動作 |
| 権限アクティベート | 必須(ADB / Root) | 不要 |
| 設定データの所在 | 端末ローカルの Runtime | 接続先リモートマシンの設定 |
| 通信切断時の影響 | 本機のタスクはそのまま継続 | スマートフォンの操作が切断(遠隔側のタスクは継続) |
スマートフォンが切断されても遠隔タスクは停止しません
スマートフォンは操作端末にすぎません。アプリを閉じたり、通信が途切れたり、アプリをアンインストールした場合でも、自宅 PC 側のインスタンスは自身のスケジュールに従って自律周回を継続します。
事前準備(接続先マシンでの操作)
自宅 PC やサーバー等の接続先マシン上で:
- WebUI を開く → 設定 → リモートアクセス。
cloudflareモードを選択し、WebUI のアクセスパスワードを設定した上で、リモートアクセスを有効化して再起動します。- ステータスが「準備完了」(Tunnel が確立された状態)になるのを待ちます。
- 「ペアリング」をクリックし、6桁の確認コードと QR コードを表示させます。
パスワード未設定では Tunnel を起動できません
セキュリティ保護のため、強固な WebUI パスワードが設定されていない場合、システムは Quick Tunnel の起動を拒否します。事前にパスワードを設定してください。
ペアリング手順
アプリのウェルカム画面、ホーム画面、またはデプロイ画面から「リモート AP に接続」をタップします。端末側に Runtime をインストールしておく必要はありません。
- QR コードスキャン:
azurpilot://pair?secret=<secret>形式のコードをカメラで読み取ります。 - 手動入力:画面に表示された6桁の確認コード(先頭のゼロを保持)を入力します。
どちらの方法も1回限りのペアリングトークンを消費します。一方が成功した後は同じコードを再利用できません。
クライアントは Android Keystore の AES-GCM 暗号化を用いて固定接続先と認証トークンをセキュアに保存します。認証情報はログファイルには記録されません。
クライアントは固定接続先 URL を解決し、WSS(セキュア WebSocket)経由で auth.login を実行します。認証が正常に完了した時点でネイティブ UI に操作権限が付与されます。
ペアリングコードの有効期限は5分間です。期限切れとなった場合は接続先マシン側でコードを再生成してください。
操作と機能
接続が完了すると、ローカル実行時とまったく同一のネイティブ UI で遠隔インスタンスを操作できます:
- 操作対象インスタンスの切り替え
- ダッシュボード概要および現在タスクの確認
- タスク設定の直接編集(遠隔インスタンスの設定ファイルへ書き込まれます)
- リアルタイムログおよび統計レポートの閲覧
画面構成はローカルモードと共通であり、データ取得先のみが切り替わります。接続先を切り替える際は、編集中の未保存設定が安全に保存されるのを待機してから旧セッションを切断しキャッシュをクリアします。
ペアリングの解除とクライアントの削除
| 操作 | 実行場所 | 効果 |
|---|---|---|
| 特定クライアントの認可取消 | 接続先マシン → リモートアクセス → 認可済み端末一覧 | 当該クライアントからの次回通信(15秒ごとのハートビート含む)で即時失効 |
| スマートフォン側での削除 | アプリ内の「接続を削除」 | 端末内の接続情報のみを消去(サーバー側の認可は維持されたまま) |
スマホ側で「削除」しただけでは完全な解約になりません
接続先サーバーには当該クライアントの認証トークンが残存しています。完全に接続を遮断したい場合は、必ず接続先マシンの WebUI 側から該当デバイスの認可を取り消してください。
個別クライアントの認可を取り消しても、WebUI のマスターパスワードは変更されず、他のペアリング済み端末の通信にも影響しません。
切断時の原因と対策
| 現象 | 主な原因 | 対処方法 |
|---|---|---|
固定接続先が /error に 302 リダイレクト | マシンがオフライン、リース切れ、Tunnel の切断 | 接続先マシンでリモートアクセスの稼働状態を確認 |
| 接続中のまま画面が進まない | ネットワーク経路で WebSocket 通信が遮断されている | 通信環境を変更。ポート 7844 の疎通を確認 |
UNAUTHORIZED エラー | ペアリング認可がホスト側で取り消された | 再度ペアリングを実施 |
| 接続後すぐに切断される | ハートビートのタイムアウト | 接続先マシンの CPU 負荷および回線速度を確認 |
| アプリをバックグラウンドに回すと切断 | OS によるバックグラウンド通信の制限 | アプリのバックグラウンド通信を許可するか、フォアグラウンドに戻して再接続 |
Quick Tunnel は60秒ごとに自動更新され、異常終了時は180秒後にサーバー側リースが失効します。接続先マシンが再起動した際は新しい *.trycloudflare.com アドレスが割り当てられますが、固定エントリ URL(<registry>/d/<device_id>/)は不変です。
ローカルモードとリモートモードの切り替え
- リモートへ切り替え:端末内の Runtime は停止されませんが、UI の操作対象は遠隔インスタンスへ切り替わります。
- ローカルへ切り替え:元のローカル接続アドレス(127.0.0.1:25548)に復帰し、本機インスタンスの購読を再開します。
- 端末側の PRoot、フローティングウィンドウ、デバイス制御パイプラインは遠隔接続の影響を受けません。
セキュリティ上の推奨事項
- 接続先マシンの WebUI には強力なパスワードを設定し、ゲームアカウントのパスワードと共通化しないでください。
- 使用しなくなった端末のペアリング認可はホスト側から速やかに取り消してください。
- ペアリング用の QR コードは認証トークンそのものです。スクリーンショット等を外部へ共有しないでください。
- Quick Tunnel は一時的な利用に適しています。常時外部公開を行う場合は Cloudflare Tunnel の固定設定等のセキュリティリスクを評価してください。
- スマートフォンを紛失した場合は、接続先マシンの WebUI から該当端末の認可を取り消すだけで安全に対処できます(マスターパスワードの変更は不要です)。