自宅PCをゲームストリーミングサーバーに!Moonlight対応ソフト「Sunshine」の導入・使い方ガイド

ソフトウェア

はじめに

PCでプレイしているゲームを、スマートフォンやタブレット、リビングの別PCなどからリモートプレイしたいと思ったことはないでしょうか。

そんな用途に便利なのが、ゲームストリーミングクライアントの「Moonlight」と、今回紹介するホスト(配信)ソフトの「Sunshine」です。

Moonlightは、ゲームを実行しているPCの映像や音声を別の端末で受信し、遠隔操作するためのクライアントソフトです。一方、SunshineはMoonlightからの接続を受け付け、ゲーム画面や音声の配信、コントローラーの操作情報を中継するサーバーとして動作します。

Sunshineは自分のPCに構築できるセルフホスト型のオープンソースソフトウェアで、NVIDIA・AMD・Intelの各GPUによるハードウェアエンコードに対応しています。また、ハードウェアエンコードを利用できない環境向けにソフトウェアエンコードも用意されています。

以前紹介したMoonlightの記事でもSunshineに少し触れましたが、今回はホスト側のソフトウェアである「Sunshine」に焦点を当て、特徴や導入方法、初期設定について詳しく解説します。

この記事で解説する内容

  • Sunshineの特徴とMoonlightとの違い
  • 対応OSやシステム要件・エンコード機能
  • Sunshineのダウンロードとインストール手順
  • Web UIを使った初期設定とゲームの登録方法
  • Moonlightとのペアリング手順
  • 快適に遊ぶための設定と導入時の注意点

自宅のゲーミングPCをゲームストリーミングサーバーとして活用したい方は、ぜひ参考にしてください。


Sunshineの特徴

Sunshineは、PC上で低遅延なゲームストリーミング環境を構築するためのオープンソースソフトウェアです。主な特徴を5つ紹介します。

1. Moonlightと連携できるセルフホスト型サーバー

Sunshineの最大の特徴は、Moonlight専用のゲームストリーミングホストとして動作することです。

Moonlightはあくまで受信側のクライアントソフトであり、実際にゲームを動かしているPC側には、映像・音声の配信や入力操作を処理するホスト側のソフトウェアが必要になります。それぞれの役割は以下のとおりです。

ソフトウェア役割
Sunshine(ホスト側)PC側でゲームを実行し、映像・音声を圧縮して配信する
Moonlight(クライアント側)別の端末から接続し、映像・音声を受信してゲームを遠隔操作する

この2つを組み合わせることで、以下のようなプレイスタイルが実現できます。

  • ゲーミングPCで実行している高負荷なゲームを、ベッドの上でスマートフォンからプレイする
  • 書斎のデスクトップPCのゲームを、外出先や別室のノートPCから操作する
  • タブレットをポータブルゲーム機のように利用する
  • リビングのテレビに接続した端末(Apple TVやAndroid TVなど)からPCゲームを大画面でプレイする

Sunshineは自分のPCにインストールして利用するため、クラウドゲーミングサービスのような月額利用料はかかりません。ただし、配信元となるPCのスペックや安定したネットワーク環境は自分で用意する必要があります。

2. AMD・Intel・NVIDIAのハードウェアエンコードに対応

ゲームストリーミングでは、PCの画面をリアルタイムで動画として圧縮し、ネットワーク経由で別の端末に送信します。この圧縮処理を「エンコード」と呼びます。

もともとMoonlightはNVIDIA製のGPU機能(GameStream)向けに作られましたが、Sunshineを利用することで、メーカーを問わず主要なGPUのハードウェアエンコードを利用できるようになります。

GPUメーカー主な対応ハードウェアエンコード方式
NVIDIANVENC
AMDAMF、VAAPI
IntelQuick Sync Video(QSV)、VAAPI
AppleVideoToolbox

※対応する方式はOSやGPUの世代、ドライバーによって異なります。

ハードウェアエンコードを利用すると、専用の回路を持つGPUに動画の圧縮処理を任せられるため、CPUへの負荷やゲームのフレームレート低下を抑えながら高画質な画面を配信できます。なお、ハードウェアエンコードが利用できない環境向けに、CPUで処理するソフトウェアエンコードにも対応しています。

