5步跑通Sunshine游戏串流服务器:零订阅费,把PC变成Moonlight主机
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
你想在客厅电视上玩书房电脑里的游戏。把 Sunshine(免费开源、自托管的游戏串流服务器)装进电脑,Moonlight 客户端一连,画面和手柄输入就能在设备之间双向流动。
值不值得搭
同一台主机,三种"玩到别的屏幕上"的路子,差别其实就几条:
| 对比维度 | 云游戏订阅 | 厂商闭源串流 | Sunshine(自托管) |
|---|---|---|---|
| 游戏在哪台机器跑 | 云端机房 | 自己的设备 | 你的PC |
| 持续性花费 | 按月订阅 | 设备捆绑 | 无,软件免费开源 |
| 画面数据经过谁 | 第三方机房 | 厂商管道 | 只走你自己的局域网 |
| 能串到哪些客户端 | 厂商指定 | 自家生态 | 任意 Moonlight 客户端 |
| 编码靠什么 | 云端统一编码 | 厂商方案 | 本机 NVENC / QuickSync / VAAPI / AMF 硬编,没有硬编可用软件编码 |
给新手的结论:零订阅费、不注册第三方账号、不用换设备。画质和延迟自己说了算,代价只是这台主机要一直开机、显卡得带硬件编码(CPU 软件编码是兜底方案)。
一次装通:从下载到画面和手柄都有反应
照顺序做,5 步内完成安装和首次配对。
核对配置。主机系统:Windows 11+ / Ubuntu 22.04+ / Debian 13+ / Fedora 43+ / macOS 14.2+ / FreeBSD 15.1+;CPU:Ryzen 3 或 i3 及以上;内存 4GB+;显卡:带硬件编码的 NVIDIA / Intel / AMD 卡。注意 macOS 版目前是实验性的且不支持手柄,想用手柄先选 Windows 或 Linux 主机。
安装 Sunshine。按系统取对应安装包(详见 docs/getting_started.md):
# Linux(Flatpak,发行版有专属包时优先用专属包) flatpak install --user flathub dev.lizardbyte.app.Sunshine flatpak run --command=additional-install.sh dev.lizardbyte.app.SunshineWindows 下载 MSI 安装器双击安装(官方注明不推荐大多数用户使用 Docker 镜像);macOS 用 Homebrew。
启动并打开网页管理界面。Linux 先启动用户服务:
systemctl --user start app-dev.lizardbyte.app.SunshineWindows 装完即服务运行。浏览器访问
https://localhost:47990,首次进入按提示创建管理员用户名和密码,记牢它。完成首次配对。在目标设备装 Moonlight 客户端并添加这台主机;客户端索要 PIN 时,回网页导航栏的 PIN 页填入该码、给设备起个名字,出现成功提示即配对完成。
验证装通。Moonlight 里点一个应用开始:电视出现主机画面、按键和手柄有反应、性能叠加层码率稳定不掉零——三条齐了,这条链路就通了。
跑通之后三件事
桌面直接投屏:选 Desktop 就串出整块桌面
不写任何配置也能用——Sunshine 内置 Desktop 应用,直接串出整块桌面、不启动任何程序。
- 在 Moonlight 应用列表选Desktop,点击开始;
- 用
Ctrl+Alt+Shift+N隐藏或显示光标(所有快捷键都以Ctrl+Alt+Shift开头); - 跑 3A 大作则改选 Steam 入口进大屏游戏模式,手柄会模拟成主机上配置的手柄类型。
顺手记下:被串流的应用退出时串流会自动结束,大屏模式下手柄输入几乎无感延迟。
自定义游戏入口:一个游戏一个直达卡片
以后不用再在桌面里翻图标,Moonlight 里一点直达。
- 网页管理界面进 Applications(应用)页,点Add New;
- 填应用名、程序路径(
cmd)和工作目录(cwd),命令里支持环境变量,$(HOME)会自动替换成你的家目录; - 保存后 Moonlight 刷新即可看到该应用。
顺手记下:串流中按Ctrl+Alt+Shift+F1~F12可切换到其他显示器继续玩。
远程串流设置:出门在外也能连回主机
不在家时,让路由器自动放行端口,再把主机加回 Moonlight。
- 在 Web 配置页搜索
upnp(UPnP 是让路由器自动开端口转发的协议),把默认disabled改成enabled; - 在 Moonlight 里手动添加这台主机的公网 IP;
- 远程串流对上行带宽敏感,先调低分辨率和码率再试。
顺手记下:管理界面默认只允许局域网访问(origin_web_ui_allowed默认lan),外网管理需另行做端口转发并配强密码。
卡住了怎么办
| 现象 | 常见原因 | 处理办法 |
|---|---|---|
| Moonlight 发现不了主机 | 不在同一局域网或防火墙拦截 | 确认同网段并放行端口,或手动填 IP 添加 |
| 网页管理界面打不开 | 用错协议或端口被占 | 用https://localhost:47990访问,检查防火墙 |
| 键盘鼠标手柄没反应(Linux) | 输入设备权限不足 | 把运行用户加入input组,或重启系统 |
| 编码器报错 | 显卡驱动或硬件编码支持缺失 | 更新显卡驱动,对照 README.md 的功能兼容表核对你的 GPU |
| 画面卡顿掉帧 | 带宽不足或码率过高 | 先降分辨率/码率,再看 性能调优 |
| 忘记网页登录密码 | 凭据丢失 | 终端执行sunshine --creds 新用户 新密码重置 |
日志入口有两处:网页端Troubleshooting页逐条列出所有警告与错误,编码器、GPU、网络问题一眼可见;本地日志默认写入sunshine.log,存放位置用配置项log_path修改。想查全部启动参数,终端跑sunshine --help。
现在桌面、游戏和手柄输入都有了去处。下一步,去电视上挑一部游戏,按下开始。
延伸阅读:
- 上手安装:各平台安装方式与首次启动细节
- 全部配置项:每个配置项的含义、默认值与可选值
- 性能调优:码率、分辨率与编码器选择
- 故障排查:按平台细分的疑难问题手册
- 构建指南:从源码编译 Sunshine 的开发者入口
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考