Sunshine游戏串流服务器搭建指南:把PC游戏带到每一块屏幕
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
"这台4060显卡的PC明明就在书房,我却只能坐在27寸显示器前玩?"周末朋友来家里做客,你想把《艾尔登法环》投到客厅的75寸电视上,却发现要么搬主机、要么买新电脑。其实,你缺的不是硬件,而是一套家庭游戏串流服务器——Sunshine,一款专为Moonlight客户端设计的开源游戏串流服务端,能把你现有的PC变成全屋共享的游戏中心。
一句话说清楚:Sunshine 就像给你的游戏 PC 装了一个"电视台发射塔",画面在主机上实时编码,通过局域网(或公网)推送给任何装了 Moonlight 的设备。它开源免费、支持 Windows/Linux/macOS/FreeBSD,用上自家显卡的硬件编码,延迟低到你几乎感觉不到。
Sunshine 能帮你解决哪些问题
| 烦恼场景 | 是否解决 |
|---|---|
| 想在大屏电视上玩 PC 游戏 | ✅ 客厅直接变身游戏影院 |
| 出门在外想接着玩家里的进度 | ✅ 配好公网后可远程串流 |
| 笔记本性能不够跑大作 | ✅ 画面由高性能主机渲染 |
| 游戏主机、平板、手机互不通用 | ✅ 统一用 Moonlight 客户端接入 |
| 不想再买一台高配电脑 | ✅ 一套硬件全家共享 |
它的工作原理:像电台一样广播画面
你可以把 Sunshine 理解成一台"画面广播电台":它先把显卡渲染出的画面交给硬件编码器(NVIDIA 的 NVENC、AMD 的 AMF/VAAPI、Intel 的 QuickSync),压缩成 H.264/HEVC/AV1 视频流,再通过网络发送给客户端;客户端收到后解码、显示,并把你的手柄/键盘/鼠标输入原路传回主机。整个过程每帧延迟低至几毫秒,就像游戏"长"在了客户端屏幕上。
最快体验路径:从零跑通只需四个动作
第一步:获取源码(可选,仅当你需要自己编译时)
git clone https://gitcode.com/GitHub_Trending/su/Sunshine日常使用其实不用编译,按系统直接装现成包更快。
第二步:按系统选择安装方式
| 系统 | 安装方式 | 一句话说明 |
|---|---|---|
| Windows | 下载.msi安装程序 | 装完即用,注意选装虚拟手柄驱动 |
| Linux | Flatpak / deb / rpm | flatpak install flathub dev.lizardbyte.app.Sunshine |
| macOS | Homebrew | brew install sunshine(手柄暂不支持) |
| FreeBSD | pkg 安装包 | sudo pkg install ./Sunshine-FreeBSD-*.pkg |
第三步:打开 Web 配置入口
安装完成后,浏览器访问https://localhost:47990,首次登录会让你创建用户名和密码(默认用户名sunshine),并同意自签名证书的安全提示——这是正常的。
第四步:在 Moonlight 里配对
- 在手机/平板/电视上装好 Moonlight 客户端,手动添加主机 IP;
- Moonlight 弹出 PIN 码后,回到 Sunshine 网页的 PIN 页面输入并确认;
- 回到客户端,选择应用(如 Desktop 或 Steam),开始串流。
三个典型场景的配置要点
场景一:客厅大屏游戏影院
主机放书房、电视在客厅,全屋覆盖 5GHz WiFi 或走有线回程。
- 主机端:有线连接路由器,关掉主机休眠;
- 客户端:电视/机顶盒装 Moonlight,配无线手柄;
- 网络:路由器开启 QoS,给串流流量高优先级;
- 画质建议:4K@60fps 需千兆有线,1080p@60fps 用 5GHz WiFi 即可。
场景二:平板/手机移动串流
通勤路上、卧室床上继续玩。
- 分辨率按设备屏幕调整(平板 1080p、手机 720p);
- 移动网络下把码率降到 10~15Mbps 防卡顿;
- 在 Moonlight 里自定义触控虚拟按键布局;
- 跨公网串流需在路由器上做端口转发(默认 UDP 47998~48010 等),或用 UPnP 自动完成——在配置页搜索 "Upnp" 打开开关即可。
场景三:多用户家庭共享
给家人各自独立的游戏库和权限。
- 在 Applications 页面为每个人添加不同启动参数的应用;
- 各设备用不同名称配对,互不干扰;
- 想更精细控制,可以直接编辑
apps.json文件(位于配置目录,Linux 下是~/.config/sunshine/)。
避坑锦囊:新手最常见的 5 个问题
1. 客户端找不到 Sunshine 服务器?检查防火墙是否放行 47989/47990 等端口,确认手机和主机在同一网段,再用ping确认连通。
2. 画面卡顿、掉帧严重?优先排查网络而非硬件:用 iperf3 测一下主机到客户端 50Mbps 的 UDP 传输,丢包率应低于 5%、抖动小于 1ms。无线环境建议降码率或换有线。
3. 输入延迟明显?换有线连接;在编码设置里把预设从"质量优先"切到"性能优先";NVIDIA 用户可在驱动面板打开 Fast Sync。
4. 手柄连上但游戏里没反应?Linux 下确认运行 Sunshine 的用户已加入input组(sudo usermod -aG input $USER后注销重登);Windows 需单独安装虚拟手柄驱动(libvirtualhid),装完重启电脑。
5. 忘了 Web 界面密码?不用重装,执行sunshine --creds 新用户名 新密码即可重置。
深入学习资源
- 官方配置文档:docs/configuration.md(3391 行的完整配置项说明)
- 快速上手:docs/getting_started.md
- 性能调优:docs/performance_tuning.md
- 核心源码:编码器在 src/nvenc/、串流逻辑在 src/stream.cpp、Web 界面在 src_assets/common/assets/web/
- 想研究原理,可以从 src/video.cpp 和 src/rtsp.cpp 入手
写在最后
回到开头的场景:那台 4060 显卡的 PC,现在可以同时服务客厅电视、卧室平板和随身手机。Sunshine 的价值不在于技术参数多漂亮,而在于它把"游戏资源"从一台机器里解放出来——不需要再买第二台高配电脑,不需要为了换场地而搬家。配置好之后,你唯一要纠结的问题是:今晚在哪个屏幕前继续冒险?
你与"全家共享游戏"之间,只差一个 Sunshine 的距离。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考