游戏串流不求人:用 Sunshine 免费搭建私人云游戏平台的完整指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
想要随时随地玩上电脑里的 3A 大作,又不想按月掏钱给云游戏服务商?Sunshine 是一款免费开源的自托管游戏串流服务器,它在本地把你的 PC 变成云游戏主机,配合 Moonlight 客户端即可在任何设备上获得低延迟的游戏串流体验。它支持 Windows、Linux、macOS 与 FreeBSD,并兼容 NVIDIA、AMD、Intel 主流显卡的硬件编码,是搭建家庭串流平台的理想选择。
一、串流是怎么跑起来的:先弄清两个角色
在动手之前,先理解这套方案的协作方式,后面配置就不会迷路。
- 服务端(Sunshine):运行在你玩游戏的那台电脑上,负责采集屏幕画面、用显卡硬件编码压缩、再通过局域网推送给客户端。
- 客户端(Moonlight):安装在手机、平板、笔记本或电视盒子上,负责接收画面、解码显示,并把你的手柄和按键操作回传给服务端。
两者通过同一套握手与传输协议配合,Sunshine 还自带一个网页控制台,完成设置、配对和管理都在浏览器里进行。
二、为什么值得自己搭一套:与传统云游戏对比
市面上主流的云游戏平台往往需要订阅、游戏库由平台决定,而自托管方案把选择权完全交还给你:
| 对比维度 | 商业云游戏平台 | Sunshine 自托管方案 |
|---|---|---|
| 持续开销 | 月费/年费订阅 | 零费用,仅需已有硬件 |
| 数据去向 | 画面与输入经云端中转 | 全程留在本地网络 |
| 可玩内容 | 平台授权库 | 你自己电脑上的全部游戏 |
| 延迟来源 | 受公网链路影响 | 局域网为主,延迟更低 |
| 个性化空间 | 设置受限 | 码率、分辨率、编码器全可调 |
✅适合的人群:家中已有性能足够的 PC、希望在客厅电视或移动设备上继续玩、注重数据隐私、想省掉订阅费用的玩家。
三、安装路线图:按系统挑选最顺手的方式
Sunshine 官方针对每个平台都提供了推荐安装途径,按下面的路线图操作即可。
Windows 用户
- 首选 MSI 安装包(AMD64 或 ARM64),双击一路完成安装,安装器会顺带配置防火墙与开机自启服务。
- 也可用命令行安装:
winget install LizardByte.Sunshine。
Linux 用户
- Debian/Ubuntu:下载对应
.deb包后执行sudo dpkg -i ./sunshine-*.deb。 - Fedora/OpenSUSE:
sudo dnf install ./Sunshine-*.rpm,或启用官方 COPR 源后sudo dnf install Sunshine。 - Arch 系:
pacman -S sunshine(需先添加 LizardByte 软件源)。 - 通用方案:Flathub 安装
flatpak install flathub dev.lizardbyte.app.Sunshine,或运行 AppImage 版本./sunshine.AppImage --install。
macOS 用户
- 下载对应架构(Apple Silicon / Intel)的
.dmg,把 Sunshine.app 拖入应用程序目录即可。 - 也支持 Homebrew:
brew tap LizardByte/homebrew && brew install sunshine。
FreeBSD 用户
- 下载对应架构的
.pkg后执行sudo pkg install ./Sunshine-FreeBSD-*.pkg。
⚠️ 提示:Linux 上若发行版提供了专属包,优先使用专属包而非 AppImage;Docker 镜像虽然存在,但官方不建议多数用户使用,仅适合熟悉容器化的场景。
如果你打算从源码构建或自行打包,可以拉取仓库:git clone https://gitcode.com/GitHub_Trending/su/Sunshine,构建步骤详见 docs/building.md。
四、首次启动:十分钟完成基础配置与配对
安装完成后,启动 Sunshine 并打开浏览器访问http://localhost:47990,进入欢迎页。
- 创建管理员账户:默认用户名是
sunshine,首次登录会强制你设置密码并二次确认,请务必记牢——之后所有 Web 配置都要用它。 - 完成基础网络设置:确认服务监听端口、防火墙放行规则已就绪(Windows 安装器通常已自动处理)。
- 客户端配对:在 Moonlight 客户端中搜索同一局域网内的主机,屏幕上会出现四位数 PIN 码,将其填入 Sunshine 网页端的 PIN 输入框即完成授权。
- 手柄驱动(仅 Windows):在网页的 Troubleshooting 标签页安装 ViGEmBus 虚拟手柄驱动,安装后重启电脑生效。
五、把游戏加进来:应用管理与启动参数
Web 控制台的 Applications 页面预置了 Desktop 与 Steam Big Picture 两个常用模板,你可以直接使用,也可以为每个游戏单独建条目。
添加自定义应用的操作要点:
- 点击 Add New 新建条目。
- 填写应用名称,例如 "赛博朋克2077"。
- 在启动命令里填入可执行文件路径或 Steam 快捷方式(如
steam://rungameid/1091500)。 - 需要的话可为每条应用设置独立的工作目录、等待命令或退出命令。
- 保存后在 Moonlight 客户端重新启动应用列表,即可看到新条目并一键启动。
小技巧:把"桌面"模板留作兜底入口,遇到未单独配置的程序也能通过桌面串流直接操作。
六、如何挑选最适合的硬件编码方案
编码质量直接决定串流流畅度。Sunshine 会自动探测可用编码器,但了解原理能帮你更好地做取舍:
| 编码 API | 显卡厂商 | 说明 |
|---|---|---|
| NVENC | NVIDIA | Windows/Linux 上性能出色,配合 CUDA 可启用 NvFBC 采集 |
| AMF | AMD | Windows 下高效稳定,Linux 侧配合 VAAPI 使用 |
| QuickSync | Intel | 功耗低,Windows 与 Linux 均可 |
| VAAPI | AMD/Intel/NVIDIA | Linux/FreeBSD 主流方案 |
| Video Toolbox | Apple | macOS 专属 |
| Vulkan Video | 各厂商 | Linux 上的新兴统一方案,部分场景可用 |
| 软件编码 | 任意 | 兼容性兜底,CPU 占用高,仅作备选 |
选择策略很简单:NVIDIA 卡优先 NVENC,AMD 卡优先 AMF/VAAPI,Intel 卡优先 QuickSync,旧机器或驱动受限时退回软件编码。编码器实现细节可参考 src/nvenc/ 目录。
七、网络与性能调优:把延迟压到最低
游戏串流对网络的稳定性要求高于纯粹带宽。建议按以下优先级优化:
- 优先有线:主机端务必使用千兆网线,客户端能插线就不连 WiFi。
- 无线保底:选用 5GHz 频段,尽量贴近路由器,避免隔墙和干扰源。
- 先测后调:用 iPerf3 验证网络质量——主机端执行
iperf3 -s,客户端执行iperf3 -c <主机IP> -t 60 -u -R -b 50M,观察丢包率(理想低于 5%)与抖动(理想低于 1ms)。 - 按链路定码率:1080p/60fps 约需 15–25Mbps,1440p/120fps 建议 25–50Mbps,4K/60fps 需要 50–100Mbps;实际以画面稳定为准逐步微调。
- 处理突发丢包:当主机带宽远高于链路瓶颈时(如 2.5G 网卡连 1G 交换机),可用流量整形把 Sunshine 的 UDP 流量限速到 1Gbps,具体规则示例见 docs/troubleshooting.md。
八、实战场景:三种典型玩法配置
客厅大屏畅玩:把主机连电视,Moonlight 客户端设在电视盒子上,分辨率匹配电视原生规格(如 4K),开启 HDR 获得更好观感,码率按有线链路给足。
移动设备随身玩:平板/手机上使用触控虚拟按键,按游戏类型自定义布局;选择贴合屏幕的显示比例,并优先待在 5GHz WiFi 覆盖范围内。
多用户家庭共享:一台 Sunshine 服务端可服务多台客户端设备,各自独立配对;通过为不同家庭成员配置不同的应用条目与权限,实现互不干扰的共享使用。
✅ 服务端软件编码兜底、客户端设备多样性是这套方案最省心的部分——换设备不换配置。
九、常见问题排查:遇到卡顿和连不上怎么办
客户端搜不到服务器
- 检查 47990 端口(Web UI)与 47998/48010 等串流端口是否被防火墙拦截。
- 确认两台设备处于同一局域网或已做端口转发。
- 重启 Sunshine 服务与路由器后再试。
画面卡顿、掉帧
- 先降分辨率或码率,观察是否缓解。
- 关闭占用带宽的后台下载与视频播放。
- 更新显卡驱动,确认没有在用软件编码(看日志中的编码器名称)。
如何看日志定位问题Web 控制台的 Troubleshooting 页面直接展示实时日志与显卡信息,红字即为错误行;日志文件在 Windows 位于安装目录下的 config 目录,Linux/macOS 位于~/.config/sunshine/。更多排查技巧见 docs/troubleshooting.md。
手柄没反应
- Windows 确认已装 ViGEmBus 并重启;Linux 确认当前用户在
input组;macOS 目前暂不支持虚拟手柄。
十、下一步行动:五步开启你的串流之旅
- 按上文路线图装好 Sunshine,浏览器打开
http://localhost:47990完成密码设置。 - 在手机或另一台电脑安装 Moonlight 客户端(Windows/macOS/Linux/Android/iOS 均有版本,也可参考网页 Featured Apps 页面的官方推荐)。
- 完成 PIN 配对,先用"桌面"模板试串流一次,确认画面与声音正常。
- 为常玩的游戏逐个添加启动条目。
- 用 iPerf3 测一遍网络,按结果微调码率与编码器,固定一套最顺滑的参数。
更多学习资料都放在项目内,可按需查阅:
- 官方配置手册:docs/configuration.md
- 安装与启动指引:docs/getting_started.md
- 性能调优专题:docs/performance_tuning.md
- 典型应用示例:docs/app_examples.md
从今天开始,你的电脑就是一台永不掉线的私人云游戏主机——客厅、卧室、路上,随时开玩。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考