Windows 部署 Moonlight + Sunshine 内网串流完整教程
Moonlight 配合 Sunshine 是目前体验最佳、延迟最低的开源局域网/公网串流方案,完美替代了已经被 NVIDIA 弃用的 GameStream 功能。本教程将指导你在 Windows 环境下完成内网串流的部署。
📋 准备工作
在开始之前,请确保你具备以下条件:
-
被控端(被控主机/Host):一台运行 Windows 10/11 的电脑(建议配备独立显卡以获得最佳硬件编码性能)。
-
控制端(接收端/Client):任意安装了 Moonlight 的设备(支持 Windows、macOS、Linux、Android、iOS、Apple TV 等)。
-
网络环境:双方设备处于同一局域网下。强烈建议被控主机使用千兆有线网线连接路由器,控制端使用 5GHz 或 Wi-Fi 6 网络,以保证低延迟和高画质。
🛠️ 第一步:在被控主机安装并配置 Sunshine (被控端)
Sunshine 是运行在你的游戏电脑上的服务端软件,负责捕获画面、编码并发送给客户端。
-
下载 Sunshine:
-
找到最新的 Release 版本,下载对应的 Windows 安装包(通常名为
sunshine-windows-installer.exe)。
-
安装 Sunshine:
-
双击运行安装包,按照默认提示无脑点击“下一步”完成安装。
-
安装完成后,Sunshine 通常会自动在后台运行。
-
-
初始化设置 (Web UI):
-
在游戏主机的浏览器中输入:
https://localhost:47990并回车。 -
注意: 浏览器可能会提示“您的连接不是私密连接”或“存在安全风险”。这是因为使用了本地自签发证书,请点击高级 -> 继续访问。
-
首次打开页面时,系统会要求你设置一个用户名和密码。请务必记住这组账号密码,以后进入后台设置都需要用到。
-
设置完成后,页面会自动刷新,使用刚才设置的账号密码登录 Sunshine 后台。
-
-
校园环境针对性设置
⚠️ ⚠️ ⚠️ :-
经测试本校封禁20000以上的端口,所有导致moonlight默认的47990等端口无法使用
-
在被控端的
https://localhost:47990配置界面修改端口号,然后对应的端口族都会自动变,请记住图中所示的端口信息以及协议 -
由于学校不同ap下有隔离(未知),所以需要用到一个路由器做端口转发,这里以OpenWrt系统做演示,其他路由器以及系统只需做对应操作即可,如图所示192.168.9.100为路由器下被控端地址(可以在路由器内对被控端设备dhcp做静态绑定以免ip地址变化导致连接失败)
💡 提示: 给路由器通网需要使用到Mac地址欺骗的办法,操作方法为分两种
可选工具:网卡MAC地址修改工具.exe 密码:6iss(实测此软件win10有效,win11无效)- 路由器为插电不插wan口的状态,将A设备的网口Mac地址改为路由器wan口的网口Mac,然后登录校园网后开启无感认证,之后将A设备的的Mac恢复真实Mac或者先禁用网络适配器,然后插上路由器wan口稍等几秒即可通网(经测试,在路由器先通网A设备后通网且mac一致的情况下路由器会保持网络连接且A设备能正常使用,但是长久来看还是不用使用同Mac)
- 路由器为插电不插wan口的状态,将路由器设备wan口Mac改为A设备网口Mac,然后A设备登录校园网后开启无感认证后禁用网络适配器,插上路由器wan口稍等几秒即可通网
-
📱 第二步:在接收端安装 Moonlight (控制端)
Moonlight 是客户端软件,负责接收画面并将你的手柄/键鼠操作发送回游戏主机。
-
下载 Moonlight:
-
前往 Moonlight 官网 或各大应用商店(如 App Store, Google Play)。
-
根据你的接收端设备系统,下载并安装对应的客户端。
-
-
搜索主机:
-
确保接收端和游戏主机连接在同一个路由器或局域网的网络下。
-
打开 Moonlight 客户端(这里演示为手机端,其他同理),它通常会自动扫描局域网内可用的串流主机,但是只会自动扫描默认的
47990端口,如果我们进行了自定义操作则需要手动添加你的设备例10.x.x.x:5777。 -
如果你看到一个带有锁图标的电脑(你的游戏主机名称),说明扫描成功。
💡 提示: 如果没有自动扫描到,可以点击 Moonlight 界面右上角的
+号,手动输入被控主机的局域网 IPv4 地址(在被控主机上打开 CMD,输入ipconfig查看)。 -
🔗 第三步:配对与连接
-
发起配对:
-
在 Moonlight 客户端中,点击扫描到的那台电脑图标。
-
此时,Moonlight 屏幕上会弹出一个 4位数的 PIN 码。
-
-
在 Sunshine 中输入 PIN 码:
-
回到游戏主机,打开浏览器进入 Sunshine 的 Web 后台 (
https://localhost:xxxx)。 -
点击顶部导航栏的 PIN 选项卡。
-
输入 Moonlight 上显示的 4 位 PIN 码,按回车或点击确认。
-
-
配对成功:
-
配对成功后,Moonlight 上的电脑图标上的锁会消失。
-
点击该电脑,你就能看到默认配置的串流选项(如
Desktop桌面,或Steam Big Picture模式)。 -
点击
Desktop,你现在应该已经能在控制端看到游戏主机的桌面,并可以滑动屏幕/使用鼠标控制了!
-
第四步:进阶设置 (优化)
- Moonlight 客户端画质与延迟优化
在 Moonlight 的设置(齿轮图标)中,建议根据网络情况进行调整:
-
分辨率与帧率:手机/平板建议
1080P 60FPS,大屏电视建议4K 60FPS(需网络良好)。 -
视频码率 (Bitrate):
-
1080P 建议设置在
20 - 30 Mbps。 -
4K 建议设置在
50 - 80 Mbps。 -
如果画面卡顿或出现马赛克,请降低码率;如果网络极佳且追求画质,可以适当调高。
-
-
视频解码器:建议勾选“自动选择”或强制开启“HEVC (H.265)”,以获得更低的带宽占用。
其他方案(未测试⚠️ )
虚拟局域网神器(Tailscale 或 ZeroTier)
这是目前串流玩家用得最多的方案。它们能在你的“宿舍电脑”和“教学楼电脑”之间,强制打通一条基于 WireGuard 协议的 P2P 专属加密隧道。
原理: 软件会在两台电脑上各生成一个虚拟网卡和一个固定的虚拟 IP(比如 100.x.x.x)。只要两台电脑都联网,它们就会互相寻找对方并尝试 UDP 打洞穿透。一旦穿透成功,就是完全无视路由器的 P2P 直连,延迟极低。
具体操作步骤(以 Tailscale 为例):
-
注册与安装:去 Tailscale 官网注册个账号。在宿舍电脑和教学楼电脑上,分别下载并安装 Tailscale 客户端。
-
登录:两边都用同一个账号登录。
-
获取虚拟 IP:打开 Tailscale 的面板,你会看到两台电脑都在列表里,并且各自拥有一个
100.开头的 IP 地址。 -
Moonlight 连接:在宿舍电脑打开 Moonlight,点击右上角添加电脑,直接输入教学楼电脑那个
100.开头的 Tailscale IP。 -
搞定! 只要穿透成功,画面瞬间出来,根本不需要管 TP-LINK 路由器里设置了什么,也不需要管校园网怎么拦截端口。
注意:即便用这个方案,教学楼电脑的 Windows 防火墙依然需要放行 Sunshine 程序(或者临时关掉防火墙)。
❓ 常见问题排查
-
路由器掉网封禁5分钟提示被多设备共享网络
- 这里推荐使用OpenWrt路由器系统并刷入ua3f固件包拦截路由器设备下的ua字头UA3F 与 Clash 从零开始的部署教程,拦截效果如图所示
- 这里推荐使用OpenWrt路由器系统并刷入ua3f固件包拦截路由器设备下的ua字头UA3F 与 Clash 从零开始的部署教程,拦截效果如图所示
-
Moonlight 连不上 / 找不到主机?
-
检查防火墙:确保 Windows Defender 防火墙允许 Sunshine 通过。你可以尝试临时关闭防火墙测试是否是此原因。
-
确认网络:检查两台设备是否在同一个局域网的同一网段下。
-
-
串流没有声音?
- 检查 Sunshine Web UI 的
Configuration -> Audio设置,确保选择的是正确的音频输出设备(Virtual Audio Sink)。
- 检查 Sunshine Web UI 的
-
画面发灰 / 颜色泛白?
- 如果你开启了 HDR 但客户端屏幕不支持,画面会发灰。请在 Windows 设置中关闭 HDR,或在 Moonlight 中关闭 HDR 串流请求。****



