10分钟搭好Sunshine游戏串流服务器:免费开源的Moonlight主机完整指南
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 是一款完全免费开源、可自托管的游戏串流服务器,负责为 Moonlight 客户端提供服务端能力:把你电脑上的游戏画面实时编码成视频流,送进手机、平板、电视等任意屏幕,手柄输入再原路传回主机。装好、配对、开玩,整个过程约10分钟。
| 维度 | 云游戏订阅 | 厂商闭源串流 | Sunshine(开源自托管) |
|---|---|---|---|
| 游戏运行位置 | 厂商机房 | 你的电脑 | 你的电脑 |
| 月度成本 | 订阅费 | 通常免费 | 0 元 |
| 数据去向 | 第三方 | 厂商生态 | 仅在你自己的网络内 |
| 编码方式 | 服务端统一 | 厂商自研 | NVENC / QuickSync / VAAPI / 软件编码 |
结论:不花订阅费、不依赖厂商平台,延迟和画质都掌握在自己手里。
装完就能跑,先核对三件事 🔍
动手前一分钟检查,能避开绝大多数安装问题。
- 系统版本:Windows 11+、Ubuntu 22.04+ / Debian 13+ / Fedora 43+、macOS 14.2+。注意 macOS 版目前标记为实验性,暂不支持手柄,想玩手柄请先用 Windows 或 Linux 主机。
- 硬件门槛:CPU 为 AMD Ryzen 3 / Intel Core i3 及以上;内存 4GB 起;显卡支持硬件编码即可(NVENC 卡、Intel VAAPI 核显、AMD VCE),都没有时软件编码也能跑。
- 网络:主机和客户端都在 5GHz WiFi 下是推荐配置;想跑 4K 串流,两边都建议走网线。
按你的系统选一行(Linux 有发行版专属包时优先用发行版包):
# Windows:从发布页下载 Sunshine-Windows-AMD64-installer.msi 双击安装 # Linux(Flatpak,跨发行版的应用包格式): flatpak install --user flathub dev.lizardbyte.app.Sunshine flatpak run --command=additional-install.sh dev.lizardbyte.app.Sunshine # macOS(Homebrew,macOS 上的包管理器): brew tap LizardByte/homebrew && brew install sunshine # Docker(官方注明不推荐大多数用户使用): docker pull lizardbyte/sunshine首次连接,共 5 步:
- 启动 Sunshine。Linux 执行
systemctl --user start app-dev.lizardbyte.app.Sunshine启动用户服务;Windows 安装后默认以服务运行。 - 浏览器访问
https://localhost:47990打开 Web 管理界面。浏览器会警告"不安全网站"——这是自签名证书(自己签发的证书,未被公共机构认证)的正常表现,继续访问即可。 - 首次进入按页面提示创建 Web 登录用户名和密码。务必记牢,这是管理界面的钥匙。
- 在目标设备装 Moonlight 客户端并添加这台主机;客户端请求 PIN(配对码)时,回到网页导航栏的 PIN 页填入该码,给设备起个名字,看到成功提示即配对完成。
- 在 Moonlight 应用列表里点选一个应用,开始串流。
怎么确认成功了:目标屏幕上 5 秒内出现主机画面,按键和手柄都有响应。三条齐了,就通了。
三个任务解锁核心玩法 🎮
串通之后,用任务而非场景来安排功能。
任务A:把整块桌面串到大屏
目标:在 Moonlight 里一键看到主机桌面。
- 不配置任何东西也能做——Sunshine 自带Desktop应用(整块桌面直接串流,不启动任何程序)和Steam入口(启动后直接进大屏游戏模式);
- 在 Moonlight 应用列表里选Desktop,点击开始;
- 电视/平板出现主机桌面,用
Ctrl+Alt+Shift+N隐藏或显示光标(所有快捷键都以Ctrl+Alt+Shift开头)。
跑 3A 大作优先选 Steam 入口进大屏模式,手柄会被模拟成主机上配置的游戏手柄类型,输入几乎无感延迟。
任务B:给每个游戏开一个专属入口
目标:以后不用在桌面里找图标,Moonlight 里一点直达游戏。
- Web 管理界面进 Applications 页,点Add New;
- 填应用名、命令(
cmd)与工作目录(cwd),例如浏览器或 Steam 里某个游戏的启动命令; - 保存后 Moonlight 刷新即可看到该应用。命令里支持环境变量,
$(HOME)会自动替换成你的家目录。
串流中按
Ctrl+Alt+Shift+F1到F12可切换到不同显示器继续玩;被串流的应用退出时,串流会自动结束。
任务C:出门在外连回主机
目标:不在家时也能远程开玩。
- 在 Web 配置页搜索
upnp(UPnP 是路由器自动开端口转发的协议),把默认disabled改成enabled,让路由器替你映射串流端口(Sunshine 基础端口默认47989,网页管理走47990); - 在 Moonlight 里手动添加这台主机的公网 IP;
- 远程串流对上行带宽更敏感,先把分辨率和码率调低再试。
⚠️ Web 管理页的访问范围由
origin_web_ui_allowed控制,默认lan表示只有局域网设备能打开。想从外网管理需另行做端口转发,并配强密码、保持软件更新。
一张表搞定排障 🛠️
排障和调优合并成一张表,照症状开药。
| 症状 | 常见原因 | 解法 |
|---|---|---|
| Moonlight 发现不了主机 | 不同网段或防火墙拦截 | 确认同一局域网并放行端口;Moonlight 里手动填 IP 添加 |
| Web 界面打不开 | 用了http或端口被占 | 用https://localhost:47990访问;检查防火墙规则 |
| 日志报编码器错误 | 显卡驱动或编码支持缺失 | 更新显卡驱动,对照 README 兼容表核对 GPU 与编码 API |
| 画面卡顿、掉帧 | 带宽不足或码率过高 | 先降分辨率/码率再谈画质,参考docs/performance_tuning.md |
| 键盘鼠标手柄没反应 | 输入设备权限问题 | Linux 执行sudo usermod -aG input $USER后重启;Windows 安装 Virtual HID Driver 后重启 |
| 忘记 Web 登录密码 | 凭据丢失 | 执行sunshine --creds 新用户名 新密码重置 |
看日志的方法:网页端Logs标签页直接查看运行日志,Troubleshooting页逐条列出警告与错误;本地文件在 Linux 的~/.config/sunshine/sunshine.log,位置可用配置项log_path修改。
五分钟收尾,照着打勾 ✅
那台书房 PC 里的 3A 大作,现在正躺在你卧室的电视里——十分钟,零成本,数据一步不出家门。
- 在主机上安装 Sunshine(按上面对应系统的命令)
- 访问
https://localhost:47990,完成首次用户名密码设置 - 在 Moonlight 中添加主机并完成 PIN 配对
- 用内置 Desktop 应用串流一次桌面,确认画面与输入正常
- 在 Applications 页添加至少一个自定义游戏入口
- 按排障表处理一次卡顿或输入问题
- (进阶)启用 UPnP,解锁远程串流
延伸入口(仓库内文档):
- docs/getting_started.md:各发行版安装方式与首次启动的完整细节
- docs/configuration.md:每个配置项的含义、默认值与可选值
- docs/performance_tuning.md:码率、分辨率、编码器选择
- docs/troubleshooting.md:按平台细分的疑难问题手册
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考