给电脑装一根看不见的HDMI线:Sunshine 自托管游戏串流完整上手指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款开源的自托管游戏串流服务器,专门配合 Moonlight 客户端使用。它解决的核心问题很简单:把书房里那台高性能 PC 变成一台"私人云游戏主机",让你在客厅电视、平板或手机上流畅玩 PC 游戏,游戏数据始终留在自己家里,不经过任何第三方服务器。
周五晚上,一场关于"游戏该在哪块屏幕上玩"的争论
先讲个故事。你有一台配置不错的游戏 PC,放在书房;客厅有一台 65 英寸大电视,常年吃灰。周五晚上你想玩刚入手的 3A 大作,可卧室离书房隔了一堵墙,台式机搬不动,笔记本又带不动这个游戏。最后只能缩在书房的小屏幕前,电视继续吃灰——这种"游戏被屏幕绑架"的感觉,体验过的人都懂。
有人会想到云游戏平台,但每月订阅费不说,游戏库还要被平台挑挑拣拣,延迟和画质也看平台脸色。Sunshine 给的答案不一样:它让你自己当云游戏服务商。
它到底是什么:先忘掉"串流"这个技术词
把"游戏串流"翻译成大白话:电脑负责运算,画面和声音通过网络"送"到另一块屏幕上,你在那边操控,指令再传回来。
你可以这样理解 Sunshine 和 Moonlight 的关系——Sunshine 是家里那台电脑上的"发射器",Moonlight 是手机、电视、平板上的"接收器",两者配合,等于给你的电脑接了一根看不见的、没有长度限制的 HDMI 线。这是它最动人的地方:
- 免费开源:没有订阅费,没有按小时计费,装一次用到底
- 数据不出门:所有画面只在你自己的设备和电脑之间传输,隐私自己掌控
- 不挑显卡:AMD、Intel、NVIDIA 都支持硬件编码,CPU 也扛得住纯软件编码
- 配置靠网页:一切设置都在浏览器里完成,不需要改配置文件
所以每当有人问"Sunshine 到底是什么",我都会说:它是你给电脑买的那根最长的 HDMI 线。
跟我走一遍:从安装到画面出现在客厅电视上
第一步:挑一条顺手的安装路径
Sunshine 支持 Windows、Linux、macOS,安装方式也各有各的省心:
| 你的情况 | 推荐做法 |
|---|---|
| Windows 用户 | 下载官方 MSI 安装包,一路下一步,装完以系统服务运行 |
| Linux 用户 | 用发行版对应的 deb/rpm 包,或直接下载 AppImage 运行 |
| 想用容器 | Docker 运行lizardbyte/sunshine镜像 |
| 喜欢折腾 | 从源码编译,自己掌控一切 |
想从源码编译也很简单:
git clone https://gitcode.com/GitHub_Trending/su/Sunshine cd Sunshine mkdir build && cd build cmake .. make -j$(nproc) sudo make install装完后,Windows 上建议重启一次电脑,让系统服务正常接管。
第二步:打开那个网页,设置你的登录凭证
安装完成后,用浏览器访问https://localhost:47990。第一次会看到一个设置页面——别被浏览器的"不安全网站"警告吓到,那是因为 Sunshine 用的是自签名证书,正常现象。
这一步最重要:创建你的用户名和密码,并立刻记下来。Sunshine 的整个管理界面都靠这对凭据保护,丢了就只能翻日志重置了。如图所见,页面同时给了你文档和协议的入口,配置完登录凭证,点 Login 进入主界面。
第三步:让手机或电视"认出"这台电脑
接下来轮到客户端出场。在手机、平板或电视上装好 Moonlight(各大应用商店都有),然后:
- 打开 Moonlight,让它搜索局域网内的电脑,搜不到就手动添加 PC 的 IP 地址
- 客户端会显示一个 4 位 PIN 码
- 回到 Sunshine 的网页,点顶部导航栏的PIN,把码输进去,再给这台设备起个名字
- 客户端提示配对成功,大功告成
这个流程就是常说的Moonlight 配对,一次配对,永久信任,以后这台设备连上就能直接开玩。
第四步:把想玩的游戏加进可串流列表
配对完,先别急着串流。Sunshine 默认只有"Desktop"(桌面)和"Steam 大屏模式"两个应用,你自己的游戏得手动加:
点Add New,填上应用名称和启动命令。比如要串流某款游戏,命令填它的可执行文件路径;想直接进 Steam 大屏,命令填steam://open/bigpicture。每条命令都支持环境变量,比如$(HOME)会被自动替换成你的主目录。加好之后,Moonlight 客户端里就能看到这些应用了。
想让体验脱胎换骨?试试这三个进阶玩法
基础流程跑通之后,串流就算入门了。但离"好用"还有距离,下面这三个玩法是我认为收益最高的。
玩法一:在局域网里把延迟压到最低
局域网串流是最常见的场景,Wi-Fi 够用,但想要丝滑,关键在于三点:
- 主机接网线:有线永远比无线稳,串流画面是持续传输的数据流,Wi-Fi 抖动会直接体现在画面上
- 客户端用 5GHz:如果客户端只能连 2.4GHz,先把路由器设置里换成 5GHz 频段再说
- 开启 UPnP:在配置页的搜索框里输入 "upnp"(Sunshine 的配置页支持关键词搜索,非常方便),勾选开启后路由器会自动做端口转发,不用手动进路由器后台
另外,硬件编码默认就是开启的,除非你在配置里看到编码器一栏显示的是软件编码,否则不用动。
玩法二:出门在外,把游戏机"装进"手机
人在公司,想玩家里电脑上的游戏?完全可以,但先做好三件事:
- 确认 UPnP 已开启,或手动在路由器上把 TCP 47984-47990 和 UDP 48010 转发给主机
- 确认 TLS 已启用(默认开启),远程串流的流量走公网,加密是底线
- 给家里配一个动态 DNS,这样即使家里 IP 变了,Moonlight 里填的地址也不用改
远程串流的画质上限取决于上行带宽。家里上行只有 20Mbps 的话,老老实实选 1080p,别硬上 4K;如果网络波动大,可以适当降低比特率换取流畅度。稳定的流畅,永远比高画质卡顿更值。
玩法三:让串流只针对"对的"那块屏幕
如果你主机上接着多个显示器,Sunshine 可以指定串流哪一块。快捷键Ctrl+Alt+Shift+F1到F12可以切换不同的显示器,Ctrl+Alt+Shift+N可以隐藏/显示鼠标指针——这两组快捷键在远程操作时尤其好用。
至于编码器选择,Sunshine 会按显卡自动匹配,但了解一下总没坏处:
| 显卡 | Windows | Linux | macOS |
|---|---|---|---|
| NVIDIA | NVENC | NVENC / Vulkan Video | Video Toolbox |
| AMD | AMF | VAAPI / Vulkan Video | Video Toolbox |
| Intel | QuickSync | VAAPI / Vulkan Video | Video Toolbox |
新手最容易撞上的三个坑
坑一:客户端根本找不到服务器
最常出现在刚装完的时候。先确认 Sunshine 服务在运行;再看防火墙,Windows 安装包一般会自动放行,但如果你手动关过防火墙策略,记得放行 47984-47990 和 48010 端口;最后确认手机和电脑连的是同一个路由器。三层都排查完,99% 能解决。
坑二:画面一顿一顿,像在看幻灯片
卡顿十有八九是编码或网络的问题。先打开配置页看一眼编码器是不是真的用了硬件编码——如果显示软件编码,说明显卡驱动没装好或不被识别。然后是网络:主机别用 Wi-Fi,客户端尽量用 5GHz,这两点做到位,卡顿基本消失。还卡就逐级降低分辨率和比特率,找到你的网络能稳稳吃住的档位。
坑三:画面来了,声音和手柄却没来
- Windows 下手柄不识别:需要先安装 ViGEmBus 虚拟手柄驱动,在 Sunshine 网页的Troubleshooting标签页里一键安装,装完重启电脑
- Linux 下键盘鼠标没反应:把运行 Sunshine 的用户加入
input组,然后注销重新登录 - 串流没声音:先检查是不是有别的程序独占了声卡;macOS 上可以把音频输出设为系统默认,让 Sunshine 自己接管
真到了排查不动的时候,打开Troubleshooting标签页看日志,Sunshine 会把编码器、显卡、色彩空间这些信息都记下来,错误提示比你想的直白得多:
写在最后:游戏不该被屏幕绑架
Sunshine 的价值,不在于它有多少技术名词,而在于它把"在哪玩游戏"的选择权交还给了你。沙发、床、地铁、酒店,只要屏幕和网络在手,书房里那台电脑就一直在等你。
下一步很简单:装好 Sunshine,配好 Moonlight,先串流一次桌面试试手感,再从这篇文章里挑一个进阶玩法去实践。至于更深入的东西——比如 HDR 串流、自定义应用命令、配置项详解——官方文档都在项目里,想钻研可以翻一翻 docs/getting_started.md 和 docs/configuration.md。
从今天起,你的游戏不再被一块屏幕圈住。去把电视打开吧。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考