SjslTechに感謝します。この実際のビルドを記録し共有してくれました。彼の完全な動画ガイドは、ZimaBoard 2、Sunshine、Tailscale、Moonlight、R36Sハンドヘルドが携帯可能なPCゲームストリーミングセットアップとして連携する様子を示しています。この記事はそのビルドを明確なシステム概要に再構成し、ネットワーク条件、ヘッドレスサーバーの詳細、再現前に理解すべき制限事項を追加しています。
協力の明示:この記事はSjslTechとの協力で作成され、彼の動画で示されたセットアップとテストに基づいています。動画説明には彼のZimaBoard 2リンクがアフィリエイトリンクとして記載され、クーポンコードSjslTechも含まれています。ストリーミング結果はゲーム、ホスト構成、ハンドヘルドのファームウェア、ネットワーク経路によって異なります。
簡単な答え:R36SはWindowsゲーム自体を実行しません。ホストがゲームを実行・レンダリングし、Sunshineが映像をエンコードし、Tailscaleがネットワーク間のプライベート経路を提供し、Moonlightがハンドヘルドで映像を表示しつつコントローラー入力をホストに送ります。
ビルドの概要
SjslTechのビルドの有用なアイデアは作業の分離です。予算重視のハンドヘルドはPCゲームをローカルで実行するためのハードウェアやOSを持たないかもしれませんが、ストリーミングクライアントとしては機能します。重い処理はWindowsホストに任せ、R36Sはビデオデコード、ネットワーク、入力処理を担当します。
動画ではサーバーがWindows 11で設定されていますが、SjslTechはこの手順がWindows 10にも適用可能であると述べています。コンパクトなホストはZimaBoard 2シングルボードサーバーです。完全なデータ経路は以下の通りです:
ZimaBoard 2上のPCゲーム → Sunshine → Tailscaleネットワーク経路 → R36S上のMoonlight → コントローラー入力がホストに返される
| コンポーネント | ビルドにおける役割 | できないこと |
|---|---|---|
| ZimaBoard 2 / Windowsホスト | PCゲーム、Sunshine、Tailscaleを実行します。 | ゲームをスムーズに実行・エンコードできなければ、スムーズにストリーミングできません。 |
| Sunshine | ホストのディスプレイをキャプチャし、セッションをエンコードしてMoonlightクライアントに配信します。 | このビルドで使用されているプライベートなクロスネットワーク経路は提供しません。 |
| Tailscale | ホストとハンドヘルドを異なる物理ネットワークにあっても同じプライベートテイルネット上に配置します。 | ゲームストリーミングやビデオエンコードのレイヤーではありません。 |
| R36SのMoonlight | ホストを検出または接続し、ストリームをデコードして表示し、コントローラー入力を返します。 | 携帯端末でWindowsゲームをローカルで実行させるわけではありません。 |
| R36S Tailscaleマネージャー | 対応するR36SソフトウェアセットアップにTailscaleをインストールおよび管理する携帯端末向けの方法を提供します。 | すべてのクローン、ディスプレイパネル、カスタムファームウェアイメージとの互換性を保証するものではありません。 |

なぜMoonlightゲームストリーミングにTailscaleを追加するのか?
MoonlightとSunshineはホストとクライアントが同じローカルネットワーク上にある場合に自然に動作します。問題は携帯端末が自宅を離れたときに始まります。ホストは一つのルーターの背後にあり、R36Sは別のルーターの背後にあり、ストリーミングサービスを直接パブリックインターネットに公開すると設定の手間と不必要なリスクが生じます。
Tailscaleは接続レイヤーを担当します。両デバイスは同じ暗号化されたプライベートネットワークに参加し、ローカルIPアドレスが変わっても有効なIDを受け取ります。このワークフローでは、Moonlightはパブリックポートフォワーディングに頼らず、Tailscaleのアドレスまたは名前を通じてホストに接続します。
これはすべてのリモートセッションで同じ遅延が発生することを意味しません。Tailscaleは直接のピアツーピア経路を確立しようとします。直接経路が不可能な場合、トラフィックはリレーを使用することがあり、通常は遅延が増加し利用可能なスループットが減少します。経路、ホストのアップロード接続、携帯端末の現在のネットワークがすべて影響します。
開始前に必要なもの
- 対象のゲームを実行し、同時にストリームをエンコードできるWindows 10またはWindows 11のホスト。
- ホストにSunshineがインストールされ、R36SにMoonlightが利用可能であること。
- 両端末にTailscaleがインストールされ、同じtailnetにサインインしていること。
- 携帯端末のハードウェアに内蔵Wi-Fiがない場合、対応するネットワークアダプター。
- 安定したネットワーク接続;ホストにはイーサネット接続が強く推奨されます。
- 初期設定とリカバリーのためのホストへのローカルアクセス。
リモートアクセスを追加する前に、ホストでゲームが正しく起動することを確認してください。SjslTechはサーバーノートのセクションで重要なポイントを述べています:ホストがすでにゲームの実行に苦労している場合、リアルタイムのキャプチャとエンコードを追加してもその制限は解決しません。

