荒野大镖客2 PS5 DualSense手柄自适应板机以及DSX UDP红色解决 正版/学习版
主要安装流程
https://www.bilibili.com/video/BV16G4y1Z7Qj
https://www.bilibili.com/video/BV1bT41197Fx
按照教程走下来,基本能正常使用自适应板机,那么你可以关闭这个文章了
如果你安装后,遇到UDP依然为红色的问题,按照下面的方式做下排查,大概也能解决问题
视频的大致流程:
游戏内打mod(前两步,如果你游戏内的雷霆模拟器可以启动,那么只需要按照第三步)
安装 Script Hook
安装 ScriptHookRDR2DotNet V2
Scripts文件夹下安装 DualSense4Rockstar
安装DSX软件,开启“网络”界面的UDP端口侦测(不能是github开源版,必须是steam买的或学习版)
Steam商店的正版DSX,大概率不会遇到UDP状态为红色的问题,如果遇到基本是以下两个问题
"C:\Temp\DualSenseX\DualSenseX_PortNumber.txt" 缺少这个文件
控制面板-防火墙-高级设置-入站规则-找到dsx相关 全部启用
如果下载的是学习版的DSX(现在能下到的最新的是2.3.0 codex版本),且上述操作都没问题,大概率UDP状态在任何游戏下依然会是红色,下方会介绍解决办法和处理过程
开启DSX的情况下启动游戏
遇到的问题
大镖客2:学习版 1.0.1436.28
DSX:学习版 2.3.0
按照上述流程配置好后,DSX内的UDP状态一直为红色

排查和解决
需要的软件:dnSPY
开始怀疑打入的自适应mod没有被加载,分析根目录下的:ScriptHookRDRDotNet.log,发现scripts下的dll都已经被加载了,那么证明游戏层面mod已经打好了,不需要进行排查了

然后排查DSX配置,更改UDP端口号,C:\Temp\DualSenseX\DualSenseX_PortNumber.txt的内容也会跟着变化,证明DSX也成功监听的6969端口
使用dnSPY反编译"E:\Games\Red Dead Redemption 2\Scripts\DualSense4RDR2.dll",找到好几处代码,都会会获取名称为 DSX 的进程 Process.GetProcessesByName("DSX")

于是打开任务管理器,查找DSX,发现了可疑点:进程名DSX还有一个后缀 DSX (Cracked for cs.rin.ru),打开文件属性,发现其名称也是带后缀的,那么自适应脚本内的Process.GetProcessesByName("DSX")这一步是成功不了的


解决方法
用到的软件:Resource Hacker (https:删//www.52pojie删.cn/thread-1311124-1-1.html)
文件-打开-选中Main/DSX.exe-版本信息-1:0-编辑右侧 "DSX (Cracked for cs.rin.ru)"为"DSX"
改完,编译完成后,启动学习版dsx,会发现进程名已经变化了,于此同时 你的板机会咔哒一下,dsx里面的UDP也变成绿灯了

总结
正版/学习版游戏+正版DSX:按照开头的视频教程打mod,如果还是红灯,检查DualSenseX_PortNumber.txt 和 DSX的出站规则
正版/学习版游戏+学习版DSX:除了打mod、确认出站规则、确认txt,还要确认你的学习版dsx进程名是否是DSX,不包含其余内容。如果包含,则使用Resource Hacker调整进程描述。
ps: 这里不提供学习版大镖客和dsx的下载方式(上述提到的所有工具和软件,只要会用搜索引擎就能搜到资源和使用教程),也不宣扬使用学习版软件。只是将这两天折腾的过程和查到的解决方法记录和整理,让你(不管是正版还是学习版)遇到UDP红色,能有直接的排查思路和解决办法。