3. 低遅延のゲームストリーミング

リモートプレイでは、映像が届くまでの時間だけでなく、コントローラーのボタンを押してからゲーム側に反映されるまでの「入力遅延(ラグ)」の少なさが非常に重要です。特にアクションゲームやシューティング、格闘ゲームなどでは、遅延が大きいとまともにプレイできません。

Sunshineは、画面キャプチャやエンコード処理を最適化することで、ネイティブ環境に近い低遅延でのゲームストリーミングを実現しています。ただし、実際の遅延はホストPCの性能やネットワーク環境、配信解像度、フレームレートなどの設定によって変化します。

4. 多様なコントローラー入力(仮想ゲームパッド)に対応

Sunshineは、Moonlightを動かしている端末に接続されたコントローラーの入力を受け取り、ホストPC側で「仮想ゲームパッド」として認識させる機能を備えています。

公式ドキュメントでは、以下のコントローラー形式がサポートされています。

  • Xbox 360 / Xbox One / Xbox Series X|S
  • PlayStation 4(DualShock 4) / PlayStation 5(DualSense)
  • Nintendo Switch Proコントローラー
  • Generic HID(一般的なUSB/Bluetoothゲームパッド)

ホスト側のOS(WindowsやLinuxなど)によって対応状況が異なり、特にWindows環境では仮想ゲームパッドを認識させるためのドライバーが別途必要です。

現在のWindows向け環境では、Xbox 360やDualShock 4をエミュレートする無料の「ViGEmBus」や、より新しい機能に対応するオプションの「Virtual HID Driver」などが利用されます。なお、Virtual HID Driverは有料ライセンスが必要であり、ViGEmBusはすでに開発が終了(アーカイブ化)していますが、現在でも定番のドライバーとして広く使われています。

5. Web UIから各種設定を直感的に管理できる

Sunshineには、Webブラウザーからアクセスできる管理画面(Web UI)が用意されています。Web UIからは主に以下の操作が可能です。

  • Sunshineの基本設定(言語変更など)
  • 配信するゲームやアプリケーションの登録
  • Moonlightクライアントとのペアリング(PIN認証)
  • エンコード方式やネットワークの詳細設定
  • トラブルシューティング用のログやエラー情報の確認

コマンドラインで複雑な設定ファイルを編集しなくても、ブラウザー上から直感的に管理できるため、初心者にも扱いやすい設計となっています。


Sunshineの対応環境・システム要件

Sunshineを導入する前に、自宅のPCや端末が要件を満たしているか確認しておきましょう。

対応OS

Sunshineは、Windows、Linux、macOS、FreeBSDのマルチプラットフォームに対応しています。公式READMEに掲載されているサポート対象のOSバージョンは以下のとおりです。

OS公式README記載のバージョン
WindowsWindows 11以降(※Windows 10でも動作実績あり)
Linux(Ubuntu)Ubuntu 22.04以降
Linux(Debian)Debian 13以降
Linux(Fedora)Fedora 43以降
macOSmacOS 14.2以降
FreeBSDFreeBSD 15.1以降

※ディストリビューションやパッケージによって利用条件が異なる場合があります。

PCの最低システム要件

公式に記載されているホストPCの最低システム要件の目安は以下のとおりです。

項目公式記載の最低要件
CPUAMD Ryzen 3以上 / Intel Core i3以上
メモリ4GB以上
GPUAMD VCE 1.0以上、Intel Quick Sync対応、NVIDIA NVENC対応GPUなど
ネットワーク5GHz帯 Wi-Fi(IEEE 802.11ac)以上

※公式READMEではシステム要件の表は作成途中とされており、上記はあくまでストリーミング機能を動かすための最低基準です。実際にはプレイしたいPCゲームの推奨スペックを満たす必要があります。

また、4K解像度での高画質配信を想定する場合は、より高性能なGPUと有線LANの利用が推奨されています(ホスト・クライアント双方にCAT5e以上の有線LAN環境が推奨)。

Moonlight(クライアント側)の対応端末

