远程无线唤醒Sunshine主机随时进行串流游戏的方案
本文旨在提供一种思路,在拥有IPV4公网和NAS的前提下,通过和谐版Switch和Rog Ally实现远程串流游戏的目的。这里面的很多步骤限于篇幅我都没有展开,B站和张大妈都可以找到对应的详细教程,本文的主要目的还是分享思路。
理论上串流的设备当然不局限这两种,没有IPV4也应当可以依靠IPV6或Zerotier等手段建立网络直连,主机不睡眠而是休眠甚至彻底关机也可以通过WOL来唤醒,唤醒程序不安装在NAS也可以安装在支持docker的路由器或任意内网设备,但这些其他方案不在我的需求范围内,我没有做尝试,请有需要的各位自行探索了。
固定游戏主机的内网IP
请大家根据自己的网络情况进行设置,有线无线皆可

设置合适的睡眠时间
我们当然不希望游戏主机24小时开机,因为游戏主机的功耗通常都不低。由于笔者没有把游戏主机休眠和关机的习惯,所以此处关闭休眠,设置15分钟无操作就睡眠,避免家人有时候擦桌子碰了一下我的键盘主机就开机一天浪费电的情况

安装Sunshine
对于N卡用户虽然直接使用Geforce Experience也可以,但笔者体感老黄家的软件使用体验真的是太差了,所以这里依然选择支持各种显卡的Sunshine,安装非常简单,此处略过,安装后只需要把语言设置成中文即可,无需其他设置

在串流客户端安装Moonlight
Moonlight的网站有丰富的客户端可以下载,笔者这里分别在Switch和Rog Ally安装了客户端,网站有详细安装过程,此处略过

打开网卡的唤醒功能
在设备管理器找到你的网络设备,有线无线皆可,勾选允许网络唤醒,以便系统睡眠时保持主机和路由器的连接


安装UpSnap实现睡眠主机的唤醒
在你的任意支持docker的NAS(例如unraid/飞牛OS/istoreOS等等)安装UpSnap,镜像路径为docker.1ms.run/seriousm4x/upsnap:latest 网络用host模式部署,无需再进行其他设置,部署即可。部署完成后访问docker主机的8090端口完成管理员设置,新增选择手动配置或网络扫描皆可,找到我们的Sunshine主机进行添加。
此时我们已经可以尝试把游戏主机睡眠,然后通过手机或其他设备访问UpSnap尝试对游戏主机进行唤醒,笔者发现UpSnap虽然可以正常唤醒游戏主机,但依然显示笔者的游戏主机是关机状态,不清楚是什么原因,但因为不影响使用,此处没有深究。


路由器设置端口转发
此时不光可以成功唤醒游戏主机,您应该也可以在局域网内成功完成串流游戏了,接下来我们完成远程的部分,这需要我们在路由器进行端口转发。不同的路由器设置方法不同,此处不做赘述,只详细列出需要转发的端口。分别是Sunshine游戏主机的以下红框端口,以及UpSnap主机的8090端口。
需要注意的是,如果您使用的是通过在主机和客户端分别安装Zerotier/Tailscale/Wireguard等工具实现内网穿透的方案的话,这一步是不需要的,因为您已经可以直接访问您的局域网主机,并且在网络安全方面会更好。笔者这里依然进行端口转发,完全是因为和谐版的Switch不支持以上工具。

大功告成,写在最后
完成以上步骤就大功告成了,在外网时先通过您的域名访问UpSnap唤醒游戏主机,再通过您的域名连接Sunshine的desktop进行串流游戏即可,不玩了可以退出游戏主动睡眠主机,也可以直接断开连接不管它反正过15分钟自己就睡了(但强烈建议断开连接前退出游戏,否则断开连接后家里主机的音箱会继续播放游戏背景音乐),目前实践下来可以让笔者出门只需要把Switch拆开装身上甚至只需要带着手机就可以畅玩游戏,还是很方便的,因此分享此方案给各位,欢迎讨论
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

夏天的叶子
校验提示文案
夏天的叶子
校验提示文案