SjslTechがストリーミングパスを構築する方法
17分のビデオは合理的な依存関係の順序に従っています。まずSunshineが設定され、次にTailscaleがサーバーと携帯端末に追加され、両方のデバイスがプライベートネットワークに表示された後にMoonlightのペアリングが行われます。
- 2:35 — WindowsでSunshineサーバーをセットアップする。
- 7:12 — ホストにTailscaleを追加する。
- 8:24 — R36SにTailscaleを追加する。
- 11:57 — Tailscaleダッシュボードで両方のデバイスを確認する。
- 12:22 — Moonlightクライアントをサーバーとペアリングする。
- 14:45 — ヘッドレスで動作するようにホストを準備する。
- 15:21 — 携帯端末でゲームストリーミングをテストする。
1. WindowsホストでSunshineを設定する
公式プロジェクトサイトからSunshineをインストールし、その後ウェブインターフェースを開いて管理者資格情報を作成します。Moonlightで起動したいデスクトップやゲームを追加してください。パフォーマンスのトラブルシューティングを行う前に、アプリケーション、グラフィックドライバー、Windowsのインストールを最新の状態に保ってください。
可能な限り、まずローカルネットワークでSunshineとMoonlightをテストしてください。ローカルでの成功したテストは、ストリーミング設定とリモートネットワーク設定を分離します。ローカルセッションで既に黒画面、コントローラーの問題、または深刻なスタッターがある場合、Tailscaleを追加してもSunshineやホストの根本的な問題は解決しません。
2. ホストにTailscaleを追加する
WindowsにTailscaleをインストールし、サインインしてホストが管理ダッシュボードでオンラインであることを確認します。Tailscaleのデバイス名とプライベートアドレスを記録してください。アクセス制御を適用し、意図したデバイスやユーザーのみがホストにアクセスできるようにします。プライベートネットワークはメンバーシップと権限が限定されている場合に最も有用です。
3. R36SにTailscaleを追加する
SjslTechはオープンソースのR36S Tailscale Managerをクライアント側の管理に使用しています。すべてのR36Sクローンやカスタムファームウェアイメージが同じ動作をするとは限らないため、リポジトリの最新のインストールおよび互換性の注意事項に従ってください。
認証後、R36SとWindowsホストの両方が同じtailnetでオンラインとして表示されていることを確認します。このダッシュボードの確認は単なる管理作業以上のもので、Moonlightのペアリング開始前に接続レイヤーを確認するものです。
4. MoonlightをTailscaleホストアドレスとペアリングする
Moonlightでは、ホストをそのTailscaleアドレスまたは解決可能なtailnet名で追加します。MoonlightはペアリングPINを表示するはずです。そのPINをホスト上のSunshineで承認してください。ペアリングが完了したら、デスクトップまたは設定済みのゲームを選択してセッションを開始します。
ホストがローカルでは表示されるがリモートでは表示されない場合、すぐにすべてのコンポーネントを再インストールしないでください。まず、両方のデバイスがTailscaleでオンラインであるか、アクセス制御が接続を許可しているか、WindowsファイアウォールがSunshineを許可しているか、ホストが起動しているかを確認してください。

