Sunshine 快速上手:10 分钟免费装出一台 PC 游戏串流服务器
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
周五晚上窝在沙发里,游戏却只能跑在那台 13 寸笔记本上,两米外的电视黑着。Sunshine 是个装在主机上的自托管游戏串流服务端:游戏照常在本机跑,它负责把画面和声音低延迟地搬到你手边的 Moonlight 客户端——手机、电视、平板都行。
它到底是什么
Sunshine 是装在自家电脑里的游戏串流服务端——游戏照常在本机跑,它只负责把画面和声音低延迟地搬到 Moonlight 客户端。
- 免费开源,没有订阅费,数据不出家门
- Windows、Linux、macOS 都能当主机
- NVENC、AMF、VAAPI、QuickSync 硬件编码
- 浏览器里就能完成全部配置
- 网页 PIN 码配对,约 10 秒授权一台设备
- 虚拟手柄可模拟 Xbox、Switch、PS 手柄
和 Steam Link 相比,它多了 AMD、Intel、NVIDIA 全编码后端和细粒度编码参数,少了闭源黑箱。
跑通前:3 分钟自查表
| 项目 | 最低 | 推荐 |
|---|---|---|
| CPU | Intel i3 / AMD Ryzen 3 | Intel i5+ / AMD Ryzen 5+ |
| GPU | 带硬件编码的核显或独显 | NVIDIA GTX 1060+ |
| 内存 | 4GB | 8GB+ |
| 网络 | 5GHz WiFi | 千兆有线 |
| 客户端 | 任意能装 Moonlight 的设备 | 电视 / 平板 / 笔记本 |
另外你还需要:①一台装 Sunshine 的主机电脑;②一台装了 Moonlight 客户端的设备(应用商店搜 "Moonlight" 即可)。
从 0 到画面亮起:10 分钟跑通第一次串流
先把它装好。拉源码编译,约 3-10 分钟:
# 拉取 Sunshine 源码 git clone https://gitcode.com/GitHub_Trending/su/Sunshine cd Sunshine mkdir build && cd build cmake .. && make -j$(nproc) # 编译 sudo make install # 安装到系统做完这步,command -v sunshine应该能打出安装路径。
接着把服务跑起来。Linux 上推荐走 systemd:
# 启动 Sunshine 用户服务并设为开机自启 systemctl --user --now enable app-dev.lizardbyte.app.Sunshine然后浏览器访问https://localhost:47990。它会提示"不安全网站",自签名证书的正常现象,点继续访问即可。首次进入建一个管理员账户,密码务必记牢。做完这步你应该看到 Sunshine 的欢迎页。
最后让客户端认上这台机器。
Moonlight 打开后自动发现局域网主机,显示 4 位 PIN 码 → 回浏览器 PIN 页输入 PIN,给设备起个名字,回车 → 出现绿色成功提示,配对完成做完这步,在 Moonlight 里点 Desktop 应用,电视上就会亮起主机桌面。
装完当天就会用到的 4 个操作
把单个游戏加进串流列表
怎么做:Applications 页点 Add New,启动命令填steam://open/bigpicture(Linux 加setsid前缀)加进 Steam 大图模式。 什么时候用:多台设备、多人共用一台主机时,给每人一个独立入口,不用抢桌面。
按关键词搜配置参数
怎么做:Configuration 页顶部搜索框输bitrate、fps、upnp,相关选项立刻高亮,改完点 Save 生效。 什么时候用:想调码率上限或帧率目标时,搜max_bitrate、minimum_fps_target直达,不用翻长文档。
多显示器间切串流屏幕
怎么做:快捷键Ctrl+Alt+Shift+F1到F12,把当前串流切到对应编号的显示器。 什么时候用:主机接了两台以上显示器,随时把"镜头"对准游戏所在那台。
看实时日志定位卡顿
怎么做:Troubleshooting 页滚动着运行日志,编码器加载、端口占用、帧率波动都带时间戳。 什么时候用:连不上或画面卡顿时,先来这里读警告,再动手改配置。
三条典型使用路径(按目标选)🎮
路径 A:同一张局域网里玩。主机接网线,客户端走 5GHz WiFi 或网线;码率从默认起步,在配置里搜max_bitrate逐步上调,直到画面满意且不卡。注意放行 47984–47990(TCP)端口。
路径 B:隔着一座城也想玩。路由器做端口转发,配置页开启 UPnP 自动映射;连接全程 TLS 加密 + 高强度密码;分辨率压到 1080p,先保帧率再谈画质。
路径 C:不玩游戏,当远程桌面用。直接串 Desktop 应用;串流中按Ctrl+Alt+Shift+N隐藏光标,手感更像远程桌面;办公场景把帧率目标调低,省带宽。
串流故障速查表
| 症状 | 最常见原因 | 一行修复动作 |
|---|---|---|
| Moonlight 找不到主机 | 防火墙没放行端口,或 Sunshine 没启动 | pgrep sunshine确认进程在跑,放行 47984–47990 |
| 画面有但键鼠无响应 | Linux 下运行用户缺输入权限 | sudo usermod -aG input $USER,重新登录生效 |
| 电视端高码率丢包严重 | 网卡 MTU 不匹配 | 主机网卡 MTU 降到 1428,或码率压到 5000 以下 |
| 硬件编码器加载失败 | 显卡驱动或编码参数不匹配 | 看 Troubleshooting 页编码器日志,Linux N 卡补 CUDA 依赖 |
| PIN 配对后设备掉线 | 客户端被删或换了设备 | Moonlight 里删掉主机重新添加,PIN 流程重走一遍 |
表里没你的问题?去 docs/troubleshooting.md 翻一翻,常见坑都有专节。
想深入的方向
- 全部可调参数与默认值:docs/configuration.md,HDR、VAAPI、KMS 抓屏的取舍都在里面
- 给每台设备一个独立入口的现成命令模板:docs/app_examples.md
- 核心编码逻辑在 src/video.cpp,各平台抓屏实现在 src/platform/,按系统选目录读
回到开头那个场景:电视就在两米外,现在它能亮了。先做一件事——在主机上按上面的命令把 Sunshine 装起来,打开 Moonlight 点配对。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考