Sunshine 串流服务器:10 分钟配通 Moonlight
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
你窝在沙发里,想玩的那款 3A 装在书房那台电脑上,屏幕和手柄都在五米外。手机里没这游戏,也装不了。把主机画面搬到手机上,又不想掏订阅费——这就是 Sunshine 要解决的问题。Sunshine 是一款开源自托管游戏串流服务器,为 Moonlight 客户端提供服务端能力。它是给零经验新手的:照着走,10 分钟装好、配对,串通第一屏,全程零成本。
串流链路拆解:Sunshine 只管抓屏、编码和回传
Sunshine 自己不放画面。它只做三件事:抓取主机屏幕、调用显卡硬件编码压成视频流、把客户端的键盘鼠标手柄操作模拟回主机。解码和播放交给 Moonlight 客户端,Windows、macOS、Linux、Android、iOS、tvOS 上都有。
| 对比项 | 云游戏订阅 | 厂商闭源串流 | Sunshine(开源自托管) |
|---|---|---|---|
| 游戏跑在哪 | 厂商机房 | 你的电脑 | 你的电脑 |
| 每月开销 | 订阅费 | 多为免费 | 0 元 |
| 编码发生在哪 | 机房 GPU | 厂商设备 | 你自家显卡硬件编码 |
| 客户端范围 | 有限 | 自家生态 | 任意平台的 Moonlight |
| 数据去向 | 第三方 | 厂商生态内 | 只在自己网络里 |
新手选它的理由很直接:不掏订阅费,不绑平台,画质和延迟都攥在自己手里。
装 Sunshine 前:系统、显卡、网络三道门槛
先花一分钟对表。不达标多数只是降画质,不是不能用。
- 系统版本:Windows 11+、Ubuntu 22.04+ / Debian 13+ / Fedora 43+、macOS 14.2+、FreeBSD 15.1+。⚠️ macOS 目前是实验性的,且暂不支持手柄。不达标怎么办:换一台达标的机器当主机,本机改当客户端。
- 硬件门槛:CPU 为 AMD Ryzen 3 或 Intel Core i3 及以上,内存 4GB 起,显卡带硬件编码即可(NVIDIA NVENC、Intel QuickSync/VAAPI、AMD VCE 1.0+)。不达标怎么办:选软件编码,吃 CPU 但能跑。
- 网络条件:主机和客户端都建议 5GHz 802.11ac WiFi;想上 4K,双方都走 CAT5e 及以上网线。不达标怎么办:把分辨率和码率调低,先保流畅。
💡 4K 与 HDR 另有更高门槛(如 NVIDIA 需 GTX 1080/RTX 2000 系以上),细节见 README.md 里的硬件表格,别凭感觉买硬件。
Windows、Linux、macOS 三平台安装命令与启动验证
原则:有发行版专属包就用它,其次 Flatpak,Docker 官方明确不推荐普通用户。
- Windows:从发布页下载
Sunshine-Windows-AMD64-installer.msi,双击安装,装完默认以服务运行。 - Linux:Ubuntu/Debian 装
.deb,Fedora 装.rpm,发行版包都没有时用 Flatpak。 - macOS:下载对应架构的
.dmg,把Sunshine.app拖进"应用程序",也可用 Homebrew。
# Linux:Flatpak 安装(发行版包优先) flatpak install --user flathub dev.lizardbyte.app.Sunshine flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine# macOS:Homebrew 安装 brew tap LizardByte/homebrew && brew install sunshine装完做两步,确认它活着:
- 启动服务。Linux 启动用户服务,想开机自启就加
--now enable;Windows 装完即服务;macOS 首次打开应用,按提示授予屏幕录制和麦克风权限。
# Linux:启动并设为开机自启 systemctl --user --now enable app-dev.lizardbyte.app.Sunshine- 打开管理界面。浏览器访问
https://localhost:47990。浏览器会警告"不安全网站"——自签名证书的正常表现,点继续访问。看到 Sunshine 欢迎页,说明服务活着。
💡 管理页默认只允许局域网设备访问,外网打不开是设计如此,不是装坏了。
Moonlight PIN 配对:两台设备的第一次握手
这是唯一需要两台机器配合的环节。每步都标清了在哪台设备上操作。
- 【主机端】登录
https://localhost:47990。首次进入要求创建管理界面的用户名和密码,务必记牢——日后改配置、查日志、看 PIN 都靠它。 - 【客户端】在目标设备(手机/平板/电视/电脑)上装好 Moonlight,添加这台主机。找不到时手动填主机局域网 IP。
- 【客户端】Moonlight 弹出 PIN 输入框,记下屏幕上显示的码。
- 【主机端】回到网页导航栏的PIN页,把码填进去,按
Enter。 - 【主机端】给设备起个名字。看到成功提示,配对完成。
- 【客户端】选一个应用,比如内置的Desktop,点开始。
三条件成功判定✅:目标屏 5 秒内出现主机画面、按键和手柄都有响应、画面跟手没有明显拖影。缺任何一条,都算没跑通,直接跳故障表。
三个马上能玩的 Sunshine 串流场景
把整块桌面推到客厅电视上
目标:Moonlight 里一键看到主机桌面,不启动任何程序。
- 不用配置——Sunshine 自带Desktop应用(直接串整块桌面)和Steam入口(启动即进大屏游戏模式)。
- 在 Moonlight 应用列表选Desktop,点开始。
- 桌面出现后,按
Ctrl+Alt+Shift+N隐藏或显示鼠标光标。所有快捷键都以Ctrl+Alt+Shift开头。
⚡ 跑 3A 大作优先走 Steam 入口进大屏模式,手柄会被模拟成主机上配置的类型,输入几乎无感延迟。
桌面串稳了,再添个入口。
给每个游戏建一个专属串流入口
目标:Moonlight 里一点直达游戏,不用翻桌面图标。
- Web 管理界面进应用(Applications)页,点Add New。
- 填应用名、命令(
cmd)与工作目录(cwd),比如某个浏览器或某款游戏的启动命令。 - 保存,Moonlight 刷新即可看到新应用。
⚡ 命令里支持环境变量:$(HOME)自动替换成你的家目录;Flatpak 用户记得在命令前加flatpak-spawn --host。
家里办完,往外走。
出门在外用 Moonlight 连回家里的主机
目标:不在家也能开机开玩。
- Web 配置页搜索栏输入
upnp,把默认disabled改成enabled,让路由器自动映射串流端口(基础串流端口默认47989,网页管理走47990)。 - 在 Moonlight 里手动添加主机的公网 IP。
- 远程串流对上行带宽敏感,先把分辨率和码率调低再试。
⚡origin_web_ui_allowed默认lan,只有局域网能打开管理页;想从外网管理,要另行做端口转发,并配强密码、保持软件更新。
💡 UPnP 只管自动映射端口。路由器不支持时,去路由器后台手动转发
47989-47991。
Sunshine 卡住了:现象、原因与一步解法对照表
照症状开药,先查表再翻日志。
| 现象 | 大概率原因 | 一步解法 |
|---|---|---|
| Moonlight 发现不了主机 | 不同网段或防火墙拦截 | 确认同一局域网并放行端口;Moonlight 里手动填 IP 添加 |
| Web 界面打不开 | 用了http或端口被占 | 改用https://localhost:47990;检查防火墙规则 |
| 日志报编码器错误 | 显卡驱动旧或编码支持缺失 | 更新显卡驱动,对照 README 编码兼容表核对 GPU |
| 画面卡顿、掉帧 | 带宽不足或码率过高 | 先降分辨率/码率,再谈画质 |
| 鼠标键盘手柄没反应(Linux) | 输入设备权限缺失 | 终端执行sudo usermod -aG input $USER,重新登录生效 |
| 忘记 Web 登录密码 | 凭据丢失 | 终端执行sunshine --creds {new-username} {new-password} |
日志入口三条路:
- 网页端:Logs标签页直接看运行日志,Troubleshooting页逐条列出警告与错误。
- 本地文件:Linux 默认
~/.config/sunshine/sunshine.log,Windows 在%LocalAppData%\Sunshine\sunshine.log;文件名可用log_path修改,保留最近 5 份历史。 - 命令行:
sunshine --help可查看全部启动参数。
Sunshine 上手毕业清单与仓库内延伸阅读
沙发上那局,现在由电视替你打完。
- 按对应系统装好 Sunshine 并启动服务
- 浏览器打开
https://localhost:47990,记下首次创建的管理账号密码 - Moonlight 添加主机,完成 PIN 配对
- 用内置Desktop应用串一次桌面
- 确认画面、按键、手柄三项都响应
- 在 Applications 页添加至少一个自定义应用
- 按对照表处理过一次卡顿或输入问题
- (进阶)把
upnp改为enabled,试一次远程串流
延伸阅读(仓库内文档):
- docs/getting_started.md:各平台安装方式与首次启动的完整细节
- docs/configuration.md:每个配置项的含义、默认值与可选值
- docs/performance_tuning.md:码率、分辨率与编码器调优
- docs/troubleshooting.md:按平台细分的疑难问题手册
- docs/building.md:想从源码编译 Sunshine 的开发者入口
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考