ZimaBoard 2ホストのヘッドレス運用
コンパクトサーバーは、毎回のセッションでモニター、キーボード、マウスを接続する必要がないときに最も便利です。SjslTechはガイドの終わり近くでヘッドレス操作を扱っていますが、信頼できるヘッドレス設定は単にディスプレイを抜くだけでは不十分です。
- SunshineとTailscaleをWindows起動時に開始するよう設定してください。
- ホストがリモートで復旧できないスリープ状態に入らないようにしてください。
- モニターが切断された後もSunshineがアクティブなディスプレイをキャプチャできることを確認してください。
- Windowsがディスプレイコンテキストを削除する場合は、適切なダミーディスプレイアダプターかテスト済みの仮想ディスプレイソリューションを使用してください。
- ローカルアクセスや別に保護されたリモート管理方法など、回復経路を計画してください。
- 自動起動を簡単にするためだけにWindowsのサインインセキュリティを弱めないでください。
外出先で頼る前に、起動からストリーム開始までの全シーケンスをテストしてください:ホストを再起動し、モニターなしで放置し、テイルネットに戻ることを確認し、Moonlightから接続します。
ゲームストリーミングテストが実際に示すこと
15:21でSjslTechは設定からR36Sのゲームプレイテストに移ります。重要な結果は機能的なもので、携帯機がTailscale経路を通じてホストに到達し、MoonlightがSunshineのストリームを受信し、コントローラー入力がリモートのWindowsセッションに届くことです。
これは貴重な実際の証拠ですが、普遍的なベンチマークとして読むべきではありません。このビデオは、すべてのネットワークとホストの負荷に対して保証された遅延、ビットレート、フレームレート、ゲーム互換性の結果を示すものではありません。
| ビルドで実証済み | 依然として環境に依存します |
|---|---|
| SunshineはR36S上のMoonlightにWindowsセッションを配信できます。 | 特定のゲームがホスト上でスムーズに動作するかどうか。 |
| Tailscaleは別のネットワークからホストにアクセス可能にします。 | 接続が直接か中継か、そしてそれに伴う遅延。 |
| R36Sはインタラクティブなストリーミングクライアントとして機能します。 | Wi-Fiアダプターの品質、ファームウェアのサポート、デコーダーの挙動、コントローラーのマッピング。 |
| コンパクトなホストはヘッドレス使用に対応可能です。 | 再起動やモニターの取り外し後の画面キャプチャの挙動。 |
推測せずにストリームを調整する方法
すべてのR36Sとリモート接続に対して「最適な」Moonlightプリセットは存在しません。遅延を引き起こしやすい経路から始めて、一度に一つの変数を調整しましょう。
- ホスト接続を安定させましょう。可能な場合はイーサネットを使用し、アップロードが帯域幅を競合しないようにバックグラウンドのアップロードを停止してください。
- Tailscaleのルートを確認してください。その接続タイプのドキュメントは、直接経路と中継経路について説明しています。インタラクティブなストリーミングには通常、直接経路が望ましいです。
- 携帯端末の有効な表示解像度に近い値から始めてください。クライアントが表示できる以上のピクセルを送信すると、帯域幅とエンコード時間を消費し、見た目の結果は改善されません。
- 他の設定を変える前にビットレートを下げてください。ブロック状の表示、停止、大きな遅延スパイクが消えた場合、ネットワーク経路が過負荷だった可能性があります。
- 次にフレームレートと解像度を別々にテストしてください。テストごとに設定を1つずつ変えることで、改善の原因が明確になります。
| 症状 | まず確認すること |
|---|---|
| Moonlightにホストが表示されない | 両方のデバイスが同じtailnetにオンラインで、ホストアドレスが正しく、ファイアウォールとアクセスルールが接続を許可している。 |
| 映像が一時停止したりブロック状になる | ホストのアップロード帯域幅、クライアントの信号品質、ルートタイプ、ストリームのビットレート。 |
| 入力が遅延していると感じる | ネットワーク遅延、中継の使用、ホストのフレームレート、エンコード負荷、クライアントのデコード負荷。 |
| モニターを外した後に画面が真っ黒になる | Windowsのディスプレイの利用可能性とSunshineの選択されたキャプチャデバイス。 |
| ボタンやスティックのマッピングが間違っている | Moonlight、ファームウェア、PortMaster、ゲーム固有のコントローラーマッピング;これはTailscale接続とは別です。 |
リモートゲームストリーミングのセキュリティ注意事項
この設計の魅力は、Sunshineを意図的にパブリックインターネットサービスとして公開する必要がないことです。Sunshineのインターフェースは強力な認証情報で保護し、Windowsと3つのネットワークアプリケーションを常に最新に保ち、tailnetのメンバーシップを確認し、必要なデバイスへのアクセスを制限してください。認証リンクや再利用可能なキーをスクリーンショットや公開トラブルシューティング投稿で共有しないでください。
Tailscaleはこのワークフローでのパブリックポートフォワーディングの必要性を減らしますが、基本的なエンドポイントセキュリティの代わりにはなりません。Windowsアカウント、Sunshineの認証情報、または認可されたtailnetにアクセスできる人は、ゲームライブラリ以上のものにアクセスできる可能性があります。
このセットアップが向いている人
この構成は、すでにR36Sを所有していて、Windowsのゲームストリーミングを試したいと考えている工作好きの方に適しています。デスクに周辺機器を並べずにコンパクトなホストを常時利用可能にしたい方に特に魅力的です。軽めのPCゲームに特に向いており、携帯端末は端末であってGPUの代替ではないことを理解しているユーザーに適しています。
対象ゲームがすでにホストの限界を押し上げている場合、リモート接続の遅延が不安定な場合、またはユーザーが調整なしで競技レベルのクラウドゲームの応答性を期待する場合にはあまり適していません。高性能なAAAストリーミングが主な目的なら、ネットワークスタックがボトルネックであると仮定するのではなく、まずホストのローカルゲームとエンコード性能を検証してください。
最終的な結論
SjslTechの構成が魅力的なのは、各ツールが明確な役割を持っているからです。ZimaBoard 2はWindowsホストを提供し、Sunshineはストリームを提供し、Tailscaleはネットワーク間のプライベート接続を提供し、MoonlightはR36Sをリモート画面とコントローラーに変えます。
最も確実な再現方法は段階的に行うことです:ホスト上でゲームを安定させ、ローカルでSunshineを検証し、両デバイスを同じtailnetに接続し、Moonlightをペアリングし、その後にリモートパフォーマンスとヘッドレス起動を最適化します。この順序により、一見複雑なリモートゲームプロジェクトをテスト可能なステップの連続に変えられます。
よくある質問
R36SはPCゲームをローカルで実行しますか?
いいえ。Windowsホストがゲームを実行しレンダリングします。R36Sは圧縮された映像ストリームを受信し、Moonlightを通じてコントローラー入力を返送します。
両方のデバイスが自宅にある場合、Tailscaleは必要ですか?
必ずしもそうではありません。SunshineとMoonlightは同じローカルネットワーク上でも動作します。Tailscaleはホストと携帯端末が異なるネットワークにある場合や、一貫したプライベートアドレスを使いたい場合に有用です。
Tailscaleは低遅延ストリーミングを保証しますか?
いいえ。直接経路を作成できますが、一部のネットワーク構成ではリレーが必要です。物理的距離、ルーティング、混雑、ホストのアップロード帯域幅、クライアントの接続性が応答性に影響します。
ZimaBoard 2はハイエンドゲーミングPCの代わりになりますか?
それはゲームやパフォーマンス目標によります。ストリーミングはホストの計算負荷をなくすわけではありません。ホストはゲームを実行しつつ同時に映像をエンコードする必要があります。この構成はコンパクトなストリーミングホストの実例として扱い、すべてのPCタイトルに対する性能保証とは見なさないでください。
ホストはモニターなしで動作できますか?
はい、ヘッドレス動作がテストされた後に必要です。Sunshineは依然として使用可能なWindowsのディスプレイコンテキストを必要とし、ホストは起動後も起きていてネットワークに接続され、必要なサービスを開始できる状態でなければなりません。
ルーターでSunshineのポートを転送する必要がありますか?
ここで示されたプライベートなTailscale経路には適していません。両端点はtailnetを通じて接続されているため、代替設計を完全に理解し安全にしない限り、Sunshineを直接パブリックインターネットに公開するのは避けてください。
Zimaキャンペーンハブ
もっと読む

RAIDとは何で、どのように機能するのですか?
RAID 0、1、5、6、10をカバーした初心者向けRAIDガイド。使用可能容量、リビルド、NASドライブの選び方、バックアップの制限についても解説。

IkeaのKallaxを10インチラックのホームラボに変えて、ZimaCube 2を使いました
ラックマウント型のホームラボは魅力的に聞こえますが、リビングルームに企業用ジェットエンジンのような騒音が侵入するのは避けたいものです。10インチミニラックのムーブメントはその解決策です。コンパクトなハードウェアとカスタム3Dプリントを使い、イケアのKallaxキューブ1つに完全に収まる、静かで高性能なホームラボの作り方を詳しく解説します。

14000枚の写真をデータ損失ゼロでZimaCube 2に移行する方法 — Immich移行ガイド
ImmichライブラリとPostgreSQLデータベースをシームレスに移行しましょう。データ損失ゼロでZimaCube 2にアップグレードするための正確な2.5GbE LAN転送ワークフローをご紹介します。

