☰
Sunshine 自托管游戏串流服务器完整教程:30 分钟用 Moonlight 串流你的 PC
2026/10/17 9:09:58 网站建设 项目流程

Sunshine 自托管游戏串流服务器完整教程:30 分钟用 Moonlight 串流你的 PC

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

Sunshine 是一款完全开源、免费的自托管游戏串流服务器,专门配合 Moonlight 客户端使用。它把家里的游戏 PC 变成一台随叫随到的串流主机:手机、平板、电视、笔记本都能接走你的游戏画面,而所有数据始终停留在你自己的网络里,不上任何云服务器。本文带你完成 Sunshine 安装、Moonlight 配对、关键参数调优和常见故障排查,看完就能上手。

你的 PC 就放在书房里,但你更想窝在沙发上看它的画面。搬机器不现实,云游戏会员又受制于订阅——Sunshine 解决的就是这件事:采集本机画面 → 显卡硬件编码 → 走局域网发出去,客户端在哪都行。它本身不含"云",一切发生在你自己家里,隐私、延迟、画质都在你手里。

🧭 Sunshine 能做什么:先看这张速览表

你关心的Sunshine 的回答
支持哪些系统Windows、Linux、macOS、FreeBSD
画面怎么编码NVENC、QuickSync、AMD VCE、VAAPI、Vulkan Video,另备 CPU 软编码兜底
画面怎么采集Windows 桌面捕获;Linux 支持 KMS、X11、Wayland(wlr / KWin / Portal)
手柄怎么办客户端输入在主机上变成虚拟手柄,Windows 与 Linux 均支持主流手柄
怎么管理浏览器 Web UI:配置、应用、日志、设备配对全在里面
费用开源免费,无订阅、无广告、无账号绑定

一句话分工:Sunshine 负责把画面高效送出去,Moonlight 负责在任何屏幕上把它接回来。

💻 各系统 Sunshine 安装步骤

官方为每个平台都提供了现成的安装包,从发布页选对应文件即可。

Windows(首选):下载Sunshine-Windows-AMD64-installer.msi双击安装。官方推荐 MSI 安装器,安装时按需勾选组件,不要无脑全选;安装器会顺手把防火墙规则配好。

Linux(按发行版选):

  • Debian/Ubuntu:sudo dpkg -i ./sunshine-{distro}-{版本}-{架构}.deb
  • Fedora:先sudo dnf copr enable lizardbyte/stable,再sudo dnf install Sunshine(包名大小写敏感)
  • Arch:pacman -S sunshine
  • Flatpak:flatpak install --system flathub dev.lizardbyte.app.Sunshine,装完必须补跑flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine同步输入依赖
  • 通用兜底:./sunshine.AppImage --install && ./sunshine.AppImage

macOS(实验性):下载 DMG,把Sunshine.app拖进 Applications;或brew install sunshine。注意 macOS 版目前不支持手柄。

FreeBSD:sudo pkg install ./Sunshine-FreeBSD-14.4-{架构}.pkg

Docker(进阶玩家):docker pull lizardbyte/sunshine。官方明确提示:容器镜像不推荐大多数用户使用。

完整安装与构建细节见 docs/getting_started.md。

🔑 Sunshine 首次启动与 Moonlight 配对方法

装完到能串流,就三步。

第一步,打开 Web UI。浏览器访问https://localhost:47990(localhost 可换成主机内网 IP)。首次访问会要求设置管理员账号密码——记牢它,丢了只能走命令行重置。浏览器警告证书不安全是正常现象,自签证书而已,直接继续访问。

第二步,确认服务在跑。Linux 上执行systemctl --user start app-dev.lizardbyte.app.Sunshine,想开机自启就用systemctl --user --now enable app-dev.lizardbyte.app.Sunshine;Windows 的 MSI 安装器已将其注册为服务,无需操作。

第三步,配对。在客户端设备打开 Moonlight,它会自动发现局域网里的 Sunshine;首次连接时 Moonlight 会显示一个四位 PIN 码,回到 Web UI 的 PIN 页面输入该码、给设备起个名字,授权完成。之后在 Moonlight 里点任意一个应用,串流就开始了。

🗂 应用管理与配置搜索:Web UI 里最常去的两个地方

Sunshine 里所有"可串流的东西"都叫应用。你可以在 Web UI 把任意可执行程序加成应用,每个应用独立配置启动命令和参数,Moonlight 端一键启动。内置的 "Desktop" 应用不带任何命令,点了直接串流当前桌面,适合办公和看视频;再给 Steam 加一个"大屏模式"应用,手柄操作会顺畅很多。

