如何用Sunshine搭建免费游戏串流服务器:把PC大作搬到客厅与掌上的完整教程
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
想象一个画面:你窝在客厅沙发上,用电视玩着书房电脑里的3A大作,手柄按下去的那一刻画面毫无迟滞——这不是科幻片,而是Sunshine这款开源游戏串流服务器带来的日常体验。作为Moonlight的官方服务端搭档,Sunshine能免费把PC游戏串流到手机、平板、电视等任意设备,没有订阅费、没有云端存储、所有画面数据只在你自己的局域网里流转。
一、先弄明白:串流到底在"流"什么
很多人第一次听说"游戏串流"时会犯嘀咕:这不就是把画面投屏吗?两者有本质区别。投屏只是把屏幕内容"送"过去,而串流是让一台低性能设备接管另一台高性能电脑的画面和声音——真正负责渲染和运算的是你的主机,手机和平板只充当显示器加遥控器。
Sunshine扮演的正是"传输枢纽"这个角色。它把主机上的画面实时编码成视频流,通过网络发给客户端,再把客户端传来的按键指令回传给游戏。整个过程是自托管的,意味着:
- 不依赖任何商业云服务,玩的是你自己的游戏库
- 画面数据不出家门(局域网场景下),隐私风险天然更低
- 一次投入硬件,长期零成本
一句话总结它的定位:一个完全属于你的私人游戏串流服务器。而它的老搭档Moonlight,则负责在接收端解码画面、回传操作,两兄弟一唱一和,组成了一整套开源的串流方案。
二、出发前,先备齐这几样东西
动手之前,先对照这份清单确认手里的装备够不够格,免得装到一半才发现硬件不支持:
主机端
- 一台性能尚可的PC:Windows、Linux、macOS、FreeBSD 都支持
- 显卡优先选支持硬编码的型号:NVIDIA(NVENC)、AMD(AMF)、Intel(QuickSync)均可,编码工作交给显卡能大幅降低CPU占用
网络端
- 路由器尽量支持千兆有线口;无线场景建议5GHz频段
- 想跨网络访问(比如在公司连家里的电脑),需要后续配置端口转发或UPnP
客户端设备
- 手机、平板、另一台电脑,或者树莓派这类嵌入式设备
- 安装Moonlight客户端即可,全平台都有对应版本
关于客户端选择,Sunshine的Web面板里有个"精选应用"页,直接列出了官方维护的Moonlight各版本入口,省得你自己到处找:
三、把Sunshine装起来:不同系统各有各的姿势
安装Sunshine远比想象中简单,最省事的做法是按系统选对应渠道:
- Windows:直接下载安装程序双击运行,或者用
winget install LizardByte.Sunshine一条命令搞定 - Linux:Flatpak 用户执行
flatpak install flathub dev.lizardbyte.app.Sunshine;喜欢绿色软件的话,下载 AppImage 后赋予执行权限即可 - macOS:Homebrew 一行命令:
brew install sunshine - Docker:拉取官方镜像
docker pull lizardbyte/sunshine,适合喜欢容器化管理的玩家
如果你喜欢折腾源码,也可以克隆仓库自行编译:git clone https://gitcode.com/GitHub_Trending/su/Sunshine,编译细节可以参考 docs/building.md,不过对大多数用户来说,用发行版渠道就够了,没必要绕远路。
装完先别急,记住一个关键信息:Sunshine的Web管理面板默认跑在47990端口,这是后面所有配置的入口。
四、第一次握手:登录面板与Moonlight配对
安装完成,在浏览器输入http://localhost:47990,你会看到Sunshine的欢迎页面。默认用户名是sunshine,首次登录时系统会引导你设置一个专属密码——请务必记牢,这是你管理整个串流服务的第一道锁。
接下来是和Moonlight"配对"的环节,流程大致是:
- 在面板里找到PIN码页面,生成一串配对码
- 打开手机或电脑上的Moonlight客户端,让它扫描局域网内的主机
- 识别到Sunshine后,输入刚才的配对码完成握手
配对成功后,客户端会显示这台主机的状态,点进去就能看到你配置的应用列表。到这一步,你已经完成了整个串流系统80%的工作——剩下的都是锦上添花。
五、建立你的"游戏应用库"
配对完成后,Sunshine默认带了一个桌面应用和Steam大屏模式,但你大概率想把更多游戏加进来。在Web面板的Applications页,点击"Add New"就能创建新应用:
- 名称:起个好认的名字,比如"艾尔登法环"
- 启动路径:填游戏的exe或命令
- 参数:有特殊启动参数可以一并写上
需要注意一个小细节:客户端侧的应用列表只在重启后刷新,所以新增应用后,记得在Moonlight里下拉刷新或重启一次,新游戏才会出现。另外,如果你对每个应用想单独控制启动方式、工作目录、甚至提前运行脚本,这些都在配置页面里有对应的选项,官方文档 docs/configuration.md 写得很细,按需查阅即可。
六、三个真实场景:客厅、通勤、全家共享
配置做完,该聊点实际的了。同样是串流,不同场景下的最佳姿势完全不一样。
场景一:客厅大屏,躺着打3A
把主机接上电视、手柄连上客户端设备,这是最爽的用法。想让画质和手感都到位,记住几个关键旋钮:
- 分辨率:调到电视原生分辨率,比如4K电视就选4K,避免缩放糊脸
- 码率:千兆有线网络下可以放开来给,50Mbps左右体验最佳;网络一般就降到20-30Mbps保流畅
- HDR:如果你的电视和显卡都支持,开启HDR后色彩观感会有质的提升
- 音频:需要环绕声的话,在客户端选择对应的音频输出模式
场景二:通勤路上,掌上续玩
上下班路上想接着玩,Mobile端是主战场。这时候网络质量成了最大变量:
- 优先5GHz WiFi,信号弱的地铁车厢里就别指望4K了,把画质降到1080p甚至720p更实际
- 触控游戏可以自定义虚拟按键布局,射击类游戏强烈建议带个手柄
- 开启移动设备的省电模式相关选项,别让串流半小时就掏空电池
场景三:全家共享一台主机
一台Sunshine服务器可以同时服务多个账号,家庭场景特别好用:给每个人都建独立账户,各自的游戏列表和权限互不干扰;家里有几台设备同时在线时,合理分配码率上限,避免互相抢带宽导致全员卡顿。一个细节是建议给大人和孩子的账号分开设置可访问的应用,省心又安全。
七、把体验调到顺滑:编码器与网络的关键旋钮
如果串流体验是辆车,编码器和网络就是发动机和路况。Sunshine在编码器选择上相当"省心":它会根据你的显卡自动挑最合适的硬件编码方案——N卡走NVENC、A卡走AMF、I卡走QuickSync,实在不行还有软件编码兜底,兼容性拉满。想研究编码器底层实现的话,src/nvenc/ 目录就是硬件编码相关的核心代码所在。
手动调优时,下面这组码率参考值可以当起点:
- 1080p 60帧:15-25Mbps,适合普通宽带
- 1440p 高刷:25-50Mbps,适合千兆网络
- 4K 60帧:50-100Mbps,有线网络的天花板体验
帧率方面,尽量匹配游戏原生帧率(60/120/144),配合垂直同步能减少画面撕裂;编码预设则是在画质与延迟之间找平衡——追求竞技手感可以偏向低延迟预设。
网络侧的配置也不复杂。在Configuration页面搜索"UPnP",打开自动端口转发,Sunshine就能在支持UPnP的路由器上自动放行串流需要的端口,省去手动设置转发的麻烦:
八、卡顿、黑屏、连不上:常见问题速查手册
串流路上总会遇到几个坑,把最常见的列出来,对号入座即可。
问题一:客户端死活发现不了服务器先查防火墙,确认47990端口放行;再确认两台设备在同一个局域网;最后看一眼UPnP是不是被路由器关了。这三步能解决九成"找不到主机"的案例。
问题二:画面卡顿、掉帧从三个方向排查:把码率和分辨率降一档试试;关掉同时下载、看视频等高占用应用;检查显卡驱动是不是太旧了。
问题三:手柄没反应Windows下常见原因是缺少虚拟手柄驱动ViGEmBus。Sunshine的Troubleshooting页面会直接检测并提示安装,点一下按钮即可搞定:
问题四:问题太复杂,说不清那就看日志。Sunshine自带日志查看页,红字标注的Error行通常就是问题根源,比如"Could not open codec"这类编码器报错,一眼就能定位是硬件不支持还是驱动没装好。Windows下日志在安装目录的config文件夹,Linux/macOS则在~/.config/sunshine/,也可以在Web面板直接查看:
更系统的排查思路可以参考 docs/troubleshooting.md,里面按症状分类整理了常见问题,比瞎猜高效得多。
九、长期安心用:安全与维护的几个习惯
串流服务一旦搭好,就是常年运行的"小家电",养成几个好习惯能少很多麻烦:
- 密码别偷懒:Web面板和串流配对都别用弱密码,这关系到你整台电脑的暴露面
- 网络隔离:如果家里有访客WiFi,把串流设备放到信任网络里,别让它裸奔在公共网段
- 勤更新:Sunshine和显卡驱动都保持在较新版本,新编码特性与修复都是白捡的
- 留意日志:偶尔翻一眼日志页,很多隐患在变成"卡顿事故"之前就有征兆
写在最后:现在就可以开始
回头看,整个流程其实比想象中短:装个软件、配个密码、和Moonlight握个手、把游戏加进列表——十分钟左右就能跑通第一次串流。之后无非是根据自己的网络和设备慢慢调优,越用越顺。
如果你正纠结"花大几千买云游戏会员值不值",不妨先花一个晚上把Sunshine搭起来试试。它是开源的,不花钱;它跑在你自己的硬件上,数据不外流;它支持Windows、Linux、macOS全平台,几乎覆盖所有主流设备。
下一步的行动清单很简单:选一台客户端设备装上Moonlight,打开面板配好密码,跑通第一次串流,然后从码率调起,逐步逼近你网络条件下的画质上限。客厅的大屏、通勤路上的掌机、全家共享的欢乐时光,都从一个http://localhost:47990开始。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考