荒野大镖客2 PS5 DualSense手柄自适应板机安装教程,以及DSX内UDP红色解决。针对正版/学习版

自适应扳机指的是:DS手柄的扳机随着游戏内的场景,自动切换力度。比如:拉弓是阻尼、射击是咔哒一下、机枪会随着bang bang bang一起抖动

大致原理

大镖客2官方没有给DS手柄适配这个功能,所以需要借助游戏内MOD+三方软件DSX

  • mod:读取游戏内存数据,通过UDP接口向外暴露
  • dsx:把DS模拟成 xbox or ds4,监听UDP端口,接收游戏内数据,转为DS扳机变更的信号

主要安装流程

这两个视频详细介绍了安装过程

其流程总结为:

  • 游戏内打mod(前两步,如果你游戏内的雷霆模拟器可以启动,那么只需要按照第三步)
    1. 安装 Script Hook
    2. 安装 ScriptHookRDR2DotNet V2
    3. Scripts文件夹下安装 DualSense4Rockstar
  • 安装DSX软件,开启“网络”界面的UDP端口侦测(不能是github开源版,必须是steam买的或学习版)
    • Steam商店的正版DSX,大概率不会遇到UDP状态为红色的问题,如果遇到基本是以下两个问题
      • C:\Temp\DualSenseX\DualSenseX_PortNumber.txt 缺少这个文件
      • 控制面板-防火墙-高级设置-入站规则-找到dsx相关 全部启用
    • 如果下载的是学习版的DSX(现在能下到的最新的是2.3.0 codex版本),且上述操作都没问题,大概率UDP状态在任何游戏下依然会是红色,下方会介绍解决办法和处理过程
  • 开启DSX的情况下启动游戏

首先,请按照上述教程一步步操作,完成之后,基本在游戏内能实现自适应板机,那么就不用继续往下看了

但如果你安装后,遇到UDP标识依然为红色的问题,按照下面的方式做下排查

遇到的问题

我的运行环境

  • 大镖客2:学习版/ PIC正版 1.0.1436.28
  • DSX:学习版 2.3.0

按照上述流程配置好后,DSX内的UDP状态一直为红色

[图片]

排查和解决

用到的软件:dnSPY

  1. 开始怀疑打入的自适应mod没有被加载。于是分析根目录下的:ScriptHookRDRDotNet.log,发现scripts下的dll都已经被加载了,那么证明游戏层面mod已经打好了,不需要进行排查了 [ScriptHookRDRDotNet.log]
  2. 然后排查DSX配置:更改UDP端口号,C:\Temp\DualSenseX\DualSenseX_PortNumber.txt的内容也会跟着变化,证明DSX也成功监听的6969端口
  3. 使用dnSPY反编译E:\Games\Red Dead Redemption 2\Scripts\DualSense4RDR2.dll,找到好几处代码,发现都会会获取名称为DSX的进程
    1
    
        Process.GetProcessesByName("DSX")
    
    [图片]
  4. 于是打开任务管理器,查找DSX,发现了可疑点:进程名DSX还有一个后缀 DSX (Cracked for cs.rin.ru),打开文件属性,发现其名称也是带后缀的,那么自适应脚本内的Process.GetProcessesByName("DSX") 自然也是执行不了的 [任务管理器搜索dsx] [dsx.exe文件属性]

解决方法

用到的软件:Resource Hacker

  1. 文件-打开-选中Main/DSX.exe-版本信息-1:0
  2. 编辑右侧DSX (Cracked for cs.rin.ru)DSX
  3. 编译完成后,启动学习版dsx,会发现进程名已经变化了,于此同时你的手柄扳机会咔哒一下,dsx里面的UDP也变成绿灯了 [Resource Hacker]

总结

  • 正版/学习版游戏+正版DSX:按照开头的视频教程打mod,如果还是红灯,检查DualSenseX_PortNumber.txt 和 DSX的出站规则
  • 正版/学习版游戏+学习版DSX:除了打mod、确认出站规则、确认txt,还要确认你的学习版dsx进程名是否是DSX,不包含其余内容。如果包含,则使用Resource Hacker调整进程描述。

ps: 这里不提供学习版大镖客和dsx的下载方式(上述提到的所有工具和软件,只要会用搜索引擎就能搜到资源和使用教程),也不宣扬使用学习版软件。只是将这两天折腾的过程和查到的解决方法记录和整理,让你(不管是正版还是学习版)遇到UDP红色,能有直接的排查思路和解决办法。