☰
自托管游戏串流入门到进阶:Sunshine + Moonlight 30 分钟把 3A 玩到任何屏幕
2026/10/24 11:19:49 网站建设 项目流程

自托管游戏串流入门到进阶:Sunshine + Moonlight 30 分钟把 3A 玩到任何屏幕

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

主机在卧室,你想在客厅大屏上开玩——搬它?不现实;再买一台?太贵。多数人的第一反应是"那得用云游戏服务",但反直觉的事实是:完全不必。Sunshine 是一款完全开源、免费的自托管游戏串流服务器,把 PC 画面经家庭网络送到屋里任意一块屏幕上;配上 Moonlight 客户端,就是完整的家庭串流链路。装好、配对,30 分钟后你就能在大屏上玩 3A。

四步搞懂原理:你的 PC 是一座家庭电视台

整个链路可以压成一条箭头流程:

画面采集 → 硬件编码 → 局域网传输 → 屏幕解码

每一步用大白话解释一下它在干嘛:

  1. 画面采集:系统实时抓取屏幕内容,相当于"每秒给屏幕拍 60 张照片"
  2. 硬件编码:GPU 上的专用编码芯片(NVIDIA 是 NVENC、AMD 是 AMF、Intel 是 QuickSync)把这堆照片压缩成一路很小的码流,CPU 基本不参与
  3. 局域网传输:码流经家里路由器送到 Moonlight 客户端,这里拼的是稳定低延迟,不是裸带宽
  4. 屏幕解码:客户端把码流解码成可玩的画面,手柄输入走反向通道回来

你可以把全过程想象成一座微型电视台:PC 是演播室,屋里每块屏幕都是电视机。数据全程不出家门,隐私、画质、延迟都只取决于你和家庭网络,没有月费,也没有第三方机房。

下一步:原理不用背,直接进入下一节,把第一帧画面串出来。

最小可行串流:三个动作,串出第一帧

安装:按系统选一条路,装完即用

  • Windows:官方.msi安装器双击安装,防火墙规则由安装器自动写好,最省心
  • Linux:Debian/Ubuntu 用.deb,Fedora 启用官方 Copr 后安装,Arch 用 pacman,或走通用 AppImage;用 Flatpak 的话,装完必须补跑一次flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine补输入依赖
  • macOS:DMG 拖进 Applications,或brew install sunshine;注意 macOS 版暂不支持手柄模拟
  • Linux 的画面采集(KMS / X11 / Wayland)会按你的会话自动选择,AppImage 不支持 KMS 采集
  • 想从源码构建:git clone https://gitcode.com/GitHub_Trending/su/Sunshine,方法见 docs/building.md

启动:打开 Web 控制台

浏览器访问https://localhost:47990。首次打开会要求你设置管理员用户名和密码,页面会明确提示凭据之后不会再显示——先抄下来再输。

Windows 上安装器已把 Sunshine 注册为服务、开机自启;Linux 手动启动:systemctl --user start app-dev.lizardbyte.app.Sunshine(加--now enable可设为开机自启)。

配对:4 位 PIN 码让 Moonlight 认主机

  1. 在客户端设备装 Moonlight(Windows / Android / Apple TV / Steam Deck 等都有)。Web 控制台的 "Featured Apps" 页聚合了官方客户端入口,不用自己满世界找
  2. 打开 Moonlight,它会自动发现局域网里的 Sunshine,点进去连接,界面会显示一个 4 位 PIN
  3. 回 Web 控制台的 PIN 页输入该 PIN 确认,配对完成

控制台里预置了两个应用:Desktop(串整个桌面,办公、看片都合适)和Steam Big Picture(大屏模式,启动后直接手柄操作)。任何可执行程序都能加进来当应用,各自独立配启动参数。

下一步:点一次 Desktop 串出去。看到第一帧画面,后面就只是调优问题了。

按目标调优:只改该改的 🎯

所有参数都在 Web 控制台的 Configuration 页。几百个听着吓人,但搜索框是捷径:输关键词直达,比如搜 "UPnP" 直接定位到端口转发选项。

想要更低延迟:先动网络,再动参数

  • 延迟杀手几乎总在网络上:2.4GHz WiFi 或信道拥堵。主机端改有线、客户端上 5GHz 或有线,先赢一半
  • nvenc_preset从 1 到 7:1 编码延迟最低,数字越大压缩效率越高、编码延迟越高。默认就是 1,追延迟时保持别动
  • 客户端侧:分辨率先于码率降(手持设备 1080p 足够),客户端里关掉"高质量模式"

