Sunshine游戏库管理完整指南:三步把任意游戏变成一键串流 Sunshine游戏库管理完整指南三步把任意游戏变成一键串流【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine你是否有过这样的经历费了半天劲装好了Sunshine结果添加第一个游戏时就卡住了——命令写对了、路径没错游戏却一闪而过串流画面立刻黑屏其实90%的人都在这一步栽过跟头。Sunshine阳光串流服务器是一款自托管的游戏流媒体服务专门配合Moonlight客户端使用它把添加应用这件事变成了一道不算复杂但处处是坑的工序。本文用一份可直接照抄的配置清单帮你绕过这些坑十分钟内把游戏装进你的串流库。一、先跑起来60秒添加第一个应用别急着研究原理先让一个应用能跑。打开Sunshine的Web管理界面浏览器访问https://localhost:47990第一次登录会要求设置用户名和密码进入Applications应用页面点击添加按钮填写下面三个字段字段填写内容Application Name应用名称随便起个名字比如NotepadCommand命令填写系统自带程序的完整路径Windows 写C:\Windows\System32\notepad.exeWorking Directory工作目录留空即可保存后回到Moonlight客户端刷新应用列表点击刚添加的Notepad——主机上的记事本应该立刻弹出串流画面同时出现。成功了恭喜你已经掌握了应用管理的全部核心概念剩下的只是把记事本换成游戏而已。小提示字段留空时Sunshine 会默认把工作目录设为程序所在文件夹所以单文件程序完全可以只填命令。二、摸清套路一次请求从点击到弹出的完整旅程为什么有的游戏要填命令有的却要填分离命令这得从Sunshine的启动流程说起。下图是一条串流请求从客户端到游戏进程的完整路径理解这张图你就理解了Sunshine应用管理的全部设计逻辑一个应用 一份JSON配置 一组环境变量 一组命令。Sunshine本身不关心你跑的是游戏还是办公软件它只负责按配置把进程拉起来再把你想要的分辨率、帧率等参数以环境变量的形式塞给游戏进程。这正是它强大又容易迷惑人的地方——同样的配置换个平台、换个游戏行为可能截然不同。所以下面这份速查表值得你收藏备用。三、速查表apps.json 核心字段与注入变量Sunshine的所有应用配置最终都存放在apps.json文件里Linux 默认在~/.config/sunshine/Windows 默认在%ProgramFiles%\Sunshine\config\。Web界面上你填的每一个表单本质上都是往这个文件里写字段。3.1 字段速查字段类型说明示例namestring应用显示名称Moonlight里看到的就是它Cyberpunk 2077cmdstring/array主执行命令进程退出时串流会话结束game.exedetachedarray分离命令启动后立即转入后台不等其退出[steam://rungameid/1091500]prep-cmdarray预备命令含do启动前执行和undo退出后执行[{do:xrandr ...,undo:xrandr ...}]working-dirstring工作目录留空则默认程序所在目录C:\\Games\\Cyberpunkimage-pathstring应用图标路径可用内置封面或自定义图片cyberpunk.pngelevatedboolWindows下是否以管理员权限启动服务模式下免UAC弹窗trueexclude-global-prep-cmdbool是否跳过全局预备命令truewait-allbool是否等待所有子进程退出后才结束会话falseexit-timeoutint进程退出后的等待秒数超时则强制结束3auto-detachbool自动检测进程是否转入后台并切换为分离模式true3.2 环境变量速查预备命令和主命令都能读取这些由Sunshine注入的变量环境变量说明示例值SUNSHINE_CLIENT_WIDTH客户端请求的画面宽度1920SUNSHINE_CLIENT_HEIGHT客户端请求的画面高度1080SUNSHINE_CLIENT_FPS客户端请求的帧率60SUNSHINE_CLIENT_HDR客户端是否请求HDRtrue/falseSUNSHINE_CLIENT_GCMAP客户端请求的Gamut/色彩映射1SUNSHINE_CLIENT_AUDIO_CONFIGURATION音频声道配置2.0/5.1/7.1SUNSHINE_APP_NAME当前启动的应用名称Cyberpunk 2077SUNSHINE_APP_ID当前应用的唯一标识12345这两张表配合使用你就能玩出花来——比如根据客户端请求的分辨率动态切换主机显示器的分辨率。四、三套真实配置Steam、Epic 与分辨率切换纸上谈兵结束直接上能复制的配置。下面三份都可以原样贴进应用的手动编辑JSON输入框里。4.1 Steam游戏用URI别用exeSteam启动游戏时会有自更新进程原进程会被杀掉导致Sunshine误判游戏已退出从而结束串流。所以Steam游戏必须用分离命令{ name: Cyberpunk 2077, detached: [steam://rungameid/1091500], auto-detach: true }steam://rungameid/游戏AppID是Steam的官方URI协议比直接指向exe稳定得多也免去了找路径的麻烦。4.2 Epic游戏同样是URI最稳{ name: Fortnite, cmd: com.epicgames.launcher://apps/fortnite?actionlaunch, working-dir: C:\\Program Files\\Epic Games\\Fortnite }如果你坚持用exe直连记得两件事一是路径中的反斜杠要写成\\JSON转义二是把working-dir指向游戏安装目录否则游戏可能因为找不到资源文件而启动失败。4.3 动态分辨率让显示器跟着客户端走这是预备命令最经典的用法。把下面的do和undo分别填入预备命令的两栏效果是串流开始时把显示器切成客户端请求的分辨率串流结束后恢复原状。LinuxX11环境{ name: Game with Dynamic Resolution, cmd: game.exe, prep-cmd: [ { do: sh -c \xrandr --output HDMI-1 --mode ${SUNSHINE_CLIENT_WIDTH}x${SUNSHINE_CLIENT_HEIGHT} --rate ${SUNSHINE_CLIENT_FPS}\, undo: xrandr --output HDMI-1 --mode 3840x2160 --rate 120 } ] }Windows内置支持无需额外工具{ name: Game with Dynamic Resolution, cmd: game.exe, prep-cmd: [ { do: cmd /C \C:\\Tools\\QRes.exe /X:%SUNSHINE_CLIENT_WIDTH% /Y:%SUNSHINE_CLIENT_HEIGHT% /R:%SUNSHINE_CLIENT_FPS%\, undo: C:\\Tools\\QRes.exe /X:1920 /Y:1080 /R:60 } ] }注意xrandr 方式要求目标分辨率模式已存在。想支持客户端请求的非标准分辨率比如手机、平板的竖屏比例得先用cvt生成新模式再xrandr --newmode添加这一步常见于串流到 iOS、Android 设备的场景。五、避坑指南三个高频翻车现场现场一游戏一闪而过串流画面立刻黑屏现象点击启动后游戏瞬间退出会话马上结束。原因游戏启动时会fork出子进程、杀掉原进程Sunshine只盯着原进程看以为游戏退出了。解法改用分离命令并开启自动分离{ detached: [你的启动命令], auto-detach: true }Steam、Epic、以及多数带启动器的游戏都推荐这种写法。现场二Linux下命令执行了但游戏没反应现象预备命令和命令都填了日志里也显示执行成功游戏就是起不来。原因Sunshine以服务形式运行环境与你的桌面会话隔离如果Sunshine装在Flatpak沙箱里命令默认连宿主机的文件系统都碰不到。解法Flatpak安装的Sunshine所有命令都要加flatpak-spawn --host前缀{ detached: [flatpak-spawn --host setsid steam steam://open/bigpicture], prep-cmd: [ { do: flatpak-spawn --host setsid steam steam://open/bigpicture, undo: flatpak-spawn --host setsid steam steam://close/bigpicture } ] }现场三手柄和键鼠没有输入现象画面有了但鼠标键盘手柄全部失灵。原因Linux下Sunshine服务用户不在input组拿不到输入设备权限Windows下则是虚拟手柄驱动未安装。解法Linux执行下面命令后重启服务sudo usermod -a -G input sunshine-userWindows则去Sunshine的设置页面点击安装虚拟手柄驱动ViGEmBus装完重启一次。六、进阶技巧让串流体验再上一个台阶图标别将就给应用配上封面图Moonlight里的游戏墙会好看得多。图标文件放进配置目录image-path填相对路径即可找不到合适的就用Sunshine内置的steam.png、desktop.png兜底。用wait-all和exit-timeout驯服顽固进程有些游戏退出后还会残留后台进程导致下次启动失败。把exit-timeout设成 3 秒、wait-all设成false能有效避免僵尸进程占着串流会话不放。elevated字段解决反作弊权限问题Windows下以服务模式运行时需要管理员的游戏如某些反作弊程序会静默失败。给该应用开启elevated: trueSunshine会以当前用户身份免UAC弹窗提升权限。先测通再批量每次添加新应用后先用Moonlight实际串流一次验证确认启动→游玩→退出→恢复分辨率全链路正常再添加下一个。批量添加后一起排查会非常痛苦。exclude-global-prep-cmd控制全局行为如果你配置了全局预备命令如每次串流都切分辨率又希望某个应用跳过它就把这个字段设为true实现一应用一策略。下一步行动现在轮到你了打开Sunshine Web界面https://localhost:47990按本文第一步把记事本加进应用列表验证流程然后把你的第一款游戏用分离命令 URI的方式配置好。配置过程中遇到任何报错先翻一遍上面的避坑指南——三个翻车现场覆盖了90%的常见问题。配置顺手之后你就能享受客厅躺沙发上串流玩PC游戏的快乐了去试试吧【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

