游戏不该只属于书房:Sunshine 自建串流服务器从零上手
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
晚上想瘫在沙发上把《赛博朋克》接着打,却不想把主机搬来搬去?Sunshine 是一款完全免费、开源的游戏串流服务器,专为 Moonlight 客户端而生:PC 负责渲染和编码,手机、平板、电视只负责显示画面、回传操作。游戏库、画质参数、存档数据全留在自己家里,订阅费一分不用花。
五分钟装好 Sunshine,先让画面跑起来
别急着研究原理,先把东西装上。Sunshine 在主流系统都有现成安装包,挑一条执行即可:
- Windows:
winget install LizardByte.Sunshine,自带自动更新,最省心; - Linux:
flatpak install flathub dev.lizardbyte.app.Sunshine,适配绝大多数发行版; - macOS:
brew install sunshine; - Docker 常驻:
docker pull lizardbyte/sunshine,适合 NAS、服务器这类全天候环境。
想从源码编译、定制编译参数,也可以直接拉取官方仓库:git clone https://gitcode.com/GitHub_Trending/su/Sunshine。
装完打开浏览器访问localhost:47990,这就是 Sunshine 的 Web 管理后台。首次进入会让你创建登录凭证:用户名沿用预填的即可,密码务必 12 位以上、混合大小写字母和符号——这是整条串流链路唯一的门锁。
顺带一个小彩蛋:后台右上角可以切换深浅主题,晚上在客厅大屏上管理时,深色模式明显更护眼。
它凭什么比远程桌面流畅?一次把原理讲透
跑起来之后,值得花两分钟搞清楚它为什么流畅。一句话版:游戏画面由显卡上的硬件编码器压缩成视频流——NVIDIA 走 NVENC、AMD 走 AMF、Intel 核显走 QuickSync——Sunshine 负责推流,Moonlight 客户端负责解码显示,再把你的手柄和键盘输入原路传回。
关键就在"硬件编码"四个字:压缩工作交给显卡电路而非 CPU,所以占用低、延迟小、画质损失几乎可忽略。远程桌面软件慢,是因为它用软件逐帧截屏再压缩,还要处理一堆桌面语义;串流协议只关心"画面"和"输入"两件事,专一,自然快。
硬件门槛也很友好:4 核以上 CPU、8GB 内存,配一块支持硬件编码的显卡(GTX 1050 及以上、RX 550 及以上、Intel HD 600 核显及以上)就足够流畅运行。
第一次配对 Moonlight:四步走完整个流程
服务端就绪,轮到客户端上场。Moonlight 是 Sunshine 的官方搭档,手机、平板、电脑、电视、树莓派都有对应版本。配对总共四步:
- 在目标设备装好 Moonlight 客户端;
- 保证设备与 Sunshine 主机在同一个局域网;
- 打开客户端,等它自动发现名为 "Sunshine" 的主机;
- 在 Sunshine 后台的 "PIN" 页面获取配对码,输入即绑定完成。
不确定客户端去哪儿下载?Web 后台的 "Featured Apps" 页面已经把各平台客户端分门别类整理好了,点 "Get" 直达,相当于内置的串流生态小商店。
配对完成后,主机就会出现在客户端列表里。系统默认自带 "Desktop"(整机桌面串流)和 "Steam" 两个入口,可以直接开玩。想为单个游戏建独立入口,就在 "Applications" 页面点 "Add New",填名称和启动命令即可:
- Steam 大屏模式:填
steam://open/bigpicture,适合手柄操作的游戏库; - 独立游戏:填可执行文件路径,例如
D:\Games\Hades\Hades.exe; - 模拟器:指向 RetroArch 主程序,把核心参数顺手写进启动参数。
按场景抄作业:码率、帧率、分辨率到底怎么填
连接通了,下一步是让画质和延迟都舒服。Sunshine 会自动识别显卡、选好编码器,你真正要决定的只有三件事:码率、帧率、分辨率。不用死记参数表,直接按场景抄作业:
- 通勤路上(手机流量/弱网):720p 60fps,码率压到 5–10 Mbps,优先保流畅;
- 客厅标准(大屏 + 有线):1080p 60fps,码率 15–25 Mbps,绝大多数游戏的甜点区;
- 高刷党(电竞屏/高端电视):1440p 120fps 给 25–50 Mbps;4K 60fps 建议拉到 50–100 Mbps。
几个随手就能做的优化:能上有线就上有线,WiFi 至少用 5GHz 别挤在 2.4GHz;路由器开 QoS 把游戏流量优先级提到最高;帧率尽量匹配游戏原生帧率(60/120/144),别让编码器做多余转换;两端都开 HDR 时记得确认设置一致,否则画面会发灰。
所有参数都在后台 "Configuration" 页面,用顶部搜索框输入关键词秒定位,改完点 Save 即时生效,不用重启服务。
新手最容易踩的三个坑,我替你踩过了
参数调好,剩下就是"遇事不慌"。高频问题其实就三个,对号入座即可:
- 客户端死活发现不了主机?先查防火墙有没有放行 47984、47989、47990 三个端口,再确认两台设备在同一个子网,最后看路由器 UPnP 有没有开。
- 画面卡顿、掉帧?把码率降一档试试;关掉下载、直播这类带宽大户;顺手更新显卡驱动——编码器性能经常随驱动白涨一截。
- 手柄完全没反应?Windows 主机需要在后台 "Troubleshooting" 页面装一次虚拟手柄驱动,它是把客户端手柄"翻译"给系统用的桥梁,一键装完。
如果上面都试过还不行,别瞎猜,直接看日志:Troubleshooting 页面的日志区自带搜索和错误高亮,"Encoder not found" 这类报错直接标红,比翻文件快得多。日志文件也很好找:Linux/macOS 在~/.config/sunshine/下,Windows 在安装目录的 config 文件夹里,Docker 用docker logs sunshine。
进阶玩法:多屏、HDR 和走出家门
基础串流跑通,这几种玩法能明显拉高体验上限:
- 多显示器切换:主机接了电视又接显示器?串流时按
Ctrl+Alt+Shift+F1~F12就能在不同屏幕间切换,实现"客厅用电视、书房用显示器"两不误; - HDR:Windows 主机官方支持 HDR 串流,需要主机系统开启 HDR,客户端同步打开 HDR 选项,两端一致画面才不发灰;
- 走出家门:想在外网玩,首选 ZeroTier、Tailscale 这类组网工具把设备拉进同一个虚拟局域网,既保留低延迟,又不用把端口暴露到公网。
同样是串流,Sunshine 和它们差在哪
选型时难免纠结:云游戏订阅、Steam Link、远程桌面,不都能玩吗?一句话对比最直观:
| 方案 | 费用 | 游戏来源 | 延迟 | 数据在哪 |
|---|---|---|---|---|
| Sunshine 自托管 | 免费 | 你 PC 里的全部游戏 | 局域网≈零延迟 | 全在自己网络 |
| 云游戏订阅 | 按月付费 | 平台授权库内可选 | 取决于机房距离 | 云端 |
| 远程桌面 | 免费 | 你 PC 的全部 | 高,基本玩不了游戏 | 自己网络 |
| Steam Link | 免费 | Steam 库 | 低 | 自己网络 |
结论很直接:如果主要玩 Steam 游戏且设备都在家里,Steam Link 够用;想覆盖全部游戏、全部平台、甚至走出家门,Sunshine 是更彻底的方案。
什么人适合用它,什么人可以先观望
再诚实的文章,也该告诉你"不必用"的场景。先看看你属不属于这一拨:
- 有一台配置不错的 PC 和不少本地游戏;
- 家里或手上有手机、平板、电视、笔记本等多块屏幕;
- 在意存档与隐私,不想把账号交给云端;
- 愿意花半小时配置一次,换取长期免费。
反过来,如果只用 Steam 手柄在客厅玩 Steam 游戏,或者手头是没有硬件编码显卡的老机器,先观望也不丢人——把 Steam Link 用顺手再升级不迟。
最后一页纸:上手自检清单
按这份清单过一遍,今晚就能玩上:
- 用对应命令装好 Sunshine,浏览器打开
localhost:47990; - 设一个 12 位以上的强密码,收好登录凭证;
- 手机或平板装 Moonlight,四步完成配对;
- 加一个想玩的游戏入口,或直接用桌面串流;
- 按你的场景套一套码率、帧率、分辨率参数;
- 玩起来,然后按需解锁多屏、HDR 与外网玩法。
游戏不该被锁在电脑桌前。Sunshine 的迷人之处,是把"你的游戏"变成"所有屏幕的游戏"——而这一切,始于一次 47990 端口的登录。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考