Sunshineからの配信を受け取る「Moonlight」は、非常に幅広いプラットフォーム向けに無料で提供されています。

  • PC:Windows、macOS、Linux、ChromeOS
  • モバイル:Android、iOS、iPadOS
  • テレビ・ストリーミング端末:Apple TV、Android TV、Fire TV、Chromebook
  • ゲーム機・その他:Xbox One / Series X|S、PlayStation Vita、Nintendo Switch(要CFW)、Raspberry Pi など

手持ちのスマートフォンやタブレット、リビングのテレビなどを手軽にゲーム用モニターとして活用できます。各プラットフォーム向けのアプリは、Moonlight公式サイトからダウンロードできます。


Sunshineのダウンロード・インストール方法

ここからは、利用者の多いWindows環境を例に、Sunshineの導入手順と初期設定を解説します。

1. Sunshineのインストールと初期設定

  1. GitHubのSunshine公式リリースページにアクセスし、最新のWindows向けインストーラー(Sunshine-Windows-AMD64-installer.msi)をダウンロードします。
  2. .msi を実行してSunshineをインストールします。
  3. インストール完了後、Sunshineを起動すると自動的にWebブラウザーが立ち上がり、管理画面(https://localhost:47990)へアクセスします。
  4. ブラウザーに「この接続ではプライバシーが保護されません」といったセキュリティ警告が表示されますが、自分のPC内部(localhost)への安全なアクセスであるため、「詳細設定」を開き「localhostにアクセスする(安全ではありません)」をクリックします。
  5. 初回ログイン画面が開くので、任意の「Username(ユーザー名)」と「Password(パスワード)」を設定し、「Login」をクリックします。

    注意: この認証情報は、今後Sunshineの管理画面にログインする際に毎回必要になります。忘れないように必ずメモしておきましょう。
  6. ログイン後、管理画面を日本語化します。上部メニューの [Configuration] > [General] タブを開き、「Locale」のプルダウンを「日本語(Japanese)」に変更して、画面下部の [Save] をクリックします。
  7. 設定を反映させるため、[Apply]をクリックしてSunshineを再起動すると、メニューが日本語表示に切り替わります。

2. 仮想ゲームパッドドライバー(ViGEmBus)のインストール

クライアント端末(スマホや別PCなど)に接続したコントローラーのボタン操作をホストPC側のゲームに伝えるには、仮想ゲームパッドドライバーの導入が必要です。

※Sunshineのインストーラー実行時にコンポーネント選択画面で「ViGEmBus」にチェックを入れていた場合は自動で入りますが、入っていない場合は以下の手順で手動インストールしてください。

  1. GitHubのViGEmBusリリースページから、最新のインストーラー(ViGEmBus_Setup_x64.exe など)をダウンロードしてインストールします。
  2. インストール完了後、ドライバーを確実に認識させるため、PCを一度再起動してください。

3. 配信するゲームやアプリケーションを登録する

続いて、Moonlight側から起動したいゲームやランチャーを登録します。

Web UIの上部メニューから「Applications(アプリケーション)」を開きます。初期状態では「Desktop(デスクトップ画面の共有)」と「Steam Big Picture」が登録されています。

追加で以下のようなソフトウェアを自由に登録できます。

  • Epic Games Launcher や Xbox アプリなどの各種ゲームランチャー
  • 個別のPCゲーム(.exe ファイル)
  • 各種エミュレーター
  • その他のWindowsアプリケーション

個別のゲームを登録する場合は、「Add New(新規追加)」からアプリケーション名を入力し、ゲームの実行ファイル(.exe)のパス(Command)や作業ディレクトリ(Working Directory)を指定して保存します。

※まずは初期登録されている「Desktop」や「Steam」で動作を確認し、慣れてきたらよく遊ぶゲームを個別登録するのがおすすめです。

4. 必要に応じて各種設定(Configuration)を変更する

Web UIの「Configuration(設定)」からは、環境に合わせて細かい動作を調整できます。主な設定タブは以下のとおりです。

設定タブ内容
General(全般)表示言語(Locale)、サーバー名、システムトレイの表示などの基本設定
Input(入力)コントローラーの種類、マウス・キーボードの入力エミュレート設定
Audio/Video(音声・映像)音声出力先、ディスプレイ番号、解像度やフレームレートのリスト設定
Network(ネットワーク)ポート番号、UPnP、Web UIへのアクセス許可範囲(LAN/WAN)の設定
Config Files / Advanced(詳細)ハードウェアエンコーダーの指定や、詳細なチューニング設定

最初からすべての設定を変更する必要はありません。まずは標準設定のままMoonlightとの接続を確認し、映像のカクつきや音声トラブルがあった場合に調整するとよいでしょう。


MoonlightとSunshineをペアリングする方法

Sunshine側の準備ができたら、ゲームをプレイする端末(クライアント)から接続します。ここでは、同じ自宅のWi-Fi(LAN)内にあるPCとスマートフォンを接続する手順を例に説明します。

1. クライアント端末でMoonlightを起動する

  1. ゲームをプレイする端末(スマホや別PCなど)に、Moonlight公式サイトまたは各アプリストアから「Moonlight」をインストールして起動します。
  2. 同じネットワーク内にあれば、Sunshineが動作しているホストPCが自動的に検出され、画面にPCアイコンが表示されます。 ※自動検出されない場合は、画面上の「+」ボタンからホストPCのローカルIPアドレス(例:192.168.1.xx)を手動で入力して追加してください。

2. PINコードを確認する

Moonlightの画面に表示されたホストPCのアイコンをタップ(クリック)すると、画面上に4桁のPINコードが表示されます。この画面を開いたまま、ホストPCの操作に移ります。

3. Sunshine側でPINコードを入力する

  1. ホストPCでSunshineのWeb UIを開き、上部メニューの「PIN」をクリックします。
  2. 入力欄に、先ほどMoonlight側に表示された4桁のPINコードと、接続する端末の名前(例:My-Smartphone など分かりやすい名前)を入力して「Send(送信)」をクリックします。
  3. 認証が正常に完了すると、成功メッセージが表示されます。

4. Moonlightからゲームを起動する

ペアリングが完了したら、再びクライアント端末のMoonlight画面に戻ります。

PCアイコンをタップすると、Sunshine側で登録した「Desktop」や「Steam」、個別登録したゲームの一覧が表示されます。プレイしたいアイコンを選択するとストリーミングが開始され、手元の端末からPCゲームを遊べるようになります。


Sunshineを快適に利用するための設定・注意点

Sunshineは標準設定でも十分に動作しますが、利用環境に合わせて以下のポイントを押さえることで、より快適かつ安全にゲームストリーミングを楽しめます。

1. ネットワーク環境を整える(5GHz帯Wi-Fi・有線LANの活用)

ゲームストリーミングでは、通信速度(帯域幅)だけでなく、通信の安定性と遅延(Ping値)の低さが最も重要です。

Wi-Fiを利用する場合は、電波干渉に弱く速度が出にくい2.4GHz帯ではなく、必ず5GHz帯(IEEE 802.11ac / Wi-Fi 5以上)に接続してください。おすすめの接続構成は以下のとおりです。

接続構成特徴・おすすめ度
ホスト:有線LAN / クライアント:有線LAN【最も快適】 遅延やパケットロスが最小限に抑えられ、4K配信でも安定する
ホスト:有線LAN / クライアント:5GHz Wi-Fi【スマホ・タブレットに最適】 手軽さと安定性を両立できる定番の構成
ホスト:5GHz Wi-Fi / クライアント:5GHz Wi-Fi配線を減らせるが、無線通信が2回発生するため電波状況によっては遅延が増えやすい

特にホストPC側は、可能な限りルーターと有線LANケーブルで接続することを強くおすすめします。

2. ハードウェアエンコードが有効か確認する

配信中にホストPCのCPU使用率が異常に高くなったり、映像の遅延が大きかったりする場合は、GPUによるハードウェアエンコードがうまく機能していない可能性があります。

Web UIの [設定] > [高度な設定] > [特定のエンコーダーを強制する] を確認し、自動検出または自分の環境に合ったエンコーダー(NVIDIAならNVENC、AMDならAMF、IntelならQuickSync)が選択されているかチェックしてみてください。

3. ビットレートを通信環境に合わせて調整する

映像の美しさと通信データ量を左右するのが「ビットレート」です。

ビットレートは基本的にクライアント側のMoonlightアプリの設定画面(例:1080p / 60fps / 20Mbps など)から変更します。Sunshine側には、最大ビットレートを制限する max_bitrate という設定項目がありますが、標準値は 0(上限なし=Moonlight側の要求値に従う)になっています。

数値を高くすれば高画質になりますが、ネットワークの許容量を超えると映像の乱れ、音飛び、激しいカクつきの原因になります。まずはMoonlight側で10〜20Mbps程度から試し、通信が安定していれば少しずつ引き上げるとよいでしょう。

4. 外出先(インターネット経由)から利用する場合のセキュリティ注意点

自宅のLAN内ではなく、外出先からインターネット経由で自宅PCのSunshineに接続したい場合は、ネットワーク設定とセキュリティに十分な注意が必要です。

SunshineにはUPnPによるポート開放機能が備わっていますが、ルーターのポートを直接インターネットに向けて開放することはセキュリティ上のリスクが伴います。特に、Sunshineの管理画面(Web UI)を外部から誰でもアクセスできる状態にすることは絶対に避けてください(標準設定ではWeb UIへのアクセスはLAN内のみに制限されています)。

外出先から安全にリモートプレイを楽しみたい場合は、ポート開放を行うのではなく、「Tailscale」や「ZeroTier」、あるいは自宅ルーターのVPNサーバー機能などを利用して、仮想的なLAN環境(VPN)を構築して接続する方法を強く推奨します。VPNを使えば、自宅にいるときとほぼ同じ手順で安全に接続できます。


トラブルが発生した場合の確認事項(FAQ)

導入時やプレイ中にうまく動作しない場合は、以下のチェックリストを確認してみてください。

症状主な原因と確認する項目
Web UIにアクセスできない・Sunshineが起動しているか(タスクトレイにアイコンがあるか)
・URL(https://localhost:47990)の「https」やポート番号が正しいか
MoonlightにPCが表示されない・ホストPCとクライアント端末が同じネットワーク(同一ルーター・同一サブネット)に接続されているか
・WindowsファイアウォールでSunshineの通信がブロックされていないか
・手動でホストPCのIPアドレスを入力して検出されるか
PIN認証に失敗する・Moonlightに表示された4桁の数字を、時間切れになる前に正しく入力しているか
ゲームが一覧に表示されない・Web UIの「Applications」に正しく登録され、保存(Save)されているか
映像がカクつく・遅延がひどい・Wi-Fiが2.4GHz帯になっていないか(5GHz帯または有線LANに変更する)
・Moonlight側のビットレートや解像度設定を下げて改善するか
・ハードウェアエンコードが正常に動作しているか
コントローラーが反応しない・ホストPCに「ViGEmBus」がインストールされ、PCを再起動したか
・Linux環境の場合、実行ユーザーが input グループに所属しているか

また、SunshineのWeb UIには「Troubleshooting(トラブルシューティング)」ページが用意されており、リアルタイムで警告やエラーのログ(Logs)を確認できます。原因が分からない問題が発生した場合は、ログのエラーメッセージを確認すると解決の手掛かりになります。


おわりに

今回は、Moonlight用のセルフホスト型ゲームストリーミングサーバー「Sunshine」の特徴や導入方法、初期設定について解説しました。

Sunshineを導入すれば、NVIDIA・AMD・Intelの幅広いGPU環境を活かして、自分のPCを高性能なゲーム配信サーバーとして活用できます。Web UIから直感的にゲームの登録やペアリングが行えるほか、WindowsだけでなくLinuxやmacOSにも対応している点も大きな魅力です。

クライアントアプリの「Moonlight」と組み合わせることで、自宅のゲーミングPCのゲームをスマートフォンやタブレット、リビングのテレビやノートPCなど、好きな場所・好きな端末から快適に遊べるようになります。

PCゲームをデスクの前だけでなく、ベッドやソファ、別室でも自由に楽しみたい方は、ぜひSunshineとMoonlightを導入してみてください。

コメント