06-Kalman隔帧轨迹预测

06-Kalman隔帧轨迹预测

Kalman 滤波与隔帧检测:轨迹如何在「无测量帧」上继续走 本文只讲一件事:当检测隔几帧才跑一次时,中间帧没有新的人体框测量,跟踪仍能给出连续轨迹,靠的是 Kalman 预测;有测量时再做 更新。 读完后应能独立…

2026/8/18 12:37:57
【学术福利 | 免费下载 | 硬核干货 | 科研必备】国际学术会议海报模板大礼包:200+高颜排版直接套用,学术会议专用海报模板,免费学术Poster海报模板,科研成果一眼出圈,科研人展示成果的快车道

【学术福利 | 免费下载 | 硬核干货 | 科研必备】国际学术会议海报模板大礼包:200+高颜排版直接套用,学术会议专用海报模板,免费学术Poster海报模板,科研成果一眼出圈,科研人展示成果的快车道

又到学术会议、答辩汇报、成果展览高峰期! 相信很多科研人都有同款困扰:论文做得很完美,却被海报排版拖了后腿。 熬夜几小时手动排版,版面杂乱、重点模糊、配色廉价、层级混乱;不懂学术规范,做出来的海报…

2026/8/18 12:37:57
理解python进程

理解python进程

进程 - CPU密集型王者 概述 操作系统资源分配的基本单位(注意这里的 资源分配 只是分配资源)硬件多核前提下,Python multiprocessing 多进程可以实现真正并行;单进程只能并发,无法并行python的多进程会 真正启动底层的…

2026/8/18 12:37:57
Mem Reduct 完整使用手册:10 分钟驯服 Windows 的内存卡顿

Mem Reduct 完整使用手册:10 分钟驯服 Windows 的内存卡顿

Mem Reduct 完整使用手册:10 分钟驯服 Windows 的内存卡顿 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …

2026/8/18 12:37:57
微信网页版登录被限制?这款免费浏览器插件三步就能恢复

微信网页版登录被限制?这款免费浏览器插件三步就能恢复

微信网页版登录被限制?这款免费浏览器插件三步就能恢复 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 周一早上九点,你刚在工…

2026/8/18 12:37:57
RAG系统全链路调优实战:从混合检索、重排序到提示工程

RAG系统全链路调优实战:从混合检索、重排序到提示工程

你是不是也遇到过这样的问题:用大模型搭建知识库,结果回答要么是“根据已有知识”,要么就是一本正经地胡说八道?或者,检索出来的文档明明相关,但大模型就是抓不住重点,生成的内容总是差那么点意…

2026/8/18 12:32:57