Sunshine 实操指南:5 步把家里 PC 变成 Moonlight 游戏串流主机
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 游戏串流主机装在你自己的 PC 上:在主机上抓屏 → 用显卡硬件编码成视频流 → 发给局域网里的 Moonlight 客户端解码显示,键盘、鼠标、手柄的输入再原路传回主机。整条链路数据不出家门,不用注册账号、不用订阅,Windows 和 Linux 完整支持。这篇实操指南带你从安装到屏幕出画面,跟着做完就能用,全程约 20 分钟。
先盘点:3 个硬条件,缺哪个补哪个
- 🖥️系统:Windows 11+ 或主流 Linux 发行版完整支持;macOS 14.2+ 可用但属实验性(暂不支持手柄)。系统太旧就升级,或者换台机器装主机。
- 🎮显卡:NVIDIA、AMD、Intel 各有硬件编码通路;没有独显也没关系,Sunshine 自动挑第一条可用通路,最后还有 CPU 软编码兜底。
- 📶网络:客户端设备(手机、平板、电视盒子)与主机同在一个局域网,费用为零;想要 4K 流畅,主机端最好走有线或 5GHz WiFi。
让主机上线:按系统装好 Sunshine 并拉起服务
按你的系统选一条路:
- Windows:从项目 Release 页下载
Sunshine-Windows-AMD64-installer.msi安装,安装器会顺手写好防火墙规则并注册为 Windows 服务,装完即自启。 - Linux:按发行版装 deb、rpm 或 pacman 包;用 Flatpak 的用户记住下面还要补一条命令。
- macOS:打开 DMG,把
Sunshine.app拖进 Applications,首次运行按提示授予屏幕录制和键鼠权限。
装完先验证程序可用:
sunshine --help它打印版本号和全部参数列表,能看到输出就说明安装成功。
Linux 下把服务启动并设为开机自启:
systemctl --user --now enable app-dev.lizardbyte.app.Sunshine这条命令同时完成"立即启动 + 开机自启"。再确认它真的在跑:
systemctl --user status app-dev.lizardbyte.app.Sunshine走到这一步,你应该看到服务状态为active (running)。
Flatpak 用户注意:还要补跑一条命令同步宿主机的输入设备规则,否则键鼠手柄回传会异常:
flatpak run --command=additional-install.sh dev.lizardbyte.app.SunshineWindows 和 macOS 上服务随安装自启,跳过启动命令即可。
建出管理员账号:首次登录 Web UI
浏览器访问https://localhost:47990(把 localhost 换成主机局域网 IP 也行)。页面提示"不安全连接"是正常现象——它用的是自签名证书,直接点继续访问。首次进入会让你设置管理员用户名和密码,这套凭据稍后 Moonlight 配对要用,先记在可靠的地方。
走到这一步,你应该看到欢迎页登录完成,导航栏出现 PIN、Applications、Configuration 等入口。
两个卡点顺手处理掉:
- 47990 页面打不开:先确认服务在跑,再看防火墙有没有放行;Windows 上确认安装时防火墙规则已写入,仍不通就临时关防火墙验证一次,通了再回头补 47990 的放行规则。
- 密码忘了:不用重装,终端直接重置凭据(把花括号换成你新起的用户名和密码):
sunshine --creds {新用户名} {新密码}跑完再用新凭据登录 Web UI 即可。
配对 Moonlight:用四位 PIN 把客户端接进来
客户端设备上装 Moonlight——各平台客户端的下载入口整理在 Web UI 的 Featured Apps 页里,直接点进去拿就行:
打开 Moonlight,它会自动发现局域网里的 Sunshine。首次连接时 Moonlight 弹出一个四位 PIN 码:回到 Web UI 点顶部导航的 PIN 入口,输入这四位数、给设备起个名字,回车即可。
走到这一步,你应该看到 Web UI 弹出配对成功提示,Moonlight 里出现这台主机,下方列出内置的 Desktop 应用。
发现不了主机就按顺序来:先确认两台设备在同一网段,再跑一遍systemctl --user status app-dev.lizardbyte.app.Sunshine看服务状态;还不行就重启服务和路由器再试。
验收链路:用 Desktop 应用出第一帧画面
在 Moonlight 里选中 Desktop 应用,点开始。Desktop 不启动任何程序,直接串整个桌面,是验证链路最快的方式。
走到这一步,你应该看到客户端屏幕上出现主机桌面:动鼠标、敲键盘主机有响应,主机扬声器的声音能从客户端听出来——看到、能动、能听见,这条链路就算彻底通了。
上架游戏:把常玩的应用加进 Applications 列表
进入 Web UI 的 Applications 页添加应用,填启动命令和工作目录即可:
两个容易踩的坑:
- 启动方式要分清:会立即自行退出的程序(比如直接拉
steam主程序)要选detached启动,否则进程一退出串流马上断。 - Flatpak 环境:应用命令必须加
flatpak-spawn --host前缀,否则在沙箱里找不到宿主程序。
另外记住一条规则:同一时间只有一条串流,新串流会终止上一个正在跑的应用。
走到这一步,你应该看到新加的应用以卡片形式出现在 Applications 页,并且在 Moonlight 的应用列表里也能看到它。
跑稳之后:平时只动这三个参数
参数不用翻菜单:Configuration 页顶部的搜索框输入关键词就能直达,比如搜Upnp只出这一项:
| 参数 | 默认值 | 什么情况下改 |
|---|---|---|
max_bitrate | 0(完全采用 Moonlight 请求的码率) | 想给主机出口带宽封顶时,填具体数值(单位 Kbps),如5000 |
encoder | 自动选第一个可用编码器 | 想锁定某条编码通路或排障时,手动填nvenc、software等标识 |
upnp | disabled | 需要离开局域网、从外网连主机时,设为enabled让路由器自动转发端口 |
跑顺之后,三种典型用法按需取:
- 📺客厅影音节点:不玩游戏也能用,直接串 Desktop 在电视上看本地片源、上网页;静态内容带宽占用很小,
max_bitrate保持默认即可。 - 👨👩👧一家人共用主机:每位成员在自己的 Moonlight 设备上独立配对、各起一个设备名,互不干扰;记住同时只有一条串流,用完退出,下一位再进。
- 🌐出门远程玩:先把
upnp设为enabled确保主机能被公网访问,再从外网直连,不再依赖同网段。
卡顿时:先测网络,再翻日志
串流卡顿时先测网络,再怀疑程序,顺序别反:
- 主机端起一个测试服务器:
iperf3 -s- 客户端侧做 60 秒 UDP 反向测试(把花括号换成主机 IP):
iperf3 -c {主机IP} -t 60 -u -R -b 50M看客户端输出里的丢包和抖动:丢包低于 5%、抖动低于 1 ms 就算达标。丢包高多半是"两头速度不匹配"(比如 2.5G 有线主机对 WiFi 客户端),把主机网卡降一档速率,或让主机端改有线。
- 网络达标还卡,再翻日志——不用翻文件:Web UI 的 Troubleshooting 页内置日志和告警,逐条点开 warning/error 找线索:
现在就去做
打开 Web UI 的 Applications 页,加一条你真实常玩的游戏,完整走一遍"启动 → 串流 → 退出"的流程。装完、配对完、画面出来了,这套自托管串流主机就是你的了。
更多细节:
- 入门全流程:docs/getting_started.md
- 完整参数表:docs/configuration.md
- 疑难问题索引:docs/troubleshooting.md
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考