下一步:把两端网络固定住再试一局,手柄操作仍觉得"慢一拍"才轮到碰 preset。

想要更好画质:码率是唯一王道

  • max_bitrate默认 0,表示"完全听客户端的";想由主机端封顶就填一个数(单位 Kbps)
  • 有线千兆下,4K 可以放心拉到 40–80 Mbps;走 WiFi 就降一档
  • 码率不够用时:把nvenc_preset提到 2–7 档,同码率下画质更足;新一代编码芯片的压缩效率也更高

下一步:从 30 Mbps 起步,每次加 10,加到画面不再出现糊块为止。

想省带宽:让静止画面降帧

  • minimum_fps_target控制"画面静止时帧率最低能掉到多少"。默认 0 表示用串流帧率的一半兜底;想省得更多就设个更低的值,代价是画面一动帧率回升会有顿挫感
  • 带宽的两个主阀门就是"码率上限 + 降帧下限",为省带宽别去动编码质量类参数

下一步:移动端设备用 1080p + 15–20 Mbps 试一轮,这是体验和带宽的平衡点。

想远程串流:开 UPnP,从外面找回家

  • 在 Web 控制台(Network 选项卡)打开upnp,Sunshine 会替路由器自动配置端口转发
  • Moonlight 里手动添加家里的公网 IP(或域名),移动数据网络下也能连回家
  • 远程对抖动敏感:码率主动调低换稳定,客户端延迟档位调低

下一步:先用手机移动数据测一次连家;连不上就先确认端口转发真的生效了,而不是反复重连。

决策树式排查:30 秒定位问题 🧭

别背报错,学顺着树走。

打不开 Web 控制台(localhost:47990)?

  • 服务在跑吗 → Linux 看systemctl --user status app-dev.lizardbyte.app.Sunshine,Windows 看任务管理器
  • 在跑但页面进不去 → 防火墙拦了 47990 端口;Windows 一般由 MSI 自动放行,Linux/AppImage 需手动放行
  • 忘记密码 → 用sunshine --creds {新用户名} {新密码}直接重置凭据,不用重装(AppImage、Flatpak 换成对应启动方式)

Moonlight 搜不到 Sunshine?

  • 两台设备真的在同一局域网吗(一个在 5GHz、一个在访客网络,就搜不到)
  • 服务在跑吗(同上)
  • 重启路由器——发现机制和 UPnP 缓存问题,重启经常就好
  • 最后手段:在 Moonlight 里手动添加 Sunshine 的内网 IP

卡顿、掉帧、丢包?

  • 先量网络:主机端iperf3 -s,客户端iperf3 -c {主机IP} -t 60 -u -R -b 50M,看丢包和抖动;目标丢包低于 5%、抖动低于 1ms
  • 测出丢包高 → 主机网卡速率降一档(2.5G 降到 1G)或改有线,同时把码率调低
  • 网络没问题还卡 → 看编码器是否回退成了软编码,日志是最直接的证据
  • 日志位置:Windows 在%ProgramFiles%\Sunshine\config\sunshine.log,Linux/macOS 在~/.config/sunshine/sunshine.log;Web 控制台的 Logs 页也能直接看

下一步:任何问题,先翻出日志里那行红色报错,拿这句话去搜文档,比凭感觉重试快得多。

上线前体检清单:逐项打勾再开播 ✅

正式开玩之前,把这张清单过一遍:

  • 网络:主机端有线千兆起步;客户端 5GHz WiFi 或有线;两端同网段
  • 测速:iPerf3 跑过 60 秒 UDP 测试,丢包 < 5%、抖动 < 1ms
  • 编码器:确认在用硬件编码(nvenc / amdvce / quicksync / vaapi),日志里没有出现软编码回退
  • 码率:max_bitrate保持默认 0,或按网络设了合理值(4K 桌面 40–80 Mbps、移动端 10–25 Mbps)
  • 帧率:minimum_fps_target与用途匹配(默认 0 = 串流帧率一半兜底)
  • 端口:需要远程时 UPnP 已开启,且从外网验证过转发有效
  • 日志:知道 Logs 页和本地日志文件在哪,出问题不慌
  • 配对:至少一台设备已配对,重启后能直接重连

更细的内容:安装指南 · 完整配置手册 · 排查指南。

清单勾完,书房角落那台 PC 就正式成为全家的游戏主机了——玩在哪里,从今往后由你说了算。

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

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

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

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

立即咨询