如何把 Nvidia GameStream 的游戏列表迁移到 Sunshine 并开启 UPnP 互联网串流?
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Nvidia 已宣布其 GameStream 服务(Nvidia Games 客户端)于 2023 年 2 月停止运营,如果你此前用 GameStream 串流游戏,需要把游戏/应用列表迁到 Sunshine,并且要在路由器支持 UPnP 的前提下让 Moonlight 客户端可以通过互联网连接到主机。本文覆盖两件事:用官方迁移工具 GSMS 把 GameStream 的自定游戏与应用导入 Sunshine 的apps.json,再在 Sunshine 的 Web UI 中开启 UPnP 选项实现互联网串流。前提是你已经装好并能启动 Sunshine,并且手边有一台支持 UPnP 的路由器。
准备条件:确认 Sunshine 已启动且能访问 Web UI
Sunshine 通过 Web UI 配置,默认地址为https://localhost:47990,可以把localhost替换为主机内网 IP 从其他设备访问。浏览器提示"不安全网站"可以忽略,这是因为 SSL 证书是自签名的。
首次运行时,请务必记下你创建的登录用户名和密码,后续登录 Web UI 都要用到。
配置文件与apps.json的默认位置如下(来自 docs/configuration.md):
| 系统 | 默认配置目录 |
|---|---|
| Docker | /config |
| FreeBSD | ~/.config/sunshine |
| Linux | ~/.config/sunshine |
| macOS | ~/.config/sunshine |
| Windows | %ProgramFiles%\Sunshine\config |
apps.json默认与配置文件同目录,它就是 Moonlight 可启动的应用清单,也是迁移结果的落点。如果你想用非默认位置的配置文件,可以在启动时把完整路径作为第一个参数传入,例如:
sunshine ~/sunshine_config.conf指定位置若不存在会创建该配置文件。
第一步:用 GSMS 自动迁移 GameStream 游戏列表
Sunshine 项目方提供了自动化迁移工具 GSMS(外部项目),可以把 GameStream 中自定义的游戏和应用、以及自动检测到的游戏和应用迁移到 Sunshine(说明见 docs/gamestream_migration.md)。
GSMS 迁移完成后,每个游戏的三要素都会写入 Sunshine 的apps.json:
- 工作目录(working directory)
- 启动命令(command)
- 游戏图片(image),box-art 图片会被复制到指定目录
也就是说迁移不需要你手工逐条填写启动命令。如果你不想用自动工具,替代路径是在 Web UI 的应用页面手工添加:Sunshine 文档说明应用"should be configured via the web UI",添加应用需要基本的对"工作目录 + 命令"的理解,支持用环境变量代替字面值(例如$(HOME)会被替换为$HOME的值,详见 docs/getting_started.md 的 Application List 一节)。
迁移结果核对
迁移是否到位,看两处:
- 打开配置目录下的
apps.json,确认 GSMS 写入的条目包含命令、工作目录和图片路径; - 登录 Web UI,在应用列表中确认迁移进来的游戏都在。
注意:apps.json的路径可以通过配置文件里的file_apps选项改为自定义位置(默认值就是apps.json),如果你改过路径,去改后位置核对。
第二步:开启 UPnP 实现互联网串流
Sunshine 的互联网串流走路由器端口转发,由upnp选项控制:开启后 Sunshine 会尝试为互联网串流打开相应端口。该选项默认是disabled,需要显式开启。
主路径(推荐):在 Web UI 中开启
登录 Web UI,在顶栏搜索框中搜upnp,进入 Network 分区把 UPnP 选项设为启用即可,无需编辑文件。
替代路径:手工编辑 conf 文件
文档建议优先使用配置 UI,但也允许用文本编辑器直接改 conf 文件。在配置文件中加入:
upnp = enabled改完保存,让 Sunshine 以新配置重新加载(重启 Sunshine 进程即可)。
必须处理:旧 Moonlight Internet Hosting Tool
如果你之前为了 GameStream 互联网串流装过 Moonlight Internet Hosting Tool,迁移到 Sunshine 时应把它从系统中移除。注意一个明确的冲突说明:Sunshine 与v5.6 之前版本的 Moonlight Internet Hosting Tool 同时运行时,会导致 UPnP 端口转发变得不可靠——要么彻底卸载该工具,要么把它更新到 v5.6 或更高版本。这是文档中针对互联网串流不稳定给出的唯一前置处理项。
验证串流可用
UPnP 开启后,从 Moonlight 客户端走一遍标准连接流程验证:
- 在 Moonlight 中可能需要手动添加这台 PC;
- Moonlight 请求输入 PIN 时:登录 Web UI → 进入导航栏的 "PIN" 页面 → 输入 PIN 并按
Enter,为该设备起一个名字; - PIN 批准后 Moonlight 端会出现成功提示(Success Message),此时在 Moonlight 里应能看到并选择已迁移的游戏列表发起串流。
如果连接或启动有问题,Web UI 的Troubleshooting页签提供运行日志,可以逐条查看其中的 warning/error 定位原因;Web UI 打不开时先检查防火墙规则(docs/troubleshooting.md)。
相比 GameStream 的已知限制
迁移后有两项 GameStream 的功能在 Sunshine 中没有对应物(来自 docs/gamestream_migration.md 的 Limitations 一节):
- 自动的游戏/应用列表检测(Sunshine 需要靠迁移工具或手工维护列表);
- 自动调整游戏设置以优化串流。
另外记住 UPnP 互联网串流的边界条件:它依赖一台支持 UPnP 的路由器完成端口转发;路由器不支持 UPnP 时该路径不成立,文档也未提供其他替代的互联网串流方式。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考