Sunshine 游戏串流服务器教程:从安装到 Moonlight 配对的完整指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
🌅 想象这样一个画面:游戏装在书房那台 PC 上,你人却窝在客厅的 4K 电视前——一根长 HDMI 线和固定坐姿不再是问题。这就是 Sunshine 要解决的事:一个免费开源的自托管串流主机,它把 PC 的画面与输入实时编码后推给 Moonlight 客户端,让你在电视、手机、平板上直接玩主机端的游戏。同样的机制还覆盖外出场景(手机连回家里 WiFi 就能接续游戏进度)和临时远程访问——所有画面只走你自己的网络,不经过任何第三方云。读完本文,你会完成 Sunshine 的完整搭建:装包、配凭证、加应用、配对客户端,并在卡顿时知道该先动哪个旋钮。
一分钟原理:画面是怎么到你电视上的
Sunshine 和 Moonlight 是一对搭档,分工非常明确:
- Sunshine(主机端):跑在你那台游戏 PC 上。它负责捕获桌面/游戏画面,调用显卡硬件编码器(NVIDIA 的 NVENC、AMD 的 AMF、Intel 的 QuickSync,也有 VAAPI、Vulkan 和软件编码 x264 兜底)把画面压成视频流,同时把客户端发来的键鼠/手柄输入注回主机。
- Moonlight(客户端端):跑在电视、手机、树莓派或另一台电脑上,负责拉取并解码这条流,再把你的操作回传。
数据流就是一条"私有串流通道":主机画面 → 硬件编码 → 你的网络 → Moonlight 解码 → 屏幕。默认端口占用 47984–47990 这一小段(其中 47990 是 Web 管理界面的 HTTPS 端口),UPnP 默认开启,Sunshine 会自动完成局域网内的端口映射;真正需要动手的只有外网访问——那才要自己在路由器上手动转发这段端口。
上手前自查:先确认这 4 件事
在动手之前,用这份清单过一遍你的环境,能省掉后面 80% 的弯路:
- 主机:一台 Windows / Linux / macOS 电脑。注意 macOS 目前是实验性支持,且暂不支持手柄,先有心理预期。
- 编码硬件:有 NVIDIA、AMD、Intel 独立显卡或较新核显最好,硬件编码几乎不占 CPU;什么都没有也能用软件编码,代价是 CPU 吃紧。
- 客户端:任何能装 Moonlight 的设备都行——Windows、macOS、Linux、Android、iOS、智能电视、树莓派。
- 网络:第一次验证务必让主机和客户端在同一个局域网里。外网访问是后面的进阶动作,需要路由器端口转发。
安装:选你的平台走同一条路
三个平台的安装入口不同,但目标一致——让 Sunshine 以服务/应用形式常驻。按你的系统挑分支即可。
Windows:从最新发布下载 MSI 安装包(Intel/AMD 处理器选 AMD64 版,ARM64 版仍属实验性质),运行向导装完,系统服务会随开机自启。想要完整的手柄输入能力(自适应扳机、触摸板等),可另行安装 Virtual HID Driver。
Linux:
- Debian/Ubuntu:
sudo dpkg -i sunshine-{发行版}-{版本}-{架构}.deb(或apt install对应的 .deb) - Fedora:先开源再装包,
sudo dnf copr enable lizardbyte/stable && sudo dnf install Sunshine - Arch:
pacman -S sunshine
装完后如果服务没有自启,补一条:
systemctl --user --now enable app-dev.lizardbyte.app.SunshinemacOS:按芯片架构下载 DMG(Apple Silicon 选 arm64,Intel 选 x86_64),把 Sunshine.app 拖进应用程序文件夹。首次启动时系统会索要屏幕录制与麦克风权限,两个都放行,否则后面就是黑屏加无声。
首次配对:从零到连通的 5 步
接下来是一条最短路径,走完它你就拥有了一路可用串流。
- 打开 Web 界面:浏览器访问
https://localhost:47990。证书告警是正常的——那是自签名证书,忽略即可。 - 设置管理凭证:欢迎页要求你为 Web 界面设一组用户名和密码,并勾选同意服务条款。⚠️ 凭证只展示这一次,抄下来。
- 添加第一个应用:登录后进入 Applications 页。系统内置了 Desktop 和 Steam Big Picture 两个卡片,验证链路时直接用 Desktop 就够了。要加自己的游戏就点 Add New:填名称、可执行文件路径、工作目录、启动参数,配一张 600×800 像素的图标。
- 客户端发现并配对:在电视或手机上打开 Moonlight,它会自动发现局域网里的 Sunshine(找不到就手动输 IP)。Moonlight 发起配对后,回到 Sunshine Web 界面的PIN 页读取配对码,在客户端填入,顺便给设备起个名字。
- 开流:在 Moonlight 里点选刚配对的服务器、选中 Desktop,画面就会推过来。主机端同时被注入手柄/键鼠输入,到此链路全线打通。
需要找 Moonlight 各平台客户端或配套工具时,Web 界面的Featured Apps页就是现成的下载站,按 Clients / Tools 筛选即可。
把串流调到最顺:分组看参数
调优的大部分动作发生在Moonlight 客户端侧(Sunshine 会自动跟随),这里按"影响权重从高到低"分三组讲。
第一组:带宽相关——卡顿先找这里
- 视频比特率:默认推荐 30 Mbps,可调区间 2–100 Mbps。有线局域网可以往上顶,远程访问压到 5–15 Mbps 更稳。
- 分辨率/帧率:建议从 1080p / 60fps 起步,最高可到 4K、144fps。无线环境别贪高。
- 实操经验:出现卡顿时,先降比特率、再降分辨率,这个顺序通常比反过来效果更好,因为降码率对延迟的改善更直接。
第二组:编码相关——决定画面底子
- 视频编码器:能用硬件就用硬件(NVENC / AMF / QuickSync),软件 x264 只作兼容兜底,会明显吃 CPU。
- 音频编码:默认 Opus,低延迟首选;AAC 是替代项,FLAC 无损但很吃带宽,一般不值得。
- 音频比特率:默认 128 kbps,区间 64–192 kbps。追求高音质选 192,追极致低延迟选 64。
第三组:网络相关——决定上限
- 局域网内有线 > 无线;用 iperf3 测一下链路,抖动低于 1 ms 才算好底子。
- 外网访问前确认路由器已转发 47984–47990;UPnP 只管内网映射,替代不了手动转发。
遇到问题?先对症状
把常见故障整理成问答,对号入座:
Q:Moonlight 发现不了 Sunshine?排查:两台设备是否在同一子网;主机防火墙是否拦了发现广播。 处理:确认同局域网;放行 47984–47990 端口;仍不行就在 Moonlight 里用 IP 手动添加服务器。
Q:忘记 Web 界面的用户名或密码了?原因:凭证只在首次设置时展示一次,之后不可查看。 处理:不用重装,直接重置——sunshine --creds 新用户名 新密码。
Q:延迟高、画面卡顿?排查:比特率是否给太高;无线链路是否丢包。 处理:按"先降比特率、再降分辨率"的顺序压参数;条件允许就改有线。
Q:手柄在游戏里无反应?原因:主机上的物理手柄抢占了"第一个输入设备"的位置,虚拟手柄反而被忽略。 处理:禁用主机物理手柄,让 Sunshine 的虚拟手柄成为首个设备;Windows 上若装了 Virtual HID Driver,确保其已正确注册。
Q:应用刚启动,串流就断了?原因:被拉起的应用自身瞬间退出(典型如 Steam 以普通进程方式启动后把控制权交给已有实例)。 处理:换用 detached 方式启动,或确认可执行文件路径与参数是否真的能独立运行。
Q:黑屏,日志一路报错?排查:采集后端没启用或缺少系统授权(macOS 的屏幕录制/麦克风权限尤其常见)。 处理:进 Web 界面的 Troubleshooting 页逐条看日志,确认采集方式与权限状态。
继续深入
仓库内的文档比本文详细得多,按需取用:
- docs/getting_started.md:各平台安装细节与首用流程
- docs/configuration.md:全部配置项说明,含 upnp、采集后端等
- docs/performance_tuning.md:性能调优专题
- docs/troubleshooting.md:故障排查大全
- docs/guides.md:社区教程与指南索引
收尾
回顾一下最短路径:装包 → 设凭证 → 加一个应用 → 配对客户端。局域网里走通这四步,你就有了一路稳定串流;剩下的调参,交给网络条件慢慢磨就行。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考