Sunshine 游戏串流快速上手指南:一个晚上打通第一帧
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
装好串通,最终能干什么
Sunshine 是一套自托管的游戏串流服务端,和 Moonlight 客户端配对后,在你自己的主机上采集屏幕、硬件编码,把画面送进局域网里另一块屏。它替你省掉搬主机、重插 HDMI、再买一套硬件的麻烦。读完这篇,你能独立装好主机端、完成设备配对、加进第一个串流应用,并调完最常用的几个参数。
最终效果:主机留在桌下安静待命,你的笔记本、平板或电视装个 Moonlight 就能跑 3A 游戏,声音画面全走网线。配一次对、选一个应用,串流立即开始;它也可以把整个桌面串出去,让轻薄设备变成一台"远程 PC"。
动手前先确认这几件事
- 主机系统:Windows、Linux、macOS(实验性,暂不支持手柄模拟)、FreeBSD 都行;客户端跟着 Moonlight 走,手机、平板、电视盒子都能当接收端
- 网络:主机和客户端同处一个局域网,且网络稳定,串流体验主要取决于它
- 账号:不需要注册任何账号,首次进 Web UI 自己设管理员用户名和密码即可
- 额外组件:接收设备上装 Moonlight 客户端;Linux 用 Flatpak 安装的话,装完还要补跑一次
flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine装输入依赖
安装到串出第一帧的完整流程
Step 1|装主机端。Windows 去 Release 页下载Sunshine-Windows-AMD64-installer.msi双击安装,防火墙规则安装器会自己写好;Linux 按发行版选 deb、pacman 或 copr 包;macOS 把 DMG 里的Sunshine.app拖进 Applications。验证点:安装过程走完、没有报错。
Step 2|把服务拉起来。Windows 上 MSI 已注册为系统服务并开机自启,不用额外操作;Linux 上执行systemctl --user start app-dev.lizardbyte.app.Sunshine。验证点:systemctl --user status app-dev.lizardbyte.app.Sunshine显示服务在跑。
Step 3|进 Web UI 建账号。浏览器访问https://localhost:47990,提示"不安全"是正常的,自签名证书导致,忽略即可。首次进入会让你设管理员用户名和密码,记好它,后面配对全靠它。验证点:能看到欢迎页。
Step 4|Moonlight 配对。客户端设备打开 Moonlight,它会自动发现局域网里的 Sunshine;首次连接弹出四位PIN,回 Web UI 顶部导航的 PIN 页输入、给设备起个名。验证点:Moonlight 里能列出这台主机和它自带的Desktop应用。
Step 5|加应用,串一次。进 Applications 页,Desktop 默认就有(串整个桌面);串游戏就新建一条,填应用路径、工作目录、启动参数,支持$(HOME)这类环境变量。注意两点:启动秒退的进程(如直接拉steam)要选detached启动方式,否则会立刻断流;Flatpak 版应用命令前加flatpak-spawn --host,否则沙箱里找不到宿主程序。验证点:Moonlight 里点开你的游戏,画面和声音同时到达,退出后回到桌面。
最常调的三个参数
配置页顶部有搜索框,几百个设置项输关键词直达,这三个是最常碰的:
encoder:默认自动选第一个可用编码器(NVIDIA 走 NVENC、Intel 走 QuickSync、AMD 走 AMF,最后 CPU 软编码兜底)。拿不准就留空;手动填nvenc、quicksync、amdvce、vaapi、vulkan或software更多是排障手段,锁通路后只会走这一条路。max_bitrate:默认0,意思是完全听 Moonlight 端请求的码率。只有想给主机端封顶带宽时才动它,比如改成5000(Kbps),改完主机编码不会超过这个上限,弱网下更稳但画质上限被锁死。nvenc_preset:默认1(最快),数字越大压缩率越高、编码延迟也越高。只有网络或解码端顶不住时才往大调,其余情况直接提高码率更划算。
换个活法用它
如果你只有一台轻薄设备💻,把它当瘦终端:装 Moonlight 串书房那台主机跑 3A,笔记本只负责解码显示,功耗低、机身凉快。前提是一同处一个局域网且网络稳,客户端分辨率按自身屏幕设就好。
如果你不想给电视再添盒子📺,直接串 Desktop,在电视或平板上放本地片源、看网页、跑桌面应用。max_bitrate保持默认即可,静态内容占的带宽很小。
如果要跨网络、跨设备共用,每个成员在自己的 Moonlight 设备上独立配对,Web UI 里各记各的设备名;要远程串流时,先在配置里把upnp设为enabled(默认disabled),让 47990 等端口自动转发。
卡住了怎么自救
https://localhost:47990打不开。先怀疑防火墙:Windows 先确认安装时防火墙规则已写入,再不行临时关防火墙验证一次,通了就回头放行 47990 端口。客户端发现不了主机。先怀疑两台不在同一网段,其次怀疑服务没在跑:Linux 上
systemctl --user status app-dev.lizardbyte.app.Sunshine看状态,确认在跑、网络同段,还不行就重启服务和路由器。串流卡、掉帧。先怀疑网络而非 Sunshine。官方推荐 iPerf3 做 60 秒 UDP 反向体检,主机端起服务、客户端侧测速:
iperf3 -s iperf3 -c {主机IP} -t 60 -u -R -b 50M理想是丢包低于 5%、抖动低于 1ms。两头速度不匹配(如 2.5G 网卡配 WiFi 客户端)是典型诱因,降一档网卡速率或主机改有线常立竿见影。
忘了 Web UI 密码。不用重装,执行
sunshine --creds {new-username} {new-password}直接重置凭据。
还搞不定就翻日志:Web UI 的 Troubleshooting 页内置日志和告警提示;日志文件在 Windows 是%ProgramFiles%\Sunshine\config\sunshine.log,Linux / macOS / FreeBSD 在~/.config/sunshine/sunshine.log,Docker 部署用docker logs sunshine。
记住三件事就够了
- 网络稳不稳比带宽峰值更决定体验,先跑一次 iPerf3 再谈画质。
- 编码器拿不准就留空,自动选择够用;手动指定是排障手段,不是日常操作。
max_bitrate为 0 就是码率听 Moonlight 的,想封顶带宽才去碰它。
现在就可以做的一步:拿第二台设备配上 Moonlight 完成配对,顺手给应用列表加一条真实游戏,完整走一遍"配对 → 启动 → 串流 → 退出"。
延伸阅读:
- 完整参数表:docs/configuration.md
- 入门与安装细节:docs/getting_started.md
- 疑难杂症索引:docs/troubleshooting.md
- 采集与编码实现:src/platform/
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考