配置页有即时搜索框,几百个配置项不用翻菜单,输入关键词直达。比如搜UPnP直接跳到自动端口转发选项。

Web UI 还有个 Featured Apps 标签页,聚合了 Moonlight 客户端与配套工具的入口,新用户可以从这里认识整个生态。

⚙️ 影响串流体验的 4 个关键配置

这四个项是画质和带宽的核心变量。先记住一条总原则:拿不准就保持默认,Sunshine 的默认值是经过调校的组合。

  • max_bitrate:码率上限,单位 Kbps。默认0表示完全跟随 Moonlight 客户端请求的码率;想压带宽就设个上限,例如5000。
  • encoder:强制指定编码器,默认自动选第一个可用的。手动可选nvenc(NVIDIA)、quicksync(Intel)、amdvce(AMD)、vaapi、vulkan(仅 Linux)或软编码,按你的显卡对号入座。
  • nvenc_preset:NVENC 性能预设,1(最快)到7(压缩率最高、延迟略增)。官方建议:除非网络或解码端吃紧,否则别动它,直接加码率收益更大。
  • minimum_fps_target:画面静止时的最低帧率兜底,默认0表示按流帧率的一半降帧省带宽,一般不用改。

音频别忘了配audio_sink:Windows 下运行%ProgramFiles%\Sunshine\tools\audio-info.exe查设备名,Linux 下用pactl info | grep Sink查。想让主机扬声器保持静音、只把声音送进串流,用虚拟声卡(virtual_sink)而不是直接改输出。

串流中的快捷键和 Moonlight 一致:Ctrl+Alt+Shift+N切换光标显隐,Ctrl+Alt+Shift+F1/F12切换串流显示器。

全部配置项的说明在 docs/configuration.md,具体行为以官方文档为准。

🩺 Sunshine 常见故障排查:打不开、搜不到、卡顿

Web UI 打不开。九成是防火墙拦了端口。确认 47990 端口已放行,或临时关防火墙验证;Windows MSI 安装时本应自动写入防火墙规则,没生效就手动加一条。

Moonlight 搜不到 Sunshine。先确认两台设备在同一局域网,再看服务是否真在跑(Linux:systemctl --user status app-dev.lizardbyte.app.Sunshine)。都不行就重启 Sunshine 服务和路由器。

串流卡顿、掉帧、丢包。先怀疑网络,别怀疑 Sunshine。官方推荐的体检方式是用 iPerf3 做一次 60 秒 UDP 反向测试:主机端跑iperf3 -s,客户端跑iperf3 -c {主机IP} -t 60 -u -R -b 50M,看客户端输出的丢包和抖动——理想值是丢包 <5%、抖动 <1ms。如果主机网卡(如 2.5G)远快于客户端那一环,突发流量会冲爆中间设备的缓冲造成丢包,把主机网卡速率降一档往往立竿见影。

忘记 Web UI 密码。不用重装,直接重置:sunshine --creds {新用户名} {新密码};AppImage 对应./sunshine.AppImage --creds {新用户名} {新密码},Flatpak 对应flatpak run --command=sunshine dev.lizardbyte.app.Sunshine --creds {新用户名} {新密码}(花括号内容自行替换)。

最后一道保险是日志:Web UI 的 Troubleshooting 页能逐条翻看警告和错误;本地日志文件在 Windows 的%ProgramFiles%\Sunshine\config\sunshine.log、Linux 的~/.config/sunshine/sunshine.log。更多专项问题(Linux 输入失效、Portal 权限、MTU 丢包等)见 docs/troubleshooting.md。

🚀 下一步:三条路线走深一点

  • 刚跑通串流:把 "Desktop" 当日常远程桌面用,再加一个你玩最多的游戏应用,然后换一台设备(比如电视盒子)再连一次,体验完整闭环。
  • 想调画质:组合研究encoder、nvenc_preset、max_bitrate三个参数;跨网络远程游玩前把upnp = enabled打开(默认是disabled)让 47990 等端口自动转发,再在 Moonlight 里手动添加家里的公网地址。
  • 想读源码:从src/nvenc/的 NVENC 编码封装和src/platform/的各平台采集、输入实现看起,串流链路一目了然;需要 clone 仓库时用git clone https://gitcode.com/GitHub_Trending/su/Sunshine。

现在打开浏览器访问你的localhost:47990,把第一个应用加进去——半小时后,你的游戏库就不再只属于书房那台显示器了。

【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询