Back
Featured image of post SteamDeck在手,国庆远程游玩PS5指南

SteamDeck在手,国庆远程游玩PS5指南

在黑神话悟空发售时,我因为购买的PS5版本,不能随时随地玩到它真是着急。于是利用手上的SteamDeck研究了一下远程串流,在网络稳定情况下,效果还不错。最近因为工作忙,文章一直拖着没发,转眼一个月过去,国庆要到了!这不,已经在老家躺着,想起来把这篇文章补上。主要是网上看不到特别完整和严谨的过程,导致还有一点小坑,聊以记录。如果你像我一样,希望外出时也能愉快玩游戏的话,可能对你有用。

准备工作

你需要一台SteamDeck,无论是否OLED都一样,当然OLED开HDR配合PS5或能获得更爽快的游戏体验。 其次,为了远程游玩,你家最好是有外网IP。如果不是静态的(多数人都不是),那就DDNS,这些网上有一堆教程就不在此细聊。 最好确定你家的上行带宽有10-20Mb/s,不然有可能玩起来会糊?虽然官方文档说5Mb以上,但我实测使用更多。

远程游玩配置

给PS5打开远程游玩

点开PS5的设定,再点击系统,打开远程游玩,点击启动。根据提示操作即可。 remoteplay

安装串流软件Chiaki4deck

有一个跨平台的串流软件叫Chiaki(千秋),然后它有个SteamDeck优化版本叫Chiaki4deck。为了安装它,我们需要按如下步骤:

  • 切换SteamDeck到桌面。按Steam键,电源,切换至桌面。
  • 找到并安装Chiaki4deck。点击左下角第三个图标(软件管理中心),呼出键盘(右手边三个点键+X),搜索Chiaki,找到chiaki4deck并安装。
  • 回到游戏模式桌面。在桌面找到Return to Gaming Mode点击即可。

配置Chiaki4deck进行局域网串流

为了排除干扰,第一次进行串流建议先配置好本地局域网串流,后面再升级为可远程在外串流回家。这里具体操作当时没有记录,主要要点有:

  • 查询PS5的ipv4地址。在网络查看连接状态中可看你的PS5的IP地址。
  • 启动Chiaki4deck。Host填入上面PS5的IP地址。
  • 查看PSN Account-ID。打开 https://psn.flipscreen.games/ 输入PSN用户名查询Encoded ID (for Chiaki)。特别注意这个ID不是昵称,也不是登录账户。我就搞不清输错了多次,汗。
  • 查看PIN码。打开PS5主机,在远程游玩那查询安全码。

大概是这几步,我们本地就能将PS5的画面和操作串流到这台SD上。 PS:为了使体验更加流畅,建议PS5使用有线连接到路由器或交换机上。这个能大大降低延迟。我实测有线除了延迟低,还非常平稳。以下从路由开始走内网ping延迟,而无线WiFi内网还是有近10ms的延迟并且时有抖动。

1
2
3
4
5
6
7
[admin@MikroTik] > ping 192.168.1.189
  SEQ HOST                                     SIZE TTL TIME       STATUS
    0 192.168.1.189                              56  64 1ms157us
    1 192.168.1.189                              56  64 1ms21us
    2 192.168.1.189                              56  64 995us
    3 192.168.1.189                              56  64 1ms151us
    4 192.168.1.189                              56  64 963us

随时随地,外部串流回家爽玩

本地局域网串流只解决了一小部分问题,比如我是将客厅的PS5串流后,可以在卧室床上一边玩SD。因为整体延迟低,游戏体验还是很不错的。但我们还可以想要更多,比如外出露营,比如像国庆回老家等,手痒想玩怎么办?显然,我们要配置端口转发。那么到底转发哪些端口呢?网上资料有些不太准确,我们还是查看官方资料稳妥一些。另外有个知识点,网络的NAT类型,也可以顺带了解一下。在PS5的网络中可以检测到,我家的是NAT2类型。对此GPT4o有如下解释:

1
2
3
4
5
在游戏主机(如PS、Xbox)中,NAT类型通常被描述为三种:
开放(Open)/类型1:直接连接,无限制。
中等(Moderate)/类型2:通过路由器连接,有一定限制。
严格(Strict)/类型3:限制较多,连接问题较多。
这些类型主要关注的是设备在联网游戏中的连接性能和兼容性。

为了使PS5支持远程游玩,查看官方文档:

Remote Play uses UDP Port 8572 to connect to your PS5 console, PS4 console, or mobile device. Check to make sure that your router, internet service provider, and mobile carrier aren’t blocking this port.

在PS4的文档中查看到如下描述:

If your router does not support UPnP, adjust the router’s port-forwarding setting to allow communication to your PlayStation 4 console from the Internet. The port numbers that are used by Remote Play are 9295 (for TCP), and 9296 and 9297 (for UDP). If these ports are unavailable, it might be possible to use ports 9295 through 9304 (for TCP and UDP).

