如何快速配好 Sunshine:面向新手的自托管游戏串流完整指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一个自托管的游戏串流服务端(stream host),它把主机上的画面和声音实时编码后发送给 Moonlight 客户端,让你用电视、手机或平板远程玩 PC 上的游戏。本指南面向新手和普通用户,按"安装 → 首次配置 → 添加游戏 → 关键参数 → 排错"的顺序,带你从零搭好一套 Sunshine 串流环境,并给出上线前的检查清单。
Sunshine 是什么,适合谁使用
这一节先用一分钟讲清楚 Sunshine 在串流链路中的位置,避免后续步骤里概念混乱。
Sunshine 只负责"发送端":它运行在你的游戏主机上(Windows 11、macOS 14.2、较新的 Linux 发行版如 Ubuntu 22.04+/Debian/Fedora,以及 FreeBSD),负责截屏、采集音频、编码视频。真正显示画面的设备——手机、平板、电视盒子、另一台电脑——运行的是 Moonlight 客户端,你从客户端连接到 Sunshine 主机开始游戏。两端都在你自己手里,串流流量走你的局域网或你自己的网络,因此不受第三方云服务的带宽和画质限制。
几个与新手最相关的能力点:
- 硬件编码:NVIDIA 卡走 NVENC,AMD 卡可走 AMF(Windows)或 VAAPI/Vulkan Video(Linux),Intel 核显在 Windows 上用 QuickSync、在 macOS 上可用 VideoToolbox,没有独显时还能退回软件编码,只是性能有限。
- 手柄透传:Linux 和 Windows 主机可以把 PlayStation、Xbox、Switch Pro 等主流手柄模拟成虚拟设备传给游戏;macOS 暂不支持手柄模拟。
- 网页配置:所有设置都在浏览器里完成,不需要记配置文件,也可以从手机浏览器配对和调参。
如果你是给家里电视配一个"游戏盒子",或者想出门在外连回家里的电脑玩,这类场景就是 Sunshine 的典型用法;具体兼容性矩阵见 README.md 中的功能支持表,入门安装细节见 docs/getting_started.md。
Sunshine 怎么安装:按你的系统选对方式
这一节解决"从哪里拿到程序"的问题。官方文档明确建议优先使用各版本发布的预编译安装包,而不是自己编译。
- Windows:从最新版本发布页下载安装包直接安装,安装后 Sunshine 以系统服务方式随开机启动。
- Linux:Debian/Ubuntu 系用 .deb 包或官方 apt 源,Fedora/openSUSE 用 .rpm 包或 Copr 源,Arch 有社区打包,通用方案还有 AppImage 和 Flatpak。以 Ubuntu 为例,配好软件源后一条命令即可:
sudo apt update && sudo apt install sunshine- macOS / FreeBSD:分别提供 .dmg 安装器和 .pkg 包。
- 源码编译:只有需要改代码或参与开发时才建议编译,流程见 docs/building.md,仓库代码可通过
git clone https://gitcode.com/GitHub_Trending/su/Sunshine获取。 - Docker:仓库提供镜像,但官方文档提示 Docker 方式不适合大多数用户(音视频设备挂载较麻烦),桌面场景请优先用上面几种原生安装方式。
装好后直接启动程序,浏览器打开http://localhost:47990就能看到管理界面,这就是下一步的入口。
首次运行:欢迎页完成初始配置
这一节解决第一次启动后要做什么:建账户、确认连接信息。
初始设置要做的事
首次打开管理界面会进入欢迎引导页,依次完成:设置管理员用户名和密码(用于访问配置界面)、确认串流所用的网络端口(默认 47990 系列端口)、为客户端配对。手机不在同一台电脑旁也没关系,在手机的浏览器里输入主机局域网 IP 和端口,同样能完成配对和后续配置。密码忘了不要慌,下一小节有重置方法。
忘记 Web UI 密码怎么找回
Sunshine 没有"找回密码"流程,官方做法是直接重置。在主机终端运行sunshine --creds 新用户名 新密码(AppImage 和 Flatpak 分别把命令前缀换成对应的启动方式),之后用新凭据登录即可,原有设置和 games 列表不受影响。详见 docs/troubleshooting.md。
游戏和应用怎么加进串流列表
这一节解决"客户端连上来后,看到什么、点什么才能开玩"的问题。
Sunshine 用一份apps.json(默认和主配置文件同目录)来定义客户端里显示的应用卡片:每张卡片对应一条启动命令,可以带图标、缩略图,甚至串流结束后的清理命令。它不是自动扫描游戏库,而是你"登记"什么、客户端就能直接启动什么。仓库内 docs/app_examples.md 给出了各平台的现成示例,照抄改路径即可。
Steam 和 Steam 大屏模式怎么接入
在 Linux 和 Windows 上,社区常用的做法是把 Steam 大屏模式登记为一个应用:用一条独立启动命令拉起steam steam://open/bigpicture,并配一条对应的退出命令。这样在 Moonlight 客户端里点"Steam Big Picture"就能进入 Steam 大屏,从大屏里启动具体游戏,串流中的操作会透传回主机。单个游戏也可以直接登记为卡片,命令填游戏的启动可执行文件加参数;Epic 等商店的游戏则可以用商店协议的 URI 方式启动,跨平台一致性更好。
关键配置项:编码器、音频与比特率怎么选
这一节只讲对画质和延迟影响最大的几个决定,其余选项默认值即可,完整参数说明在 docs/configuration.md。
编码器:优先选显卡自带的硬件编码器——NVIDIA 选 NVENC,AMD 在 Windows 选 AMF、Linux 选 VAAPI 或 Vulkan Video,Intel 核显 Windows 选 QuickSync。硬件编码几乎不占 CPU,也最容易跑满高帧率;软件编码留给"显卡太老、完全不支持硬编"的兜底场景,帧率上限会明显偏低。
音频:默认捕获系统声音(audio_sink指定输出设备)。如果某个应用独占音频导致 Sunshine 听不到,可以启用虚拟音频设备(virtual_sink),把指定程序的声音导进这个虚拟设备再捕获——这也是串流 Steam 时常用的做法。客户端收不到声音时,第一嫌疑是别的程序以独占模式占用了声卡。
分辨率与显示器:多显示器主机可以在 Display 选项里指定输出哪块屏(output_name),并可设置串流时临时切换的分辨率/刷新率配置(dd_*系列选项),串流结束后自动恢复。
推荐参数对照
| 场景 | 比特率(max_bitrate) | 帧率目标 | 说明 |
|---|---|---|---|
| 局域网、有线或 5GHz Wi-Fi | 30–60 Mbps | 60 fps | 优先保证低延迟,再提画质 |
| 局域网、30 fps 需求 | 15–30 Mbps | 30 fps | 动作/剧情类游戏足够 |
| 跨公网(远程连接) | 5–15 Mbps | 30–60 fps | 取决于回程带宽,宁低勿卡 |
调优经验:局域网下先用默认值跑一场,卡顿就先降比特率而不是降分辨率;NVIDIA 卡可在驱动里开 Fast Sync、AMD 在 Windows 开 Enhanced Sync,各能省约一帧延迟,详见 docs/performance_tuning.md。
串流常见问题怎么排查
这一节汇总新手最常碰到的四类问题及官方给出的排查路径,日志查看入口和更多案例见 docs/troubleshooting.md。
- Web UI 打不开:先查防火墙是否放行了 47990 端口,再确认浏览器里用的是主机 IP 而不是
localhost。 - 画面卡顿或花屏:多数是网络而非编码问题。用 iperf3 在主机和客户端之间跑一次 60 秒 UDP 测试,丢包率高于 5% 或抖动超过 1ms 就说明链路不合格,先换 5GHz Wi-Fi 或改有线。
- 主机网卡比客户端快很多:例如主机接 2.5G 网口、客户端只有百兆或 Wi-Fi,突发数据会在中间设备缓冲区溢出造成大量丢包(日志里的 buffer overrun)。解决办法是把主机网卡限速到与客户端匹配,或升级到较新的 Sunshine 版本,其网络代码已对此做了改善。
- 手柄按键异常:主机上物理接入的手柄数量过多时,游戏可能选中了错误的"第一个手柄";鼠标行为怪异时,可尝试在主机上接一只物理鼠标。
上线前:对照这份清单逐项确认
全部配完后,用下面 6 项做一次验收,都满足就可以把主机交给 Moonlight 客户端了:
- 主机已安装 Sunshine 并能开机自启,浏览器可打开
localhost:47990管理界面 - 管理员账号已创建,且密码已备份到安全位置
- Moonlight 客户端能发现并成功配对主机,播放测试画面无卡顿
apps.json中至少登记了桌面和一个实际游戏,客户端点击可正常启动- 已选定硬件编码器,音频设备或虚拟声卡指向正确,串流中声音完整
- 主机到客户端的网络测试丢包低于 5%、抖动低于 1ms
按这份清单走完,你的 Sunshine 串流环境就处于一个可长期使用的状态。后续想深入某一块,建议从 docs/getting_started.md 的完整安装说明和 docs/configuration.md 的逐项配置文档继续读起。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考