尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

如何用Sunshine快速搭建游戏串流服务器并添加第一个游戏?

如何用Sunshine快速搭建游戏串流服务器并添加第一个游戏? 如何用Sunshine快速搭建游戏串流服务器并添加第一个游戏【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine周末傍晚你窝在客厅沙发上想开一局Steam里的3A大作——可游戏装在书房的电脑上难道要为了打一把游戏专门跑回书房开机这正是游戏串流Game Streaming要解决的问题Sunshine是一款自托管的开源游戏串流服务端专为Moonlight客户端设计装好之后你就能在客厅电视、平板甚至手机上直接启动书房主机里的任何游戏就像它们装在自己手边一样。一个遥控器就能点亮的游戏库先理解它在干什么可以把Sunshine想成一位勤快的管家它平时安静地待在你的游戏主机上等Moonlight客户端敲门串流连接时管家会按你事先写好的吩咐清单帮你启动指定游戏、调好画面分辨率、把鼠标键盘手柄的输入原样送进游戏里。这份吩咐清单就是Sunshine的应用Applications管理功能。每个应用本质上是一张配置卡片记录三件事启动什么游戏的可执行文件或平台URI如steam://rungameid/1091500怎么启动要不要先执行预备命令比如切分辨率、要不要与游戏进程解绑长什么样名称、图标方便你在Moonlight里一眼认出它配置背后是一个名为apps.json的JSON文件Web界面上的所有增删改最终都会写进它。想深入了解配置项可翻阅仓库里的 应用配置文档。开工前准备三样东西五分钟跑起来你不需要会写代码只需要准备一台运行Sunshine的主机Windows / Linux / macOS / FreeBSD 均可安装方式见 官方安装指南一个Moonlight客户端手机、平板、电视盒子都行客户端可以在Sunshine的推荐应用页面找到同一局域网或已配置好端口转发的网络环境安装完成后用浏览器打开https://localhost:47990首次访问会让你设置一个用户名和密码记牢它配对时要用。登录后的欢迎页长这样登录后浏览器可能会提示证书不受信任——这是正常的因为Sunshine用的是自签名证书选择继续访问即可。分步实战让第一个游戏出现在你的串流列表里下面我们把最常用的三种情况各走一遍每个小节都是一个能独立完成的小目标。第一步添加Steam游戏推荐URI方式最省心在顶部导航点击Applications右下角点Add New新建应用。以《赛博朋克2077》为例Steam App ID 为 1091500配置项填写内容Application NameCyberpunk 2077Detached Commandssteam://rungameid/1091500Image留空或填自定义图标路径关键在Detached Commands分离式命令它让Sunshine只负责喊一嗓子让Steam去启动游戏而不是盯着游戏进程直到它退出。这样即使Steam自动更新、进程短暂重启串流会话也不会被误判为游戏已关闭而中断。第二步添加Epic等平台游戏学会填Command和工作目录Epic商店游戏同样有URI捷径格式是com.epicgames.launcher://apps/游戏ID?actionlaunchsilenttrue把游戏ID换成游戏在Epic里的实际ID即可。如果游戏有本地可执行文件你也可以直接填配置项填写内容CommandMarsEpic.exeWorking DirectoryC:\Program Files\Epic Games\SurvivingMars小提示不填工作目录时Sunshine默认以目标程序所在文件夹作为工作目录。可执行文件填全路径也行二选一即可。第三步用预备命令让分辨率跟着客户端走不同客户端屏幕比例不同硬编码固定分辨率会出现黑边或拉伸。Sunshine为每个会话注入了几个现成的环境变量预备命令Command Preparations可以直接引用它们。Windows下用QRes{ 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 }Linux X11环境则用xrandr{ 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 }do是游戏启动前执行的命令undo是串流结束后执行的恢复现场命令——记得把分辨率调回日常使用的值否则下次坐在主机前会被超低分辨率吓一跳 所有配置完成后回到Moonlight刷新列表就能看到你添加的应用了。管理界面大致长这样进阶技巧让串流体验再上一个台阶技巧一善用环境变量写聪明的命令Sunshine在每次启动应用时都会注入一批环境变量除了上面用到的三个还有环境变量含义示例值SUNSHINE_CLIENT_WIDTH客户端请求的宽度1920SUNSHINE_CLIENT_HEIGHT客户端请求的高度1080SUNSHINE_CLIENT_FPS客户端请求的帧率60SUNSHINE_APP_NAME当前应用名称Cyberpunk 2077SUNSHINE_APP_ID应用唯一标识1091500比如你想给不同游戏接不同的启动脚本完全可以在脚本里判断SUNSHINE_APP_NAME走不同分支。这些变量的注入逻辑定义在 进程管理源码 里感兴趣的可以翻翻。技巧二给常玩的游戏配个专属开关打开应用的高级选项你会看到几个能显著改善体验的开关auto-detach自动分离。开了之后即使cmd里的程序退出串流也不会立刻结束适合某些会自我重启的启动器wait-all是否等待所有进程退出exit-timeout游戏退出后给串流留出几秒善后时间再关闭新手最易踩的四个坑附解法坑一游戏一启动串流就秒断多半是启动方式选错了。把常驻型启动器Steam、各种Launcher填进了Command而不是Detached Commands。启动器进程一换血自更新、重启Sunshine就以为游戏关了。解法URI启动方式一律走Detached Commands或勾选auto-detach。坑二键盘鼠标手柄全部失灵Linux/FreeBSD下运行Sunshine的用户没有虚拟输入设备权限。执行一次sudo usermod -a -G input 你的用户名然后注销重新登录。Windows下则要确认虚拟HID驱动或ViGEmBus已安装装完最好重启一次。坑三分辨率对不上、画面变形多半是客户端请求的分辨率主机端不支持。要么像上文那样用预备命令动态切换要么确认游戏/系统支持该分辨率模式。macOS、iOS客户端还常请求非标准分辨率需要自行用cvt生成新mode详见 应用示例文档。坑四预备命令没生效游戏照常启动注意只要任何一条do命令执行失败Sunshine就会放弃启动这个应用。所以命令写错并不会静默跳过而是整个启动被中止。排查时先把命令复制到终端手动跑一遍确认返回码为0再填回去。现在就去点亮你的第一个游戏一句话总结Sunshine的应用管理就是把启动游戏这件小事变成一张张可复用的配置卡片填好名称、启动方式、预备命令剩下的交给它。下一步行动现在就打开https://localhost:47990进入 Applications 页面按上文第一步添加一个Steam游戏然后在手机上打开Moonlight试着从客厅远程启动它——当你第一次在沙发上流畅跑起书房里的游戏时你会回来感谢自己的。【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表