这块官方太零散了,没有更全面的说明,最后从Reddit找到一个详细的探讨,我们要转发的端口列表是:

服务名称内部端口外部端口协议
远程唤醒987987TCP/UDP
Remote Play App85728572UDP
PS5 认证92959295TCP/UDP
PS5 传输92969296UDP
PS5 数据传输92979297UDP
PS5唤醒93029302UDP
额外端口93039303TCP/UDP
93049304TCP/UDP
93059305TCP/UDP
93069306TCP/UDP
93079307TCP/UDP
93089308TCP/UDP

如果你嫌麻烦,可以使用自己路由器的UPnP功能,端口映射或许能简化一些。我上文提到刚将路由切换到了RouterOS,所以我写如下几条命令做转发(我的PS地址是192.168.1.189)。

1
2
3
4
5
6
7
/ip firewall nat
add chain=dstnat protocol=tcp dst-port=9295 action=dst-nat to-addresses=192.168.1.189 to-ports=9295 comment="Port forward TCP 9295 to PS5"
add chain=dstnat protocol=udp dst-port=8572 action=dst-nat to-addresses=192.168.1.189 to-ports=8572 comment="Port forward udp 8572 to PS5"
add chain=dstnat protocol=udp dst-port=9295-9297 action=dst-nat to-addresses=192.168.1.189 to-ports=9295-9297 comment="Port forward UDP 9295-9297 to PS5"
add chain=dstnat protocol=udp dst-port=9302 action=dst-nat to-addresses=192.168.1.189 to-ports=9302 comment="Port forward UDP 9302(wakeup) to PS5"
add chain=dstnat protocol=udp dst-port=9303-9308 action=dst-nat to-addresses=192.168.1.189 to-ports=9303-9308 comment="Port forward UDP other ports to PS5"
add chain=dstnat protocol=tcp dst-port=9303-9308 action=dst-nat to-addresses=192.168.1.189 to-ports=9303-9308 comment="Port forward TCP other ports to PS5"

如果你的防火墙设置得比较严格,可能要像我这样再放通它转发到内部。以下举个例子:

1
2
3
4
5
/ip firewall filter
add chain=input protocol=tcp dst-port=9295 action=accept comment="Allow external access to PS5 TCP 9295"
add chain=input protocol=udp dst-port=9295-9297 action=accept comment="Allow external access to PS5 UDP 9295-9297"
add chain=input protocol=udp dst-port=9302 action=accept comment="Allow external access to PS5 UDP 9302"
...

效果验收

我尝试了使用手机开热点给SD连接,效果不太好,时有模糊,或许是手机的带宽较低。在公司内部试了一下,能比较流畅的游玩,并且能够在很低功耗的情况下,60帧,画面不错。 在SD中游玩PS5 查看路由器这过程的流量情况: 路由器上的流量1 路由器上的流量2

我用它打广谋什么,还是流畅轻松的一顿乱按就过了。不知道打虎先锋手感怎么样,会不会气得摔机器:)

其它提示

一些报错&问题

  1. 遇到过报错:Failed to initialize Steam Session: Failed to initialize FFMPEG Decoder. [E] H265 Codec not available 解决方案:换h264即可。

  2. 遇到Chiaki4deck连接不上。可能路由器开启了IPv6,我关闭后恢复正常。但这点还需要未来再确认,当初开ipv6想再加速一下公网的连接速度,没想到最后连接不上了:(

一些操作

在使用Chiaki(千秋)时,因为SD的按键和PS手柄不一样,如何退回到桌面呢?只需要按:Steam+B即可,或者Steam+左键。 要退出Chiaki,则按L1+R1+L3+R3.

后记

这个方案也就临时解解游戏瘾,还是比不上直接在大屏显示器或电视机上,本地直接玩耍的爽快度。如果你喜欢折腾,不妨玩一下。它倒是有几个好处:

  • 随时随地像带着PS5一样,和朋友炫一下你的白金和操作?
  • 超高续航。可看到上面截图中几有6.2W。超低功耗,外出SD可以玩好几个小时PS游戏。如果小游戏不太需要特别实时的操作,还是不错的。
  • 省钱。买一份游戏,在两种设备上玩。并且如果你的PS5是用光盘的,那你真能省到姥姥家。哈哈,我知道你不在乎:P

文中也提过,本来想顺道折腾一下ipv6后对比一下实际效果再分享的,遇到一点小问题。未来有机会继续折腾,暂时趁国庆把这篇文章补上吧,也希望能帮助到观看它的你。感谢阅读!

我是个爱折腾技术的工程师,也乐于分享。欢迎点赞、关注、分享,更欢迎一起探讨技术问题,共同学习,共同进步。为了获得更及时的文章推送,欢迎关注我的公众号:

参考资料

扫码关注公众号