Sunshine 游戏串流服务器新手部署终极指南:如何自建 Moonlight 主机并一次跑通
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
你一定遇到过这种场景:主力机显卡火力全开,却只能窝在书房那张椅子上玩;出差带个轻薄本,想开一局大作却被性能劝退。Sunshine 游戏串流服务器就是为解决这个问题而生的自托管主机——它把任意一台电脑变成私人"云游戏服务器",配合开源客户端 Moonlight,就能在客厅电视、办公笔记本甚至掌机上,以接近本地的体验运行你整机里的游戏库。全程无需任何第三方中转,数据与授权都归你自己。
先看清 Sunshine 是什么:自建 Moonlight 串流主机能干啥
在动手装之前,先花 30 秒搞清楚它到底在做什么,这样后面每个配置项你都能理解"为什么这么填"。
一句话原理:Sunshine 作为主机端,把电脑的画面实时采集、用显卡硬件编码成视频流推给 Moonlight 客户端;Moonlight 作为接收端,把画面解码显示出来,并把键鼠、手柄输入反向传回主机。整条链路走的是你自己的网络,不经过任何云服务。
它对你的具体价值:
- 低延迟串流:调用 AMD / Intel / NVIDIA 显卡做硬件编码(也保留纯软件编码兜底),延迟远低于普通远程桌面方案
- 全平台客户端:Moonlight 覆盖 Windows、macOS、Linux、Android、iOS、电视及掌机
- Web 管理界面:浏览器里完成配置修改、应用管理、设备配对,不用手撸配置文件
- 手柄模拟:把客户端控制器虚拟成 Xbox、PS、Switch 手柄注入主机
- HDR 串流:Windows 端官方支持,Linux 端实验性支持
硬件与平台怎么选
选型直接决定你后面能开多大的画质。按这个表对号入座:
| 你的显卡 / 系统 | 推荐编码器 | 说明 |
|---|---|---|
| NVIDIA(Win / Linux) | NVENC | 体验最稳,HDR 支持好 |
| AMD(Windows) | AMF | 需显卡驱动支持 |
| AMD / Intel(Linux) | VAAPI | Linux 下 Intel、AMD 通用 |
| Intel(Windows) | QuickSync | 核显即可 |
| Apple(macOS) | VideoToolbox | 实验阶段,不支持手柄模拟 |
| 任何(兜底) | Software | 纯 CPU 编码,延迟与画质会打折扣 |
提前说一句:有独立显卡优先走硬件编码;没有独显也能靠 Software 编码跑起来,只是延迟和画质会明显打折。下面这张图汇总了各平台的能力边界,装之前扫一眼能少走弯路(源码见 README.md):
部署前最容易翻车的 4 个坑(先看再动手)
新手 90% 的"装好了却用不了"都栽在下面这几处,先记住,后面照做就不会踩。
坑一:Web UI 凭据只显示一次。首次访问管理页时设置的用户名/密码只在当时展示这一次,关掉就不再见。务必当场抄下来。忘了也别慌,主机终端执行sunshine --creds 新用户名 新密码就能重置。
坑二:Linux 下键鼠/手柄没反应,多半是权限问题。把运行 Sunshine 的用户加入input组,然后注销重新登录才生效(安装过程会自动创建该组并配置/dev/uinput权限,详见 docs/getting_started.md)。
坑三:编码器选错 = 编码失败或 CPU 满载。encoder必须和你的显卡对上(NVIDIA→nvenc、AMD→amf、Intel→qsv、Linux 的 Intel/AMD→vaapi)。选错要么直接报编码失败,要么回落到 CPU 硬吃满载。
坑四:AppImage 不支持 KMS 采集。官方明确提示:有发行版专用包就别用 AppImage,因为AppImage 不支持 KMS 采集,而 KMS 正是 Linux 下 HDR 串流绕不开的硬性采集后端。换句话说,选 AppImage 就主动放弃了 Linux HDR。
三种安装路径横向对比,选最省心的一条
同样是"装 Sunshine",不同路径的省心程度、功能完整度差别不小。先看这张对比表,再决定走哪条:
| 安装方式 | 适用人群 | 优点 | 代价 / 限制 |
|---|---|---|---|
| 官方发行版包(.deb / .rpm / pacman / pkg) | 绝大多数人 | 依赖、权限都替你好处理完,功能最完整 | 需要对应系统的现成包 |
| 官方安装器(Windows MSI / Homebrew) | 追求零配置 | 双击/一条命令,最省心 | 可选组件要按需勾选 |
| AppImage / Flatpak(Linux 通用包) | 没有对应发行版包时 | 跨发行版通用 | 不支持 KMS 采集,HDR 受限 |
| 源码构建(CMake 工具链) | 想跑最新特性/打补丁 | 完全可定制 | 需完整编译工具链、耗时长,普通用户没必要折腾 |
结论:有对应发行版包就走发行版包,没有再退到通用包,源码构建只留给折腾党。
分平台一键落地 Sunshine 安装命令
按你的系统对号入座,每条命令后我都说明了它做了什么。
Windows:官方安装器最省心
到发布页下载对应架构的 MSI 安装包(AMD64 选Sunshine-Windows-AMD64-installer.msi,ARM 设备选 ARM64 版本),双击按向导安装即可。
- 注意:安装器里的可选组件不少,别图省事一路全勾,按需勾选就好。
- 装完建议重启一次电脑,之后系统托盘会常驻 Sunshine 图标。
- 想要完整手柄体验,还需另装Virtual HID Driver,把客户端手柄虚拟成主机可识别的控制器。
Linux:发行版优先,源码构建兜底
Ubuntu / Debian 下载对应.deb后执行,命令会自动解析并安装依赖:
sudo dpkg -i ./sunshine-ubuntu-24.04-amd64.debFedora 系先启用官方 COPR 仓库再装,包管理会自动拉齐依赖:
sudo dnf copr enable lizardbyte/stable sudo dnf install SunshineArch 系更简单,直接一条命令:
pacman -S sunshine偏爱源码构建的话,克隆仓库后一键编译即可,脚本负责检查依赖、执行 CMake 配置、编译并打包:
git clone https://gitcode.com/GitHub_Trending/su/Sunshine cd Sunshine ./scripts/linux_build.sh再次提醒:源码构建需要完整编译工具链且耗时较长,普通用户没必要折腾,选发行版包就够。
macOS:Homebrew 一条命令
brew tap把 LizardByte 的 Homebrew 仓库加进本地源,install随后拉取并安装:
brew tap LizardByte/homebrew brew install sunshine也可以直接下载 DMG 镜像,把Sunshine.app拖进 Applications。诚实提醒:macOS 版目前处于实验阶段,手柄模拟尚不支持。如果你主力机是 Windows,优先用 Windows 方案,体验更完整。
首次配置 Sunshine Web 界面:凭据、UPnP、编码器一次配好
装好后打开浏览器访问https://localhost:47990,会进入欢迎页,要求你设置 Web 界面的用户名和密码——这套凭据只展示这一次,务必当场记下。浏览器若弹"证书不安全"的警告,别慌,这是 Sunshine 默认使用自签名证书导致的,忽略即可(介意可在配置里换成自己的证书)。
开启 UPnP 自动端口转发
进入 Configuration 页面,顶部搜索框输入Upnp(所有配置项都支持这种快速检索),勾选后保存。它的作用是让 Sunshine 自动在路由器上完成端口转发,省去手动配置的麻烦,是公网串流的先决条件。如果你的路由器不支持 UPnP,就得手动转发以47989起始的端口族(Web 管理走47990,具体以配置页实时显示的端口为准)。
选对编码器与码率
追求低延迟,重点盯两个配置项(完整字段含义见 docs/configuration.md):
encoder:按显卡选(对照前面那张选型表)。选错会编码失败或 CPU 满载,这是最常见的翻车点。max_bitrate:局域网内可以放心调高到 50–100 Mbps,它是画质上限的关键;网络不稳时再往下压。
Linux 用户想上 HDR,采集后端必须选KMS——这是绕不开的硬性要求,通用包(AppImage/Flatpak)因不支持 KMS 而无法达到。
添加串流应用并完成 Moonlight 客户端配对
配好主机端,就差把"你想串流的东西"和客户端接上。
切到Applications页,默认已有 Desktop 和 Steam Big Picture 两个应用,点Add New可以添加任意程序,填上名称和可执行文件路径即可。
这里有个坑提前预警:应用列表只在客户端重启后刷新,改完配置记得在 Moonlight 里重进一次,不然看不到新应用。
客户端 PIN 码配对流程
在 Moonlight 里手动添加主机 IP,客户端会弹出一串 PIN 码;回到 Sunshine 的 Web UI,点顶栏的PIN,输入这串数字、给设备起个名字,回车看到Success提示就配对成功了。之后的每次串流都会基于这套信任关系做校验,安全性不用操心。
验证串流成功 + 用日志页快速排错
验证部署是否成功,最简单的方式:在 Moonlight 里选中Desktop应用。主机桌面实时出现在客户端屏幕上、键鼠可正常操作,就算大功告成。
万一遇到黑屏、卡顿,别急着瞎猜。进 Web UI 的Troubleshooting页看日志,错误码、显卡型号、内存占用都列得明明白白,比盲目重试高效得多(排错思路参考 docs/troubleshooting.md)。
进阶玩法与高频故障 FAQ
跑通第一局之后,可以慢慢解锁这些进阶玩法:
- HDR 串流:主机和客户端都开启 HDR 后再串流,Windows 端体验最好
- 快捷键:
Ctrl+Alt+Shift+N显示/隐藏鼠标,Ctrl+Alt+Shift+F1~F12切换采集的显示器 - 远程机房:通过 SSH 在无显示器环境下启动 Sunshine(X11 场景),配合 HDMI 诱骗器即可搭无人值守的串流服务器
- 客户端生态:Featured Apps 页汇总了各平台的 Moonlight 客户端和实用工具,按设备挑一个装好即用
高频故障 FAQ
Q1:忘了 Web UI 的用户名/密码怎么办?主机终端执行sunshine --creds 新用户名 新密码即可重置(AppImage 用户换成./sunshine.AppImage --creds ...)。
Q2:串流连上了,但键鼠/手柄没反应?Linux / FreeBSD 大多是权限问题:把运行 Sunshine 的用户加入input组并注销重登。Windows 则检查 Virtual HID Driver 是否已安装。
Q3:浏览器提示网站不安全?自签名证书的正常现象,忽略即可;介意的话可在配置里替换成自己的证书。
Q4:画面卡顿、频繁丢包?先确认客户端连的是有线或 5GHz Wi-Fi,再适当调低max_bitrate,最后去 Troubleshooting 页看有没有编码报错,据此判断是网络问题还是编码器选型问题。
Q5:打不开 Web UI?检查防火墙是否放行47990端口,并确认 Sunshine 进程确实在运行。
到这儿,你的自托管游戏串流服务器已经跑起来了。想深挖每个配置项的含义,继续翻阅 配置参考;踩坑优先看 疑难排查;部署细节以 快速上手 为准。项目社区相当活跃,官方 Discord 和讨论区沉淀了大量现成经验,卡壳时搜一搜,大概率能直接命中同款问题。
现在就去装一个 Moonlight 客户端,把第一局游戏串到你想玩的任何一块屏幕上去吧。🎮
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考