Proton: 小队 (393380)

创建于 2018-08-29  ·  262评论  ·  资料来源: ValveSoftware/Proton

当从 Steam 下载游戏“Squad”时,它直接完成并尝试启动游戏会导致错误:
¨更新小队时出错(缺少可执行文件)
{这里有一些很长的路径}/squad_launcher.exe¨

当我使用检查游戏文件夹选项时,我可以看到该文件夹​​完全为空。

https://store.steampowered.com/app/393380/Squad/

Game compatibility - Unofficial Regression

最有用的评论

这是一个真正的团队努力,非常感谢大家! 我认为我们中的任何人都无法单独收集所有拼图。 我们专注于 Squad 感觉真的很合适,因为团队合作和合作使它成为一款出色的游戏。 如果没有团队合作,这将只是几十个射手中的另一个。

嘿 Epic 和 EAC 的制造商,如果您碰巧读到了这篇文章:很明显,我们不想破坏、破解或绕过任何打击作弊的行为。 我个人很难相信任何活跃在该线程中的人都会认为在在线合作多人游戏中作弊是可以的。 基本上我们都希望 EAC _work_。 如果您对我们如何让 EAC 更好地工作有任何建议或要求(这样它实际上可以在不歧视 Proton 用户的情况下尽可能地防止作弊),那么至少我全神贯注。

所有262条评论

看起来这个游戏有一个未使用的 linux depot

有一些 Steam 游戏具有非功能性或无用的 Linux 端口,安装具有原生 Linux 版本的游戏的 Windows 版本的能力将非常有用。

@exezin

我完全同意这一点。

Battleblock 剧院的 Linux 端口仅适用于 Ubuntu 14.04.x,但 Linux 版本在 wine 上 100% 工作。

如果在游戏属性上有一种方法可以覆盖 Linux 版本并使用 Windows 版本,那就太好了。

此处的非官方解决方法: https :

在射击场上获得了接近原生 FPS、时髦的声音。
由于 AntiCheat 出现故障,多人游戏被取消,wine 上的错误报告: https ://bugs.winehq.org/show_bug.cgi?id=44235

同意exezin:在Steam 中在Windows 和Linux 构建游戏之间切换的下拉框或单选按钮会很棒

很高兴地报告,Squad 多人游戏现在按照 Proton 3.16-6 Beta 开箱即用
Reddit 讨论: https :

编辑:EAC 第二天坏了:( http://i.imgur.com/3NnZwYF.png
Edit2:似乎可以按照以下方式再次工作: https :

这是免费的周末,但使用 4.2-9 启动它失败了,因为它找不到/squad_launcher.exe错误,因为它没有下载它。 检查文件无济于事。

它使用 Native2Proton 失败(它仍然在 3.16 beta 而不是 4.2-9 上运行)
[0] Install game [1] Use winetricks on prefix [2] Install Non-Steam App [Experimental] [3] Recreate config [4] Quit What would you like to do? 0 Please enter the Steam app ID: 393380 Got: Squad Please enter your Steam username: xxx Redirecting stderr to '/home/xxx/.steam/steam/logs/stderr.txt' [ 0%] Checking for available updates... [----] Verifying installation... Steam Console Client (c) Valve Corporation -- type 'quit' to exit -- Loading Steam API...OK. "@sSteamCmdForcePlatformType" = "windows" Logging in user 'xxx' to Steam Public ... Logged in OK Waiting for user info...OK Update state (0x3) reconfiguring, progress: 0.00 (0 / 0) Error! App '393380' state is 0x212 after update job. Please select the game executable by number:

小队(fps突然下降)

问题从https://github.com/ValveSoftware/Proton/issues/3071转移
@aly199发表于 2019-09-19T23:29:24:

最新的 Proton (4.11-5) 的 Squad 将 fps 从 60-90fps 降至 15fps。 它大约每 20-30 秒发生一次,下降大约 5-10 秒,然后恢复正常,在整个游戏中像这样循环。
回到 Proton 4.2-9,问题消失了。

质子 4.11-5
Linux Mint 19.1 (Tessa)
NVIDIA 驱动程序 430.4
内核 4.15.0-55-generic

你好@aly199 ,请将PROTON_LOG=1 %command%到游戏的启动选项中,并将生成的$HOME/steam-$APPID.log拖放到评论框中。

与上述相反,我今天在最新的 Proton (4.11-5) 上玩了几个小时,它运行得很好,多人游戏也很完美,而且我对反作弊没有任何问题(这曾经与质子)

我确实使用了这些启动命令,不确定它们是否会对 @aly199 产生影响
~__GL_THREADED_OPTIMIZATIONS=1 PROTON_NO_ESYNC=1 gamemoderun %command%~

@kisak-valve,我玩了大约 5 分钟左右,生成的日志文件大小为 1.8GB!
我的意思是,我愿意通过任何方式上传它,但 github 最多接受 10MB。

哎呀,Proton 日志压缩得很好,但即使在存档中,它也很有可能比 github 满意。

是的。 113MB 是 gzip 所能做到的最好的。
我已将压缩文件上传到 pcloud。
这是链接。

并不是说它有助于诊断性能问题,但是 debugstr 对类似的行非常活跃
4460.245:0033:0034:warn:debugstr:OutputDebugStringA "[2019.09.20-22.02.28:146][ 0]LogPackageLocalizationCache: Warning: Skipping the cache update for the package asset groups due to a cache request from a non-game thread. Some localized packages may be missed for this query.\r\n"
4460.246:0033:0034:warn:debugstr:OutputDebugStringA "[2019.09.20-22.02.28:147][ 0]LogPackageLocalizationCache: Warning: Skipping the cache update for 3 pending package path(s) due to a cache request from a non-game thread. Some localized packages may be missed for this query.\r\n"

grep "Warning: Skipping the cache update" steam-393380.log | wc -l
90520

这与触发它的 seh 行一起构成了日志的大部分。

哦,我不得不在这里做一些其他的事情,但忘了提及:我在 firejail 上运行 Steam,并带有一个overlay-fs。 不知道它是否与什么有关,但我想我应该提到它。
这可能无关紧要,因为在相同的情况下,游戏在 Proton 4.2-9 上运行没有任何问题。

由于 EAC,我突然无法运行 Squad。 没有其他人遇到我可以看到的这个问题。 在 Ubuntu 19.10 上运行最新的 Proton 4.11-7。 当我启动游戏时,它告诉我 EAC 无法初始化游戏客户端,随后我无法加入任何在线服务器。

由于 EAC,我突然无法运行 Squad。 没有其他人遇到我可以看到的这个问题。 在 Ubuntu 19.10 上运行最新的 Proton 4.11-7。 当我启动游戏时,它告诉我 EAC 无法初始化游戏客户端,随后我无法加入任何在线服务器。

在 1570630972 proton-4.11-7 上为我工作,使用 Ubuntu 18.04。
昨天有一个 Steam 中断,也许是相关的? https://twitter.com/SteamStatus/status/1188893289409400832

由于 EAC,我突然无法运行 Squad。 没有其他人遇到我可以看到的这个问题。 在 Ubuntu 19.10 上运行最新的 Proton 4.11-7。 当我启动游戏时,它告诉我 EAC 无法初始化游戏客户端,随后我无法加入任何在线服务器。

在 1570630972 proton-4.11-7 上为我工作,使用 Ubuntu 18.04。
昨天有一个 Steam 中断,也许是相关的? https://twitter.com/SteamStatus/status/1188893289409400832

还是行不通。 在我在这个新磁盘上重新安装 Ubuntu 之前它可以工作(但没有其他硬件更改),我知道其他人仍然可以使用它。 我很想启动调试,看看有什么问题。

自两周前上次以来就想再玩一次。 同样的问题。 游戏运行良好,但显示一个小弹出窗口: EasyAntiCheat Error: Failed to create IGameClient instance!

游戏在这两周内没有更新,据我所知,当时只有质子更新(我很快在下载 4.11 的下载列表中看到了它(或它的更新?))。 无论如何,它现在实际上很无聊,因为没有 EAC 你不能在任何公共服务器上玩。

更新:我差点忘了说,我跑了WINEPREFIX=~/SteamLibrary/steamapps/compatdata/393380/pfx/ ./EasyAntiCheat_Setup.exe ,这出乎意料地有效,我可以选择“修复”。 虽然遗憾的是没有任何成功。

Steam 全新安装(不含 Proton)仍然带有空仓库。

使用 Proton 4.11-9,它在删除 Movies 文件夹后运行良好(Proton 没有所需的编解码器),除了Easy Anti Cheat/EAC自 Alpha 16 启动以来间歇性停止工作。

EasyAntiCheat 错误:无法创建 IGameClient 实例!

当前版本是 17。

大家好。
我在零配置的情况下在线玩了 20 小时以上。 我有点幸运。

当前版本: Beta v18.0.5
质子: 4.11-11
发行版 Linux Mint 19.2 Tina
内核: 5.3.0-24-generic
内存: 16GB
GPU 驱动程序: NVIDIA 440.44
GPU: NVIDIA GeForce GTX 1070
CPU:英特尔酷睿 i7-6700K @ 4.00GHz

然而,这场比赛仍然滞后。

Beta v18.0.5 终于恢复了 EAC。 但是您必须多次运行它,直到它不显示 EAC 错误。

遗憾的是,我无法确认@BRMateus2的结果。 我验证了我的游戏数据,删除了前缀以重新开始,即使在连续启动 10 次后,我仍然收到 EAC GameClient 错误。 我愿意接受其他我可以尝试的建议......

当前版本: Beta v18.0.5
质子: 4.11-11
发行版 Manjaro Linux x86_64
内核: 5.4.6-2-MANJARO
内存: 16GB
GPU 驱动程序: X.Org Radeon RX Vega(VEGA10、DRM 3.35.0、5.4.6-2-MANJARO、LLVM 9.0.0)
驱动程序版本: 4.5(兼容性配置文件)Mesa 19.3.1
GPU: AMD ATI Radeon RX Vega 64
CPU: Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz

@Byter09你用的是什么 DE? arch 上的 lxde 给了我一个启动错误,但切换到 lightdm 摆脱了启动错误。

@greymood09我正在使用 KDE。 这样的事情真的有那么大的影响吗? 哇。

由于我使用 Mesa 19.3,我遇到了随机崩溃。

我的系统:

系统:
主机:stumftopf-pc 内核:4.19.92-1-MANJARO x86_64 位:64
桌面:Xfce 4.14.1 发行版:Manjaro Linux
中央处理器:
8 核:AMD Ryzen 7 2700X 类型:MT MCP 速度:1884 MHz
最小/最大:2200/3700 MHz
图形:
设备 1:AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
驱动程序:amdgpu v:内核
显示:x11 服务器:X.Org 1.20.6 驱动:amdgpu
分辨率:1920x1080~60Hz
OpenGL:渲染器:Radeon RX 590 系列(POLARIS10 DRM 3.27.0
4.19.92-1-MANJARO LLVM 9.0.0)
v:4.5 台面 19.3.1
驱动器:
本地存储:总计:1.59 TiB 使用:822.63 GiB (50.5%)
信息:
进程:317 正常运行时间:29m 内存:15.66 GiB 使用:2.76 GiB (17.6%)
外壳:zsh inxi:3.0.37

质子日志:

Unhandled exception: page fault on write access to 0x7f7d303f0000 in 64-bit code (0x00007f7d08ec06bd).
00cd:fixme:dbghelp:elf_search_auxv can't find symbol in module
Register dump:
 rip:00007f7d08ec06bd rsp:000000001463f890 rbp:00000000fffffffc eflags:00010283 (  R- --  I S - - -C)
 rax:00007f7d303cd000 rbx:0000000000000009 rcx:00007f7cf011047c rdx:0000000000023000
 rsi:00000003fffffff0 rdi:00007f7d303cd001  r8:00007f7cf001dfb0  r9:0000000000000001 r10:0000000000000009
 r11:0000000000000000 r12:00007f7cf01121c0 r13:00007f7cf0110458 r14:00007f7cf0110458 r15:0000000000000001
Stack dump:
0x000000001463f890:  0000000000000001 000000001463f950
0x000000001463f8a0:  0000000000000000 00007f7d00000000
0x000000001463f8b0:  00000002001d6000 0000000000014000
0x000000001463f8c0:  00007f7cf001dfb0 93c825bd001f3b00
0x000000001463f8d0:  0000000000000000 000000006a59e380
0x000000001463f8e0:  000000006a59f4f0 00007f7cf010eea8
0x000000001463f8f0:  00007f7c8c2030a8 00007f7b76d4b3d8
0x000000001463f900:  00007f7cf01116a8 00007f7d08e39d5a
0x000000001463f910:  0000000000000000 00007f7cf010eea8
0x000000001463f920:  00007f7cf010eea8 000000001463fa30
0x000000001463f930:  00007f7cf01116a8 00007f7c8c2030a8
0x000000001463f940:  00007f7c94243198 00007f7d08cd3041
Backtrace:
=>0 0x00007f7d08ec06bd vkCreateInstance+0xffffffffffffffff() in amdvlk64.so (0x00000000fffffffc)
0x00007f7d08ec06bd vkCreateInstance+0xffffffffffffffff in amdvlk64.so: movups   %xmm0,(%rax,%rdx,1)

steam-393380.log.zip

你好@Stumpftopf

@kisak-valve 是的,你是对的。 它是 AMDVLK。
在我安装了一些额外的软件包后要修复接缝:
sudo pacman -S vulkan-icd-loader lib32-vulkan-icd-loader sudo pacman -S vulkan-radeon lib32-vulkan-radeon
我现在不确定我之前是否真的使用过 amdvlk 而不是 amdgpu vulkan 实现。

从 EAC 获取 IGameClient 错误。 似乎没有任何帮助。

我发现了一个对 EAC IGameClient 实例化错误的笨拙修复:

  1. 删除Squad wineprefix;
  2. 切换 Squad 以使用 Proton 4.11;
  3. 启动 Squad 重新创建 wineprefix(这也会安装 EAC);
  4. 退出小队;
  5. 将 Squad 切换回使用 Proton 5.0;
  6. 再次启动 Squad 将 wineprefix 升级到 5.0 - EAC 现在应该可以正常工作了。

@Byter09你能试试这个吗?

注意,Valve,5.0 中可能会出现回归。

@imaami 按照您的指示进行操作:

  • 删除预先存在的前缀
  • 切换到 4.11-13
  • 开始
  • 得到错误,继续加载
  • 在主菜单退出
  • (有趣的部分,小队不会自行关闭,至少 Steam 仍将其标记为正在运行,所以我必须继续使用 htop 杀死所有名称中包含小队的东西)
  • 关闭Force the use of a specific Steam Play compatibility tool
  • 重新开始
  • 再次出错。

所以......不知道我做错了什么:(

另一个快速说明:从那时起我重新安装了我的设置,是的,错误仍然存​​在。 只是认为这可以帮助减少错误的搜索范围。

@Byter09您需要先删除 wineprefix 目录。 根据您安装 Squad 的位置,它可能是$HOME/.steam/steam/steamapps/compatdata/393380 。 就我而言,它是/opt/steam/steamapps/compatdata/393380 ,但您明白了。 删除名为393380 ,这就是 wineprefix。

完成后切换到旧版本。 开始和退出小队。 切换到新的 Proton 版本,重新开始。

删除 wineprefix 是其中的一个关键部分,否则将不会重新安装 EAC。 当您使用 4.11-13 进行第一次运行时,您需要从头开始。

@imaami也完全按照您的说明进行了尝试,没有运气。

操作系统:Manjaro Linux
KDE 等离子版本:5.18.3
KDE 框架版本:5.68.0
Qt 版本:5.14.1
内核版本:5.5.11-1-MANJARO

@imaami对不起,我忘了提及它。 我当然这样做了。
我更新了原始评论以反映这一点。

@imaami对不起,我忘了提及它。 我当然这样做了。
我更新了原始评论以反映这一点。

你能试试这些添加/更改吗:

  • 一开始,在删除旧前缀之后,在做任何其他事情之前,删除实际游戏文件中所有名为EasyAntiCheat的目录,然后在Steam中运行“验证本地文件”的东西来强制重新下载。
  • 而不是在第 1 轮中使用上游 4.11-13 版本,而是使用这个非官方的 4.14: https :
  • 切换到更新的 Proton 时,不要关闭“强制特定兼容性工具”,而是保持打开状态,只需更改强制版本即可。
  • 对于较新的版本,使用 5.4-GE-3 而不是上游 5.0-5b: https :

以上应该几乎 100% 复制了我昨天的第一个成功技巧。

@ryangodfrey你也可以试试吗?

PS:我昨天从 Reddit 上的一个人那里得到了回复,他能够按照我的指示修复他的 EAC,所以我不知道幸运的是会有多随意。 我相信这件事最终会得到解决,现在我们至少有一些线索可以找到在哪里寻找错误。

好吧。
我写这篇评论是因为我不会忘记任何事情,并尽可能多地为您提供有关此的信息。

  • 我下载了两个档案,并将每个档案及其各自的文件夹放入/home/btr/.steam/root/compatibilitytools.d/
  • 我删除了前缀。
  • 我删除了 Squad 目录中的EasyAntiCheat文件夹。
  • 我还搜索了更多的EasyAntiCheat文件和目录,并将它们也删除了。
  • 我验证了游戏文件的完整性:需要重新获取 59 个文件(1.8 MB)。
  • 我设置 Squad 使用强制兼容工具: Proton-i 4.13-3
  • 我开始小队。
  • Steam 正在执行首次设置。
  • 小队开始: EasyAntiCheat Error: Failed to create IGameClient
  • 我按 OK,等待主菜单加载并退出 Squad。
  • Squad 关闭并不再可见,但 Steam 仍将其显示为正在运行。
  • 我使用 htop 杀死与 Squad 相关的所有内容。 (2 x squad_launcher.exe )
  • 我设置 Squad 使用强制兼容工具: Proton-5.4-GE-3
  • 我开始小队。
  • 小队开始: EasyAntiCheat Error: Failed to create IGameClient
  • 我按 OK,等待主菜单加载。
  • 无论如何,我尝试加入服务器只是为了确保。 它不起作用。
  • 我关闭小队。
  • Squad 关闭并不再可见,但 Steam 仍将其显示为正在运行。
  • 我使用 htop 杀死与 Squad 相关的所有内容。 (2 x squad_launcher.exe )

我真的希望这会奏效。 :哭泣:

游戏在第一次尝试时开始,但出现 EAC 错误,但在按照此处的建议将 Steam Play 兼容性工具版本切换到以前的版本并返回到最新版本后仍可运行。

游戏运行在大约 80-90 FPS,但几分钟后下降到大约 5-30 FPS 并保持在那里,但 PROTON_NO_ESYNC=1 这只是周期性的(在一场比赛中测试)

游戏不可玩!

质子:5.0-6
操作系统:Linux Mint 19.3 Tricia
内核:5.6.7-050607-通用
CPU:英特尔酷睿 i7-7700K @ 4.20GHz
显卡:AMD NAVI10
GPU 驱动程序:4.6 Mesa 20.0.5 - kisak-mesa PPA
内存:32GB

steam-393380.log.gz

我实际上找到了罪魁祸首 - EAC 正在积极尝试检测 Wine 并且有可能 Squad 开发人员正在针对 Wine 进行构建,因为有一些过去的构建与 Windows 对应版本相比没有任何问题,这可能是一个“滴答的 Wine”检测与否”。

我有另一个与 EAC 一起运行的游戏,它可以完美运行,它的 EAC dll 没有使用字符串命令的任何 Wine 函数,但是 Squad 有一个众所周知的( #1#2 )小问题。

LogEasyAntiCheatServer:警告:无法找到 EasyAntiCheat 服务器库 eac_server64.dll
LogEasyAntiCheatClient:错误:无法创建 IGameClient 实例!

字符串 EasyAntiCheat_x64.dll | 葡萄酒
葡萄酒32
葡萄酒64
wine_get_version
葡萄酒_x86
葡萄酒_x64

这可能不是 Proton 的倒退,因为旧的 Proton 甚至不再运行游戏了。 我尝试了以下步骤,奇怪的是有一些(接口?硬件?)组合似乎有效(它们是否破坏了 EAC 检查?),但是我的 Fedora 31 KDE、DXVK 根本无法让 Squad 与 EAC 一起运行和梅萨。

删除小队 (393380) Wine 前缀:
rm -r "$HOME/.steam/steam/steamapps/compatdata/393380"
切换 Proton 以使用 Proton-i-4.13-3。
移动 Movies 文件夹,以免游戏崩溃(因为没有编解码器):
mv "$HOME/.local/share/Steam/steamapps/common/Squad/SquadGame/Content/Movies" "$HOME/.local/share/Steam/steamapps/common/Squad/SquadGame/Content/Movies.backup"
运行游戏直到菜单,然后退出并杀死所有 Squad 实例(killall --signal SIGHUP "squad_launcher.exe" "SquadGame.exe")。
切换 Proton 以使用 Proton-5.4-GE-3 并运行游戏直到菜单。

好消息 - 对我来说,事情已经从不可玩变成了可以玩的问题。

我实际上已经连续两天玩了几个小时的 Squad - 仍然没有 EAC 问题,这是非常积极的 - 感谢使这成为可能的人!

我想我已经通过安装包含 fsync 补丁的 XanMod Linux 内核来控制一般的口吃 - 大约 80-95 FPS。

但有时 FPS 仍会下降到 5-10 并停留在那里,稍后才恢复正常。

我注意到在这种情况下,我的视频卡 VRAM 几乎用完了,我确认完整纹理加载选项实际上没有打开。

这是 Squad 运行时“radeontop”的屏幕截图,并且出现丢帧问题:

amdgpu
显卡型号为技嘉Radeon RX 5700 XT GAMING OC 8GB

我也遇到过奇怪的 AMDGPU 图形驱动程序崩溃 - 我经历过从完全系统锁定到屏幕关闭或然后打开,但只显示绿色,有一次 Squad 崩溃,我的屏幕关闭又打开,以及当桌面环境从该事件中重新启动/恢复时,整个屏幕上都会出现奇怪的伪影/彩色像素。

这是其中一个事件的日志(发生该事件时,我正在运行 5.6.7 Ubuntu 主线 Linux 内核)

amdgpu_crash_10-04-2020_1447.log

使用@imaami的说明并让游戏昨天运行没有问题,甚至没有延迟。 然而,今天我开始遇到间歇性崩溃(通过冻结),并试图解决这个问题。 这似乎以通过 Steam 重新安装 EAC 并打破反作弊而告终。

复制我第一次执行的步骤,尝试在 4.11.13 中安装 EAC 没有成功运行反作弊,尽管崩溃似乎在训练中消失了。 我还尝试使用更新版本的 GE 质子代替我之前使用的 GE 5.6 以及上面发布的 imaami 的质子 4 版本,但无济于事。 到目前为止,我还没有成功地让反作弊程序再次运行。 值得注意的是,在每次失败的尝试之间,我都删除了 Squad 的 compatdata 目录,包括前缀。

操作系统:Arch Linux x86_64
内核:5.6.13-arch1-1
CPU:英特尔 i7-8700K (12) @ 4.700GHz
GPU:NVIDIA GeForce GTX 1080
内存:4112MiB / 32057MiB

我已经尝试了一切来完成这项工作。 我希望有人能尽快解决这个问题! <3 这可能是最新的小队补丁。

我已经尝试了几天来使其正常工作,遵循此处详述的所有步骤,但没有运气,每次都弹出相同的弹出窗口。 很遗憾,直到大约 8 天前,Squad 都在完美运行。

今天出新补丁。 关于 EAC 指数的一些事情。 穿过我的手指。

今天出新补丁。 关于 EAC 指数的一些事情。 穿过我的手指。

请报告,因为我什至卸载了。

我删除了前缀并用B19.4.2再次测试。 同样的错误信息。

:失望的:

刚刚又试了一次,更新了55MB后还是一样的EAC错误,无法在线玩。

是的,我做了,我说过 IGameClient 错误,Jensen 的作品(我认为是本地的)但是任何受 EAC 保护的服务器都告诉我我需要激活反作弊

@imaami游戏/您的解决方法仍然对您

@imaami游戏/您的解决方法仍然对您

是的,游戏还在运行。 我已经有一段时间没有擦除前缀或游戏文件了,因为我没有遇到问题。 我不知道如果我擦除它们并重新安装会发生什么,如果我不是绝对必须这样做,我不会冒险。 :)

我在启动 Squad 时确实收到过一次错误消息,但我关闭并重新启动游戏,它又重新运行了。 当时唯一的区别是我在 Steam 中按“开始”后不久不小心切换到另一个工作区。 我想知道在游戏客户端和 EAC 启动器窗口不在同一工作区(虚拟桌面)的某些情况下,启动器是否会混淆。

我当前的图形全屏设置是无边界全屏窗口,顺便说一句,不是“真正的”全屏模式。 也许这会产生一些影响。

我的窗口管理器是 i3,我将 Steam 客户端绑定到工作区 3。每当我启动 Squad 时,我确保在游戏完全加载之前不会在工作区之间切换。 我不知道这是否只是基于巧合经验的仪式,但我的印象是,如果 Squad 或 EAC(或 Proton)在发布期间没有 100% 专注,事情就会变得很奇怪。 是否可能与 alt-tabbing 错误有关,在将焦点返回到游戏窗口后没有捕获鼠标事件?

只是在这里大声思考。 我建议牺牲一只鸡以防万一,我们都知道生活在火山中的EAC神是善变和苛求的。

几周前我发现了一个 reddit 线程,声称通过 wine 卸载程序卸载 EAC 并重新安装它有机会使其工作。 我没有费心在这里提及它,因为这种说法从未真正得到证实。
这可能真的只是玩赔率并希望您获得幸运抽奖的问题。

几周前我发现了一个 reddit 线程,声称通过 wine 卸载程序卸载 EAC 并重新安装它有机会使其工作。 我没有费心在这里提及它,因为这种说法从未真正得到证实。
这可能真的只是玩赔率并希望您获得幸运抽奖的问题。

两天前我已经尝试过了,我是单独尝试的,我尝试将其添加为“非 Steam 游戏”,我什至从我的 Windows PC 中复制了 EAC 文件夹(一个来自主文件夹,另一个来自二进制文件)和仍然无法正常工作。

我还做了一个清除缓存,验证完整性,重新安装 EAC。 没有任何效果

看起来在带有暂存酒的启动参数中使用“hidewineexports=enable %command%”(在我的情况下是 Proton-5.9-GE-MF-2)工作。 这种方法不会修改任何文件,正如互联网上的其他方法所建议的那样,但我仍然不能说这是否会导致禁令。

看起来在带有暂存酒的启动参数中使用“hidewineexports=enable %command%”(在我的情况下是 Proton-5.9-GE-MF-2)工作。 这种方法不会修改任何文件,正如互联网上的其他方法所建议的那样,但我仍然不能说这是否会导致禁令。

很抱歉问,但我该怎么做,我尝试过设置启动选项的东西,即使之前有 + 和 -,但仍然无法正常工作,它告诉我在加入服务器时激活 EAC

使用 Proton-5.9-GE-MF-2 使用 "hidewineexports=enable %command%" 测试 Squad,所有情况均以未能创建 EAC 界面的游戏结束。

尝试的事情:

  • 使用现有的非工作 pfx 和 5.9-GE-MF-2 中的环境变量运行游戏。
  • 删除 pfx 并使用 5.9-GE-MF-2 重新安装
  • 删除 pfx,如上使用 Proton 4.11-13 安装它,然后运行 ​​5.9-GE-MF-2
  • 删除 Squad 的整个 compatdata,安装 4.11-13,然后运行 ​​5.9-GE-MF-2
  • 删除 Squad 的整个兼容数据,使用 5.9-GE-MF-2 安装并运行它。

我的一个理论可能是从游戏功能正常的人那里获取工作前缀,并将其放入游戏不正常的人的兼容数据中。 它可能会使无功能的游戏工作。 但是,如果他们尝试打包 compatdata,则应该小心,以防前缀恰好包含来自游戏或用户的任何敏感信息。

我知道我昨天在做一些愚蠢的事情。 "hidevineexports=enable %command%" 应该什么都不做。 您真正应该做的是在 winetricks 中设置 hidewineexports=enable。 我用 protontricks 做这个

protontricks 393380 hidewineexports=enable

之后,您应该在第一次运行时无法启动 EAC 和游戏(不仅仅是无法启动 igameclient),但在第二次启动时它应该可以工作。 在那之后,我不时开始使用它,但在第三次尝试时最多。 它不应该显示无法启动 igameclient,它应该是因为 EAC 或游戏的良好开端而根本无法启动游戏。 如果启动 igameclient 仍然失败,那么还有一些我无法判断的事情。

我真的不知道如何调查这个所以任何帮助表示赞赏:

我想使用 Steam 中可用的最新质子来尝试上述操作,并删除了前缀,因此它是一个干净的设置。 我当然需要开始游戏一次才能让它发生。 我验证了游戏文件,在单击IGameClient消息后立即启动它,我的系统进行了硬重置。 当我在消息弹出之前退出游戏(使用窗口游戏上的关闭按钮)时,也会发生同样的事情。

基本上,我现在甚至无法启动它了。 这意味着我也无法测试 protontricks 命令:(

这只是我的系统设置的一个奇怪的怪癖还是有更多的事情发生? 我如何知道当它杀死我的系统时会发生什么?

我真的不知道如何调查这个所以任何帮助表示赞赏:

我想使用 Steam 中可用的最新质子来尝试上述操作,并删除了前缀,因此它是一个干净的设置。 我当然需要开始游戏一次才能让它发生。 我验证了游戏文件,在单击IGameClient消息后立即启动它,我的系统进行了硬重置。 当我在消息弹出之前退出游戏(使用窗口游戏上的关闭按钮)时,也会发生同样的事情。

基本上,我现在甚至无法启动它了。 这意味着我也无法测试 protontricks 命令:(

这只是我的系统设置的一个奇怪的怪癖还是有更多的事情发生? 我如何知道当它杀死我的系统时会发生什么?

现在室内是否比几周/几个月前明显更热? 开始游戏后你有没有检查过CPU和GPU的温度是多少?

这只是想到可能导致硬重启的第一件事。 此外,如果您的 PSU 或主板在高温下烧毁了电容器,这可能是一个原因。

基本上是供电故障或过温保护,这些都会重置您的计算机。 除此之外我没有任何想法。

编辑:如果你在你的主板或 PSU 或任何其他组件上看到这个,你会遇到看起来很像随机神秘重启和崩溃的问题。 当电容器沸腾时会发生这种情况。 字面意思是沸腾,而不是修辞手法。 长时间靠近热组件会增加盖子沸腾的可能性。

@imaami感谢您的关注,但绝对不是那样。 我也可以玩其他要求很高的游戏没问题。 如果这是一个临时问题,我认为“单击 X 关闭游戏导致立即重置”不会每次都有效。 但确实如此。 我测试了3次。 它_必须_是引起恐慌或其他什么的游戏。

@imaami感谢您的关注,但绝对不是那样。 我也可以玩其他要求很高的游戏没问题。 如果这是一个临时问题,我认为“单击 X 关闭游戏导致立即重置”不会每次都有效。 但确实如此。 我测试了3次。 它_必须_是引起恐慌或其他什么的游戏。

是的,绝对听起来像是带有附加信息的 Squad 特定内容。 Squad 在关闭时通常很奇怪,无论它做什么,它通常会导致 10-20 秒的短暂冻结,在此期间一切都会暂停。

你有什么 CPU、GPU 等?

@imaami

CPU: Intel i7-2600 (8) @ 3.800GHz
GPU: Radeon RX Vega (VEGA10, DRM 3.36.0, 5.6.16-1-MANJARO, LLVM 10.0.0)
RAM: 16 GB
MB: P67A-D3-B3
KRNL: 5.6.16-1-MANJARO

希望有帮助。 只是为了让您对要求苛刻的游戏有一个看法:我可以玩 X4,这是一款 Linux 原生游戏,非常好。 它可以很快地加热我的房间,但 Squad 也是如此。 而且我很确定我已经在这个问题中进一步发布了我的系统信息,除了一些软件包升级和新内核之外,两者之间没有太大变化。

编辑:找到它: https :

Proton 5.9启用了 hidewineexports。

GameID: 55 (32bit) Windows Version: 10.0 (Build 17134) Error Code: 30005 Process Exit Code: 0h UUID: 74f2ef78-445f-aa07-a79c-f79eb3c1fa01 Processes list: explorer.exe plugplay.exe services.exe squad_launcher.exe steam.exe winedevice.exe
我猜 EAC 不喜欢 winedevice.exe

我忘了发布更新,但我执行的所有测试都导致了与@aCeTotal发布的相同的问题。

我_about_ 与@aCeTotal 的错误相同。
奇怪的是它调用我的 Windows 版本 6.1

这是在清除前缀之后,
用质子 4.11 制作前缀
启用隐藏葡萄酒出口
与 Proton-5.9-GE-1-MF 一起运行

然后这个错误是从某种 EAC 前端返回的。

GameID: 55 (32bit)
Windows Version: 6.1 (Build 7601)
Error Code: 30005
Process Exit Code: 0h
UUID: 1898b708-c9e3-bb00-7471-bae27b36a354
Processes list:
explorer.exe
plugplay.exe
services.exe
squad_launcher.exe
steam.exe
winedevice.exe

而且它在第二次运行时也不起作用,就像@MAD-BUG 报道的那样。

无论如何,现在有人在 Linux 上玩这个游戏吗?

编辑:切换回 Proton-5.0-9
现在我又回到了 IGameClient 错误。 (可能是因为 hidewineexports 再次被禁用?)。

编辑:重新开始,
我尝试尽可能接近@imaami 的评论:
https://github.com/ValveSoftware/Proton/issues/938#issuecomment -606813813

删除现有的 pfx ( rm -r .local/share/Steam/steamapps/compatdata/393380/ )
从游戏文件中删除名为 EasyAntiCheat 的文件夹(一个在 root 中,一个在 Binaries 文件夹中),并让 Steam 重新安装它们。

我用 imaami 的叉子上的Proton-i-4.13-3运行游戏。 (IGameClient 错误)

然后我用Proton-5.4-GE-3运行游戏。 (IGameClient 错误仍然存​​在)

我仍然收到 IGameClient 错误...

@imaami如果您发送您的 wineprefix,我们可以尝试使用您的 wineprefix 启动我们的游戏。

@imaami如果您发送您的 wineprefix,我们可以尝试使用您的 wineprefix 启动我们的游戏。

昨天安装 Squad 的公共测试客户端时,我无法绕过 IGameClient 错误。 我的正常小队游戏仍然继续工作。 所以我比较了一些 EAC 文件在普通和公共测试小队前缀之间的哈希和,我注意到公共测试前缀完全缺少这两个:

pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac
pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac.metadata

我以前记得 EAC 似乎在安装和/或启动期间下载这些。 所以我想也许如果我只是将这些复制到公共测试前缀,看看会发生什么......它起作用了。 EAC 再次启动。

我正在附加一个包含这两个文件的 tarball(完整路径如上)。 也许它也适用于其他小队前缀。

easyanticheat_wine_x64.tar.gz

@imaami如果您发送您的 wineprefix,我们可以尝试使用您的 wineprefix 启动我们的游戏。

昨天安装 Squad 的公共测试客户端时,我无法绕过 IGameClient 错误。 我的正常小队游戏仍然继续工作。 所以我比较了一些 EAC 文件在普通和公共测试小队前缀之间的哈希和,我注意到公共测试前缀完全缺少这两个:

pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac
pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac.metadata

我以前记得 EAC 似乎在安装和/或启动期间下载这些。 所以我想也许如果我只是将这些复制到公共测试前缀,看看会发生什么......它起作用了。 EAC 再次启动。

我正在附加一个包含这两个文件的 tarball(完整路径如上)。 也许它也适用于其他小队前缀。

easyanticheat_wine_x64.tar.gz

将这些文件放在指定的目录中对我的客户没有任何改变。 _然而,_ 他们确实让我偶然发现了同一目录中的loader.log文件,这可能会提供一个线索,说明为什么我的客户端可能无法加载。 这是我的 loader.log 的uniq版本,URL 中的 uuid 被剪掉了,因为我对它们的使用一无所知。

[2020.06.27-00.37.23] Loader initialized.
[2020.06.27-00.37.23] [Connection] Connecting to URL: https://download.eac-cdn.com/api/v1/games/55/client/wine64/download/?uuid=(uuidhere)
[2020.06.27-00.37.23] Download Progress: 0%.
[2020.06.27-00.37.23] [Connection] Connect result: No error (0) Response Code: 200 Destination IP: 13.226.205.101
[2020.06.27-00.37.23] [HTTP Error Response] HTTP Response Code: 200 Curl Code: 0.
[2020.06.27-00.37.23] Falling back to a secondary CDN path.
[2020.06.27-00.37.23] [Connection] Connecting to URL: https://download-alt.easyanticheat.net/api/v1/games/55/client/wine64/download/?uuid=(uuidhere)
[2020.06.27-00.37.23] Download Progress: 0%.
[2020.06.27-00.37.23] [Connection] Connect result: SSL connect error (35) Response Code: 0 Destination IP: 172.67.156.223
[2020.06.27-00.37.23] Connection to the Content Distribution Network failed! Curl Code: 35.
[2020.06.27-00.37.23] [EAC Callback] Code 914. Message: ''.

EAC 正试图从他们的 CDN 下载一些东西,得到 200 响应,但还是失败了。 然后回退到备用 CDN,但由于 SSL 错误而失败。 在我的终端中复制确切的 URL 调用不会为我提供任何下载的数据,但可以成功连接而没有错误。 我很想看看您的 loader.log 是否在成功后提供不同的输出。

这让我有可能相信已安装的软件包可能会影响游戏是否正常运行? 或者,也许 EAC 尝试使用与传统请求不同的 SSL 证书/方法,导致它更频繁地失败? 老实说,我真的不能说,但我认为这可能是解决问题的暗示。

@NGGJamie ,昨天我注意到同一个文件。 在该位置附近的某处实际上有一个类似的日志文件,它也显示了相同的 curl 35 错误。 这意味着 SSL 握手不成功。 我还没有在这里报告它,因为我首先想检查@imaami在他的前缀中是否有相同的日志。

我将这些文件加载​​到我的前缀中,它们立即被删除。
我提到的另一个日志文件是
pfx/drive_c/users/steamuser/Application\ Data/EasyAntiCheat/gamelauncher.log

虽然这次那个日志没有显示任何错误,但这可能是一个线索。 然而,另一个loader.log文件确实显示了日志。

当我重新启动游戏gamelauncher.log报告

[Info] [LauncherFinished] EACAsyncResult: 3 Message: 'Connection to the Content Distribution Network failed! Curl Code: 35.'.
[Err!] [Network Error] CDN connection failed!

再次。

为了确定起见,我又做了一次检查,再次使用gamerlauncher.log显示:

[Info] [LauncherFinished] EACAsyncResult: 0 Message: 'Easy Anti-Cheat successfully loaded in-game'.
[Info] Unloading the EasyAntiCheat library.

假设:
EAC 尝试下载一些二进制文件,HTTP 请求成功但没有发送任何数据就关闭了。 所以它假设请求失败,将其记录为错误并使用后备 CDN,坦率地说,这不起作用。

CDN 返回content-type: application/octet-streamcontent-length: 0

替代 CDN 对我的行为相同。

我很好奇 UUID 的目的是什么以及它是如何定义的。 没有它似乎工作正常,但也许这就是问题所在。

编辑:我想我可能会做点什么。 我阅读了几个关于此端点的线程,以及它如何在多个游戏中导致完全相同的问题。 用wine64替换win64使配置下载正确。 @imaami可能已经正确下载了该配置。 并且有人已经提到,当与葡萄酒相关的字符串开始出现在 EAC dll 中时,游戏变得无法播放。

好吧,这真是一个奇怪的混乱。 我的loader.log有完全相同的错误。 普通小队和公开测试版都一样。 昨晚的完整日志,删除了 UUID 和重复行:

[2020.06.27-02.23.54] Loader initialized.
[2020.06.27-02.23.54] [Connection] Connecting to URL: https://download.eac-cdn.com/api/v1/games/55/client/wine64/download/?uuid=(...)
[2020.06.27-02.23.54] Download Progress: 0%.
(...)
[2020.06.27-02.23.54] Download Progress: 0%.
[2020.06.27-02.23.54] [Connection] Connect result: No error (0) Response Code: 200 Destination IP: 13.33.242.102
[2020.06.27-02.23.54] [HTTP Error Response] HTTP Response Code: 200 Curl Code: 0.
[2020.06.27-02.23.54] Falling back to a secondary CDN path.
[2020.06.27-02.23.54] [Connection] Connecting to URL: https://download-alt.easyanticheat.net/api/v1/games/55/client/wine64/download/?uuid=(...)
[2020.06.27-02.23.54] Download Progress: 0%.
(...)
[2020.06.27-02.23.54] Download Progress: 0%.
[2020.06.27-02.23.54] [Connection] Connect result: SSL connect error (35) Response Code: 0 Destination IP: 104.28.3.249
[2020.06.27-02.23.54] Connection to the Content Distribution Network failed! Curl Code: 35.
[2020.06.27-02.23.54] [EAC Callback] Code 914. Message: ''.

但是我仍然有easyanticheat_wine_x64.eaceasyanticheat_wine_x64.eac.metadata文件,并且游戏可以运行。

@imaami你能下载https://download.eac-cdn.com/api/v1/games/55/client/win64/download (win64 而不是 wine64) 并检查你的前缀中是否有具有相同 md5sum 的文件吗?

编辑:我想我可能会做点什么。 我阅读了几个关于此端点的线程,以及它如何在多个游戏中导致完全相同的问题。 用win64替换wine64 win64使配置下载正确。 @imaami可能已经正确下载了该配置。 并且有人已经提到,当与葡萄酒相关的字符串开始出现在 EAC dll 中时,游戏变得无法播放。

我也读到了这个,我还尝试从不同类型的 URL (win{,e}{32,64}) 手动下载。 使用普通命令行 curl 或 wget,wine{32,64} 下载成功,但文件长度为 0。使用 win{32,64} 下载成功,文件为 2-3 兆字节数据。

奇怪的是,我拥有(并且自 3 月以来一直拥有)的文件 - easyanticheat_wine_x64.eac - 与 win{32,64} 文件的大小不同。 这显然是一个实际的启用 Wine 的客户端文件。 而且我记得我之前在查看 EAC 时已经手动下载了它。 但至少现在 EAC 服务器返回一个空文件。

另外,你说当你手动把它们放在那里时文件被删除了。 我的文件似乎在每次启动时都会更新它们的修改日期,但它们没有被删除,而且它们似乎也没有被重新下载(?),因为我也在loader.log收到 SSL 错误。

无论如何,我想我需要运行一些测试来验证我的观察是正确的。

@imaami我现在要离开了,但我建议尝试使用代理(burp、zap)来更改传出请求,或将他们的域(/etc/hosts)重定向到您自己的托管 win64 版本的服务器.

不,win64 下载不是同一个文件。 它有不同的大小和哈希和(当然)。

我还没有尝试过,但我认为 win64 下载在这里不起作用。 它可能是正常的、不支持 wine 的客户端文件,并且会因为整个内核驱动程序混乱而失败。

这是我编写的一个简短脚本,用于下载 win{,e}{32,64} 的所有 4 个排列并显示结果:

#!/bin/bash

urlbase='https://download.eac-cdn.com/api/v1/games/55/client'

tmpuuid="$(uuidgen)" || exit $?

rm -vf sha1sums win{,e}{32,64}.{log,out} >&2

for w in win{,e}{32,64}; do
  url="$urlbase/$w/download/?uuid=$tmpuuid"
  echo "fetching $url" >&2
  curl -v -o "$w.out" "$url" > "$w.log" 2>&1
  echo " ==== return value: $? ====" >> "$w.log"
done

ls -l win{,e}{32,64}.out >&2
sha1sum win{,e}{32,64}.out | tee sha1sums >&2

一次运行的输出:

fetching https://download.eac-cdn.com/api/v1/games/55/client/win32/download/?uuid=df7b8f11-9228-4a95-b8f1-dca8ceb64eba
fetching https://download.eac-cdn.com/api/v1/games/55/client/win64/download/?uuid=df7b8f11-9228-4a95-b8f1-dca8ceb64eba
fetching https://download.eac-cdn.com/api/v1/games/55/client/wine32/download/?uuid=df7b8f11-9228-4a95-b8f1-dca8ceb64eba
fetching https://download.eac-cdn.com/api/v1/games/55/client/wine64/download/?uuid=df7b8f11-9228-4a95-b8f1-dca8ceb64eba
-rw-r--r-- 1 imaami imaami 1552496 Jun 27 14:52 win32.out
-rw-r--r-- 1 imaami imaami 2732656 Jun 27 14:52 win64.out
-rw-r--r-- 1 imaami imaami       0 Jun 27 14:52 wine32.out
-rw-r--r-- 1 imaami imaami       0 Jun 27 14:52 wine64.out
02d91b86d6c29197361236b2b7275ebd1c0c82be  win32.out
24df1e2853b8908692504b87d7f1fd9124a7bd62  win64.out
da39a3ee5e6b4b0d3255bfef95601890afd80709  wine32.out
da39a3ee5e6b4b0d3255bfef95601890afd80709  wine64.out

@imaami我现在要离开了,但我建议尝试使用代理(burp、zap)来更改传出请求,或将他们的域(/etc/hosts)重定向到您自己的托管 win64 版本的服务器.

就像我说的那样,我认为强制 EAC 下载实际的 win64 二进制文件(而不是 wine64 二进制文件)是行不通的。 这可能只是意味着您将与所有甚至不使用启用 Wine 的 EAC 构建的游戏处于相同的情况。 它会尝试加载 Windows 内核驱动程序并失败。

我的前缀中的 wine64 文件与 win64 或 win32 文件不同,它们显然是用于 Wine 的。

另外,我很确定尝试中间人 EAC 服务器也会由于 SSL 证书错误而失败。

@imaami ,你说得对。 所以我们的目标应该是获得wine64下载。 你不能发送那个文件吗? 我很好奇 uuid 是否意味着它只适用于 1 个客户端。 当您更改请求的 uuid 时,您可以检查 md5sum 是否不同吗?

@imaami ,你说得对。 所以我们的目标应该是获得wine64下载。 你不能发送那个文件吗? 我很好奇 uuid 是否意味着它只适用于 1 个客户端。 当您更改请求的 uuid 时,您可以检查 md5sum 是否不同吗?

我已经发送了,这是我之前附加的 tarball: https :

UUID 似乎无关紧要,它始终是同一个文件。

绝对清楚:这个文件:

pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac

下载自
https://download.eac-cdn.com/api/v1/games/55/client/wine64/download/?uuid=...当一切正常时。 我不知道为什么从那个 URL 下载现在给出一个零长度的文件。

我_about_ 与@aCeTotal 的错误相同。
奇怪的是它调用我的 Windows 版本 6.1
``
游戏ID:55(32位)
Windows 版本:6.1(内部版本 7601)

“Windows”(NT)6.1是Windows家族内部版本,相当于“Win 7”,意思是Wine运行在Win 7规范下。
NT 6.2 是 Win 8,NT 6.3 是 Win 8.1,NT 10 是 Win 10。NT 的意思是“新技术”,这可能是有效的哈哈。

我跑了一个小测试。 我将这些文件从前缀中移出(备份了它们并删除了原件):

pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac
pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac.metadata

然后我启动了 Squad。 我收到了 IGameClient 错误。

我关闭了游戏并确认pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/中没有新文件。 正如我所料,那里只有loader.log 。 日志文件有 SSL 握手错误,就像以前一样。

然后我将文件复制回前缀内的原始位置并启动游戏。 没有 IGameClient 错误,Squad 正常启动。

在第二次启动之后, loader.log看起来仍然完全一样——同样的 SSL 错误,并且下载尝试似乎失败了。 easyanticheat_wine_x64.eaceasyanticheat_wine_x64.eac.metadata在第二次启动后仍然存在,所以它们没有被删除。 它们的哈希和与之前相同,因此它们的内容也没有被修改。

我只能得出结论, easyanticheat_wine_x64.eaceasyanticheat_wine_x64.eac.metadata是 EAC 启动所必需的,如果缺少它们,您将收到 IGameClient 错误。

出于某种原因,EAC 在使用 Proton 4.11(或我的 Proton-i 4.13 版本)启动之前已成功下载了这些文件。 这就是为什么我在我的前缀中有它们。 也许现在每个人都下载失败的原因是 EAC 只是从下载位置删除了文件。

也许 EAC 服务器有一些短暂的 UUID 白名单系统,如果它被赋予了一个它希望在短时间内看到的 UUID 参数,它实际上会发送正确的文件。 那么为什么即使 UUID 为空,服务器也会通过win64 URL 愉快地发送文件,但wine64 URL 的行为不同? 该死的,这该死的烂摊子。

我知道这是没用的,我不期待回应,但是: https :

@imaami我没有意识到下载的文件是来自.eac文件。

我的前缀是win7吗?
无论如何,我会做更多的测试。

有人可以上PoP吗! 奥斯? 我知道有人可以毫无问题地运行游戏,通过 Proton,也许我们可以弄明白,如果你做不到,我可以在一周内将它安装在外部硬盘上,但不知道要测试什么并与您分享我需要你的帮助。

这也可能很有趣,运行protontricks-flat 393380 hidewineexports=enable ,下载路径从https://download.eac-cdn.com/api/v1/games/55/client/wine64/download/?uuid=变为https://download.eac-cdn.com/api/v1/games/55/client/wow64_win64/download/?uuid=

此外,下载运行到 100% 然后失败

[2020.06.27-19.15.00] 加载器初始化。
[2020.06.27-19.15.00] [连接] 连接网址: https ://download.eac-cdn.com/api/v1/games/55/client/wow64_win64/download/?uuid=xxxxxxx
[2020.06.27-19.15.00] 下载进度:0%。
...(删除了大约 700 行下载进度)
[2020.06.27-19.15.00] 下载进度:100%。
[2020.06.27-19.15.00] [连接] 连接结果:无错误 (0) 响应代码:200 目标 IP:13.224.198.70
[2020.06.27-19.15.00] 下载进度:100%。

@Inexorabilis 太有趣了,你的总体行为是什么? 您是否收到 IGameClient 问题? 或者您是否遇到了与 aCeTotal 相同的问题,即 EAC 启动器本身返回了错误? easyanticheat_*_x64.eac文件下载了吗?

使用这些设置启动 Squad,您会看到 EAC Splash 包括加载栏。 运行后,将打开一个错误报告窗口,指出“错误代码:30005(StartService failed with 1053)

更多细节显示如下

游戏ID:55(32位)
Windows 版本:10.0(内部版本 17134)
错误代码:30005
进程退出代码:0h
UUID:xxxxxxxxxxxxxxx
进程列表:
资源管理器
即插即用程序
服务程序
小队启动器.exe
蒸汽.exe
葡萄酒设备程序

如果您单击在线检查解决方案,您将被定向到https://www.easy.ac/en-us/support/game/issues/errors/

这与我们之前在hidewineexports遇到的错误相匹配。 您的pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55文件夹中有什么?

可悲的是 loader.log

我自己用@imaami.eac前缀中的文件进行了测试。 launcher.log没有显示错误

[2020.06.27-20.34.31] [Connection] Connect result: No error (0) Response Code: 200 Destination IP: 99.86.109.7
[2020.06.27-20.34.31] Download Progress: 100%.

我找到的下载(?)文件与我已经在那里的文件没有什么不同。

@imaami如果您拍摄电子邮件,您将有更多机会。

编辑:所以是的,启用了hidewinexports我只是看不到任何下载的文件。

也许现在每个人都下载失败的原因是 EAC 只是从下载位置删除了文件。

所有这些文件都是特定于游戏的,因此出于某种原因,Squad 的 wine 启用下载被删除了。 这可能是由开发人员选择的,我会向他们发送电子邮件。

我认为这是一个非常有趣的帖子:
https://reddit.com/r/linux_gaming/comments/ao3au6/some_interesting_notes_about_eac_error_in_apex/

它涵盖了相同的问题,但使用 Apex。 他们考虑尝试通过从不同游戏下载wine64来运行游戏。
我一直在阅读的许多论坛中的很多人认为开发人员只是有可能支持 wine,如果在某个时候关闭,这个团队就会切换。 如果这是真的,我很好奇有多少流行的 EAC 游戏不能仅仅因为开发人员不允许在 Linux 上玩。 虽然我怀疑这很容易。

@imaami你愿意分享你的整个 wineprefix 吗? 我想知道旧的二进制文件怎么可能在你的机器上运行而不是在我的机器上运行。

@imaami你愿意分享你的整个 wineprefix 吗? 我想知道旧的二进制文件怎么可能在你的机器上运行而不是在我的机器上运行。

明天我会尝试研究它,我可能需要在分享之前修剪一些东西。 从注册表什么的。

这让我想起:仔细查看注册表可能会发现有关此问题的新信息。

@imaami你愿意分享你的整个 wineprefix 吗? 我想知道旧的二进制文件怎么可能在你的机器上运行而不是在我的机器上运行。

明天我会尝试研究它,我可能需要在分享之前修剪一些东西。 从注册表什么的。

这让我想起:仔细查看注册表可能会发现有关此问题的新信息。

请随意先私下将前缀发送给我,没有必要冒险泄露敏感信息以获得可能不起作用的解决方案。

我可以看看注册表,但我不确定我要找什么。

编辑:我昨天发了这个 reddit 帖子: https :
希望我们能得到开发商的声明。 但我认为曾经响应这些线程的开发人员不再在公司工作了。

发布我为抓取 EAC 下载而编写的脚本。 它会按顺序尝试游戏 ID 的下载 URL,以查看哪些 ID 具有可用的 wine64 二进制文件。 它打印并记录结果,并保存每个大于 0 字节的成功下载。

不打印返回“拒绝访问”的游戏 ID; 下载长度为零的游戏 ID 会被打印出来,但不会保存下载(当然,因为它们每次都是 0 字节)。 有趣的是,“拒绝访问”和零长度下载是不同的结果类别; 我猜访问被拒绝意味着游戏 ID 不存在或根本没有使用,零长度是没有 Wine 支持的有效游戏 ID。

仍然有返回有效二进制下载的游戏 ID。 有趣的是,只有极少数拥有大于数百 KB 的二进制文件。

第一个和最后一个游戏ID分别设置为1和500; 您可以通过修改from_idupto_id变量来更改它们。

#!/bin/bash

from_id=1
upto_id=500

urlhead='https://download.eac-cdn.com/api/v1/games'
urltail="client/wine64/download/?uuid=$(uuidgen)" || exit $?

# printf format specifier for zero-padding game id
id_fmt0="%0${#upto_id}d"

logfile=$(printf "eac-games-$id_fmt0-to-$id_fmt0.log" "$from_id" "$upto_id")
tmpfile='/dev/shm/eac.bin'

rm -f "$tmpfile"

{
  echo -e ' game id\t dl size\tsaved as'
  echo -e ' -------\t -------\t--------'

  for ((i = from_id; i <= upto_id; i++)); do
    url="$urlhead/$i/$urltail"

    if curl -o "$tmpfile" "$url" 2>/dev/null &&
       len=$(stat -c %s "$tmpfile"); then

      if (( len > 0 )); then
        [[ "$(head -c5 "$tmpfile")" == '<?xml' ]] \
        && grep -i -q 'Access Denied' "$tmpfile"  \
        && {
          rm -f "$tmpfile"
          continue
        }

        dst=$(printf "eac-game-$id_fmt0.bin" "$i")
        mv "$tmpfile" "$dst"
        dst=$'\t'"$dst"

      else
        dst=''
      fi

      printf "%8d\t%8d$dst\n" "$i" "$len"
    fi

    rm -f "$tmpfile"

  done;
} | tee "$logfile"

@imaami我认为您可能对脚本进行了过度设计。 您可以使用 HEAD 方法来检查content-lengthcontent-type变量。

无论如何,结果如何? 您是否已经尝试更改 dll 以使用不同的 url?

@imaami我认为您可能对脚本进行了过度设计。 您可以使用 HEAD 方法来检查content-lengthcontent-type变量。

当然,但重点是还要下载文件,因此仅用于检查大小的额外 curl 命令会增加复杂性。

无论如何,结果如何?

我已经总结了结果,我不明白这个问题。

我可以在今天晚些时候发布输出,但您也可以自己运行脚本。 检查所有 500 个游戏 ID 不需要很长时间。

您是否已经尝试更改 dll 以使用不同的 url?

我已经知道那将一事无成。 充其量它会下载普通的 Windows EAC 二进制文件,但它不起作用。 最坏的情况是我会被哈希检查标记并自动禁止。

EAC 服务器不向 wine64 客户端提供二进制文件,我们无法更改它。 我们可以尝试弄清楚为什么即使使用我的前缀中的二进制文件,您的前缀也不起作用。

我在 Offworld Industries 打了一张票,得到了这样的答复:

你好,莱因,
感谢您提供的信息,我已将其转发给我们在 EAC 的联系人。
请记住,Squad 不支持 Linux,我们也不会宣传我们支持它。
Squad 也不开发 Easy Anti Cheat,我们只是许可它。

我已将其发送给 EAC,这将是他们需要调查的事情。

Beta 20 再次开始使用 Proton 5.9 GE 和 hidewineexports 为我工作。 但是应用程序数据中仍然没有文件。 并且有 antiheat 的日志错误:
[Info] [LauncherFinished] EACAsyncResult: 3 Message: 'Connection to the Content Distribution Network failed! Curl Code: 35.'. [Err!] [Network Error] CDN connection failed! [Info] [LauncherFinished] EACAsyncResult: 0 Message: '
但是我没有收到 iclient 错误并且可以加入官方服务器。
我想知道是否有一种故障保护机制可以允许在有限的时间内在这种状态下播放。

@MAD-BUG 它对我不起作用,但是我没有尝试hidewineexports 。 我确实尝试了一个新的前缀。

无论如何,我会做一些测试,很高兴看到我不是唯一一个立即开始尝试使用新更新再次运行它的人。

游戏成功了!
我的launcher.log也仍然显示完全相同的错误,正如预期的那样,因为我之前检查了wine64端点,它仍然将内容长度显示为 0。我也没有.eac文件。

也许我们认为这是问题的根源是错误的?

无论如何,我很高兴终于能够玩这个游戏,并且想要这个游戏很久了,当它终于再次销售时,我对它不起作用感到非常失望。

非常感谢@MAD-BUG @imaami

编辑:我确实注意到,一旦您到达套件角色站,整个游戏就会在教程中冻结。

编辑 2:我也遇到了一些主要的性能问题,有时它可以完美运行,有时我无法超过 20 fps

编辑 3:我刚刚玩了一个游戏,在低设置下我几乎没有 50 fps,我切换到中等,看看会发生什么,我得到了 8 fps,然后我切换回低设置,但我再次得到的帧数不超过 20 fps。 比 A10 飞过,我的游戏崩溃并关闭。

编辑:我确实注意到,一旦您到达套件角色站,整个游戏就会在教程中冻结。

编辑 2:我也遇到了一些主要的性能问题,有时它可以完美运行,有时我无法超过 20 fps

我的游戏在停止之前运行过,所以我会注意到之前在教程中选择工具包角色期间游戏冻结也发生过。 或者至少,它对我有用。 所以这可能不是一个新问题。

我的互联网很糟糕,因此我仍在下载更新,但是当我拥有这些数据时,如果出现性能问题,我会回来报告。

伙计们,我已经有一段时间没有玩 Squad 了,我忘记提及我的一些研究,希望对您有所帮助。

  1. 因此,每次启动加载第二张地图后都会出现 FPS 下降问题,似乎第一张地图还留在内存中。 通过重新启动游戏很容易修复。
  2. 这个游戏崩溃是因为音频有问题(见 FAudio)。 我已经联系过开发人员,他们在我的日志中看到了音频崩溃,他们从未遇到过这种问题。
  3. EAC 不一致,我尝试在不同的发行版上安装 Squad,甚至再次尝试使用 Linux Mint,但没有成功。

所有问题都仅限于 Linux,我对此进行了测试。

https://flightlessmango.com/games/20398/logs/512

该游戏在我的机器上非常可玩,除了超级采样之外,图形完全最大化。 有时它会低于 50FPS,但它们并不明显。 这个特定的基准测试几乎完全是在战斗中进行的,我还做了一些恶作剧,比如在旋转时上下发送(命令)地图以强调图形。

@LevitatingBusinessMan

我必须在每张地图后退出并重新启动 Squad,否则 fps 将变为 10。 在游戏过程中更改 gfx 设置也是如此......除此之外,一切都很好。

Proton 5.0-9 或 Proton-5.11-GE-2-MF 和 B20 对我来说没有变化。
Squad 开始,显示 EAC 错误,在游戏退出时 squad_launcher 进程一直保持到被杀死。
Screenshot_20200630_121919

@zaggynl ,尝试删除前缀并从 proton 4.11 开始,然后关闭游戏并使用 proton 5 尝试两三次。 在线程更高的地方有更详细的说明。

采取的步骤和结果:

  • rm -r ~/.steam/steam/steamapps/compatdata/393380
  • 将小队兼容性工具更改为质子 4.1-13
  • 首发阵容
  • 以上每个错误显示
  • 退出小队
  • pkill 小队_启动器。 (蒸汽显示小队仍在运行)
  • 将小队兼容性工具更改为质子 5.0-9
  • 以上每个错误显示
  • 退出小队
  • pkill 小队_启动器。
  • 开始小队(每个加载屏幕快速闪烁)
  • 以上每个错误显示
  • 退出小队
  • pkill 小队_启动器。
  • 开始小队(每个加载屏幕快速闪烁)
  • 以上每个错误显示
  • 退出小队
  • pkill 小队_启动器。
    cat ~/.local/share/Steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application\ Data/EasyAntiCheat/55/loader.log:

[2020.06.30-14.11.50] Loader initialized.
[2020.06.30-14.11.50] [Connection] Connecting to URL: https://download.eac-cdn.com/api/v1/games/55/client/wine64/download/?uuid=72252b78-00bf-047b-5abd-ee6d89c3a553
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.50] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] [Connection] Connect result: No error (0) Response Code: 200 Destination IP: 13.33.235.29
[2020.06.30-14.11.51] [HTTP Error Response] HTTP Response Code: 200 Curl Code: 0.
[2020.06.30-14.11.51] Falling back to a secondary CDN path.
[2020.06.30-14.11.51] [Connection] Connecting to URL: https://download-alt.easyanticheat.net/api/v1/games/55/client/wine64/download/?uuid=209d72f2-e540-7bfd-2f05-ef412af91aa2
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] Download Progress: 0%.
[2020.06.30-14.11.51] [Connection] Connect result: SSL connect error (35) Response Code: 0 Destination IP: 104.28.3.249
[2020.06.30-14.11.51] Connection to the Content Distribution Network failed! Curl Code: 35.
[2020.06.30-14.11.51] [EAC Callback] Code 901. Message: 'Connection to the Content Distribution Network failed! Curl Code: 35.'.

尝试手动下载上述文件会导致文件大小为 0 字节。

@zaggynl试试这个版本的 Proton: https :

@zaggynl试试这个版本的 Proton: https :

  • rm -r ~/.steam/steam/steamapps/compatdata/393380
  • 下载,解压 Proton-5.9-GE-2-MF.tar.gz 到 ~/.steam/root/compatibilitytools.d/
  • 重新启动蒸汽
  • 将小队兼容性工具更改为质子 5.9-GE-2-MF
  • 开始小队
  • 每个错误

@zaggynl哦,我忘了提,也运行这个:WINEPREFIX=$HOME/.steam/root/steamapps/compatdata/393380/pfx winetricks hidewineexports=enable。

如果尚未安装,则必须通过包管理器安装 winetricks。 祝你好运。

WINEPREFIX=$HOME/.steam/root/steamapps/compatdata/393380/pfx winetricks hidewineexports=enable
似乎已经成功了! 现在尝试几个游戏。
编辑,玩了一场没有问题,FPS 似乎卡在 60,有时下降到 30。 3900x/5700xt/nvme/16gbram,3440x1440

完整说明:

  • rm -r ~/.steam/steam/steamapps/compatdata/393380
  • mkdir -p ~/.steam/root/compatibilitytools.d/
  • 下载,将Proton-5.9-GE-2-MF.tar.gz 解压到 ~/.steam/root/compatibilitytools.d/
  • 重启蒸汽
  • 将小队兼容性工具更改为质子 5.9-GE-2-MF
  • 运行: WINEPREFIX=$HOME/.steam/root/steamapps/compatdata/393380/pfx winetricks hidewineexports=enable (可能需要通过包管理器或其他方式安装 winetricks)
  • 开始小队(我的启动选项是这样的:hidewineexports=enable %command%)

编辑2:游戏不稳定,尝试重生时在游戏中途崩溃

看到一些进展真是太棒了! 看起来我们可能终于找到了为成功而牺牲的鸡肉的确切颜色。

@zaggynl我一直在阅读您对评论的补充。 我很高兴我们解决了 EAC 问题。 就整体游戏稳定性而言,我们可能希望将其作为一个完全独立的问题进行研究。 我建议查看游戏日志,看看您的崩溃是否有任何共同点。 我可以告诉你,这款游戏过去曾在 AMD 硬件上出现过问题,尤其是在声音方面。 这可能不是这里的问题,但需要记住。 保持这个线程的更新有任何进展,我会尽可能地投入。

@KallanX我会补充一点,我在 Ryzen cpu 上,有一张 nvidia 卡。

@imaami你的平台是什么?

我正在运行 i7-9700、RTX 2060 Super、32GB RAM。 Arch 内核 5.7.6。

@KallanX您是否面临任何稳定性问题? 你能列出它们吗?
我发现的:

  • 有时光标无法到达菜单中的任何地方,我必须在窗口方法之间切换才能修复它。 我正在使用I3。
  • 当我在比赛期间切换图形设置时,fps 下降到 20 以下。
  • 地图切换后 Fps 降至 20 以下。
  • 我遇到了很多崩溃,但它们可能是由于切换图形设置时出现了相同的性能错误。
  • 当我接近教程中的 Kit Role Station 时,教程会崩溃。

@imaami我如何在 Steam 上找到你?

@KallanX我会补充一点,我在 Ryzen cpu 上,有一张 nvidia 卡。

@imaami你的平台是什么?

锐龙 3950X、英伟达 RTX 2080、Debian Sid。

我对 Squad 的唯一问题几乎是在玩完一张地图后 fps 急剧下降,所以我在每次地图更改时重新启动游戏。 但这不仅仅是我,我的印象是每个在 Proton 中运行 Squad 的人都遭受同样的错误。

编辑:附加信息:我的窗口管理器是 i3。 我的内核是我自己维护的补丁集,主要基于 -ck,但它混合了各种其他补丁。 我还没有达到 5.7,所以现在是 5.6.19; 如果你有兴趣看看https://github.com/imaami/linux/tree/linux-5.6.yi-ck

@imaami我如何在 Steam 上找到你?

@LevitatingBusinessMan steamcommunity dot com / id / imam

我的游戏再次失败,没有hidewinexports我收到 IGameClient 错误。
并且启用 EAC 会引发此错误:

GameID: 55 (32bit)
Windows Version: 6.1 (Build 7601)
Error Code: 30005
Process Exit Code: 0h
UUID: 31950fdf-9ec7-c65e-c025-3416d4b2130a
Process list:
explorer.exe
plugplay.exe
services.exe
squad_launcher.exe
steam.exe
winedevice.exe

编辑:这种行为让人想起《Apex 英雄》,游戏只能在新补丁发布后_just_ 播放。

我的游戏再次失败,没有hidewinexports我收到 IGameClient 错误。

可以肯定的是:将我上传的 .eac 文件提取到前缀中,然后尝试在没有hidewineexports情况下运行。

我不确定我自己是否相信这一点,但我认为它有效?

wget https://github.com/ValveSoftware/Proton/files/4839724/easyanticheat_wine_x64.tar.gz
tar -xvf easyanticheat_wine_x64.tar.gz
mv pfx/drive_c/users/steamuser/Application\ Data/EasyAntiCheat/55/easyanticheat_wine_x64{.eac,.eac.metadata} /home/rein/.steam/steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application\ Data/EasyAntiCheat/55/

所以我猜当你让游戏运行一次时,前缀中的一些东西会被设置,这样你就可以用以前的.eac文件来让它工作。 并且因为在补丁之后hidewineexports方法工作了一段时间,我能够通过该方法使其工作一次,然后使用使用较旧的.eac下载的方法使其现在运行. 它在补丁后与hidewineexports一起工作,可能是因为 EAC 暂时关闭,Apex 玩家过去曾报告过类似的行为。 Apex 也有同样的问题,即.eac下载突然停止工作,因此我们的发现可能对他们和类似游戏也有帮助。

编辑:尝试清理我们的前缀是个好主意,这样其他人就可以尝试让他们的游戏与他们一起工作。

@LevitatingBusinessMan好吧,我希望它现在真的对你

可以确认我也进入了与以前类似的非工作状态。 在我的实例中,使用 .eac 和 .eac.metadata 文件并没有改变这种情况。

也停止为我工作,新的错误屏幕:
squad_eac_couldntstart
错误代码:30005(StartService 失败,错误为 1053。)

“显示详细信息”按钮会弹出一个窗口,其中包含:
游戏ID:55(32位)
Windows 版本:10.0(内部版本 17134)
错误代码:30005
进程退出代码:0h
UUID:53393436-5878-7746-abec-fd78d6ffdc6b
工艺清单:
资源管理器
即插即用程序
服务程序
小队启动器.exe
蒸汽.exe
葡萄酒设备程序

Application\ Data/EasyAntiCheat 文件夹似乎丢失了
创建文件夹并将 eac 文件放置到位没有任何变化。
小队发射器。 进程现在似乎正常退出了?
尝试通过以下方式进行 eac 修复:
cd "~/.steam/steam/steamapps/common/Squad/EasyAntiCheat/"
WINEPREFIX=$HOME/.steam/root/steamapps/compatdata/393380/pfx wine EasyAntiCheat_Setup.exe
它显示了安装程序并允许我卸载/安装/修复但对错误没有影响。

编辑:
尝试了以下方法:

  • rm -r ~/.steam/steam/steamapps/compatdata/393380
  • 删除了所有启动选项
  • mkdir -p ~/.steam/steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application\Data/EasyAntiCheat/55/
  • wget https://github.com/ValveSoftware/Proton/files/4839724/easyanticheat_wine_x64.tar.gz
  • tar -xvf easyanticheat_wine_x64.tar.gz
  • mv pfx/drive_c/users/steamuser/Application\ Data/EasyAntiCheat/55/easyanticheat_wine_x64{.eac,.eac.metadata} ~/.steam/steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application\数据/EasyAntiCheat/55/

  • 首发阵容
    每个窗口快速闪烁,小队似乎退出
    启动器似乎崩溃了? 从终端运行蒸汽时的输出:
    http://paste.debian.net/plain/1154608

@zaggynl @NGGJamie ,您是否禁用了 hidewineexports?

那次崩溃当然是新的。

@zaggynl @NGGJamie ,您是否禁用了 hidewineexports?

那次崩溃当然是新的。

我想是这样? 我删除了 wineprefix 和启动选项,如果还有其他问题,请告诉我。
我注意到有和没有的差异:
与:我收到新错误
没有:eac 闪烁,每个 Steam 小队退出,请参阅我的编辑。

@zaggynl你有没有读过这个线程中的最后几条评论? 删除 wineprefix 正是您不应该做的。 您也无需设置启动选项,即可通过 protontricks 启用/禁用 hidewineexports。

编辑: @NGGJamie你真的在补丁后的短时间内让它工作了吗?

是的,我搞砸了, hidewineexports 做什么?

@zaggynl ,它隐藏了游戏是通过 wine 运行的。

可悲的是也再次打破了我的身边。 在补丁发布后不久,我让 Squad 运行而没有 IGamClient 错误,但是我从未真正加入过服务器。 现在我尝试关闭 hidewineexports 并将 .eac* 文件放在目录中,但再次出现 IGameClient 错误。
所以这可能与你是否真的加入了服务器并玩了一点有关?

我也尝试过使用其他版本和新前缀。 唯一发生的“新”事情是,当使用 Proton-5.11-GE-2-MF 启动 Squad 并启用 hidewineexports 时,EAC 启动错误不再出现。

经过一番探索后,我发现我可以通过使用 eac 文件并从工作前缀粘贴 user.reg 来使新前缀工作

@MAD-BUG 这是一个疯狂的发现。 那个文件里有什么?

经过一番探索后,我发现我可以通过使用 eac 文件并从工作前缀粘贴 user.reg 来使新前缀工作

买这个人所有的啤酒!

我刚把我最后的钱花在了 Squad 和一个 SSD 上,我很难给自己买汤力水。

但@MAD-BUG 赢得了我永恒的尊重。

好吧,这里有一些公牛
我要指出的是尚未对其进行游戏测试。`[环境] *

时间= *

"TEMP"="C:\users\vagrant\Temp"
"TMP"="C:\users\vagrant\Temp"`

你只是继续给予

Okay 已经在 Proton-5.11-GE-2-MF 和 hidewineexports 禁用的情况下进行了测试。
eac 文件已放在 /COMPATDIR/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/

我能够加入一个空服务器,选择一个工具包并四处奔波。 到目前为止没有来自 EAC 的影响。
这可能是解决此问题的方法。

编辑:似乎也启用了 hidewineexports

然而, @Inexorabilis对于已经开始并玩过 EAC 工作的游戏的人来说,这可能只是一个解决方案,在补丁之后似乎有一个小窗口。

@LevitatingBusinessMan我已经删除了我的一次性工作前缀,因为它不再工作了。 我使用的前缀是一个全新的。 .eac 文件是之前从 imaami 发布的文件。
在这一点上,我看到的唯一可能的问题是 .eac 文件以某种方式与 imaami 的安装相关联(没有它们启动将不起作用)。

编辑:为了清楚起见,我已经按照 MAD-BUG 的建议编辑了 user.reg。

@Inexorabilis在这种情况下,它不能成为防故障解决方案,因为我们之前曾多次尝试让它工作,但没有成功,但是 imaami 的文件对我有用的事实可能不是因为我之前玩过,但由于同样的原因,它突然对你起作用了。 也许在补丁之后有些东西刚刚改变了。 然而 MAD-BUG 说他只是在将 user.reg 粘贴到新前缀时才得到了它。

我让它在用户 reg 中使用 eac 文件和环境更改处理新前缀

为了清楚起见,我已经按照@MAD-BUG 的建议编辑了user.reg并进行了更改

[环境] *

时间= *

"TEMP"="C:\users\steamuser\Temp"
"TMP"="C:\users\steamuser\Temp"

[环境] *

时间= *

"TEMP"="C:\users\vagrant\Temp"
"TMP"="C:\users\vagrant\Temp"

然后将.eac 文件从@imaami放到/COMPATDIR/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/
这一切都发生在Proton-5.11-GE-2-MF上运行的全新前缀中。 无论您是否启用 hidewineexports。
抱歉一开始没说清楚

编辑:同样适用于 Proton 5.0.9 以及新创建的前缀。 我们现在可以重现创建工作前缀。 我认为我们真的需要购买 MAD-BUG 所有的啤酒 :)

它仍然是一个笨拙的解决方案,因为每个单独的个体都依赖于那些 eac 文件,而寄存器的变化只是表明我们要么强制 EAC 跳过某些检查,要么使用回退方法。
我可以推测,eac 文件只是一些处理主反热可执行文件的环境处理的代码(将其放入反编译器后),并且如果它不会被特别阻止,它不会同时停止工作。
但是工作还没有完成,我们真的需要找到一种方法来通过其他方法而不是这个讨论来获取这些文件。 为了易于使用和能够为更广泛的公众分享一些方法,而不必担心我们中的任何人会受到某种禁令或任何事情。

你们太棒了,它也适用于我(使用普通的 Proton 5.0.9),但我也分享@MAD-BUG 的担忧。

我编写了一些通用命令,用于下载和提取 EAC 文件并修补 user.reg 文件:

  1. 找到您的 Steam 库的路径:
GAME_LIBRARY_PATH=$HOME/.local/share/Steam # /path/to/your/steam/library/that/contains/squad
  1. 删除旧前缀(如果有):
rm -r $GAME_LIBRARY_PATH/steamapps/compatdata/393380
  1. 开始游戏,因此前缀被(重新)创建(EAC 可预测在这里失败,忽略它),在游戏开始时退出游戏:
steam steam://rungameid/393380
  1. 下载一些神奇的 EAC 文件并将它们解压到游戏的 Proton 前缀中:
wget -qO- https://github.com/ValveSoftware/Proton/files/4839724/easyanticheat_wine_x64.tar.gz | tar xvfz - -C $GAME_LIBRARY_PATH/steamapps/compatdata/393380
  1. 出于任何原因修补一些东西:
sed -i 's/\"TEMP\"=\"C:\\\\users\\\\steamuser\\\\Temp\"/\"TEMP\"=\"C:\\\\users\\\\vagrant\\\\Temp\"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg
sed -i 's/\"TMP\"=\"C:\\\\users\\\\steamuser\\\\Temp\"/\"TMP\"=\"C:\\\\users\\\\vagrant\\\\Temp\"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg
  1. 开始游戏并交叉手指:
steam steam://rungameid/393380

这是一个真正的团队努力,非常感谢大家! 我认为我们中的任何人都无法单独收集所有拼图。 我们专注于 Squad 感觉真的很合适,因为团队合作和合作使它成为一款出色的游戏。 如果没有团队合作,这将只是几十个射手中的另一个。

嘿 Epic 和 EAC 的制造商,如果您碰巧读到了这篇文章:很明显,我们不想破坏、破解或绕过任何打击作弊的行为。 我个人很难相信任何活跃在该线程中的人都会认为在在线合作多人游戏中作弊是可以的。 基本上我们都希望 EAC _work_。 如果您对我们如何让 EAC 更好地工作有任何建议或要求(这样它实际上可以在不歧视 Proton 用户的情况下尽可能地防止作弊),那么至少我全神贯注。

@MAD-BUG 使用用户vagrant任何具体原因?
因为我也得到了它,所以现在只需将TMPTEMP指向任何不存在的目录即可。

编辑:我发现我自己以前工作的前缀实际上像正常一样具有"C:\\users\\steamuser\\Temp"的值

编辑:我做了一些额外的测试,这是我的发现。

  • 新前缀,只是.eac文件不起作用。
  • 新前缀、 .eac文件和注册表编辑确实有效。
  • 旧前缀,只有.eac文件,但注册表中的默认值也有效。

@LevitatingBusinessMan新前缀怎么样,只有.eac文件和touch compatdata/393380/pfx/user.reg吗?

@LevitatingBusinessMan新前缀怎么样,只有.eac文件和touch compatdata/393380/pfx/user.reg吗?

那没有用

@LevitatingBusinessMan新前缀怎么样,只有.eac文件和touch compatdata/393380/pfx/user.reg吗?

那没有用

好的,所以至少需要一些最小的改变。 我只是想知道 TEMP 和 TMP 路径设置是否真的相关,或者是否有一些一般的文件修改检查或其他东西。 但只是大声思考。

@LevitatingBusinessMan没有具体原因,123 也可以。 我只是比较了两个 reg 文件,在工作文件中写了 vagrant 所以在第一次测试中我使用了它。

@MAD-BUG @LevitatingBusinessMan

那么新前缀, .eac文件,在注册表中编辑 TMP 和 TEMP,以及_创建_重命名的临时目录怎么样? 这可能会告诉我们 TEMP 作为一条不存在的路径是否至关重要。

@imaami该目录必须不存在。

@kisak-valve 这是关于突然的 FPS 下降问题的日志文件。

我在 FPS 下降之前玩了一段时间,如果日志中有任何内容,可能已经接近尾声

https://easyupload.io/kd3tdn (链接有效期为 30 天)

@ipimpat你的 FPS 什么时候掉的?

在游戏中期更改图形设置以及加载新地图时,我遇到了 FPS 下降的情况。 尽管后者在不久前停止发生,但此后我没有遇到任何性能问题。

@LevitatingBusinessMan游戏中途玩游戏。

它经常发生在我身上,这次我启用了日志记录。

我想尝试上述说明,看看我是否可以让 Squad 再次工作。

我有一个新的 SSD,没有复制我的主目录或任何东西。 全新且干净的 Manjaro 安装。 一旦我在错误上单击“确定”并让它加载,系统仍然会崩溃。 当我终止进程时也是如此。 所以我什至无法完成第 3 步。

不过我不想因为我的问题打断这里的进度,所以我会继续潜伏。 你们真棒。

@Byter09尝试将PROTON_LOG=1 %command%到 Steam 游戏的启动选项中,然后检查在您的主目录中创建的日志文件,看看是否有任何明显的原因导致游戏根本无法启动。

@Byter09 ,对,你说“当我在错误上单击确定时”,我假设你在谈论来自 EAC 的弹出窗口? 您还可以单击“显示更多详细信息”按钮吗? 你没有搞乱protontricks或winetricks对吧? 您指的第 3 步是哪一步?

我重现此问题的步骤:

  • 开始游戏。 Proton 版本似乎无关紧要。
  • 单击 IClientGame 错误中的OK
  • 查看右下角的键盘布局和加载图标(大约 2 秒)
  • 系统崩溃

也有效:

  • 开始游戏。 Proton 版本似乎无关紧要。
  • 不要在错误弹出窗口中单击OK
  • 使用窗口的 X 关闭游戏
  • 系统崩溃

还没有测试当我手动终止进程时会发生什么,因为我真的不喜欢像这样折磨我的系统。 如果它提供了有用的见解,我可以做到。

steam-393380.zip

还没看,因为我真的不明白那里的大部分内容。 (编辑:看看最后。不,文件没有被切断。这只是我的系统在写入文件时死机。)

@LevitatingBusinessMan没有“显示更多详细信息”按钮。
这是一个新鲜的前缀,所以没有质子或葡萄酒技巧。

测试了上面@ipimpat的说明,但没有运气——收到 EAC 初始化错误(无法初始化 IGameClient 某些东西)。 之前从未在 Linux 上运行或安装过游戏,使用 Fedora 32 和 Proton 5.0-9。

我按照 T 的说明进行操作,但注意到在第 3 步之后游戏没有正确关闭,squat_l.exe(或类似的东西)进程徘徊不去。 我只注意到这一点,我做了其余的步骤,使本来可以搞砸了巫术了。 但是,通过删除前缀并重新按照说明从头开始也无济于事。

@brndd squad_launcher.exe似乎挂了,它不应该影响任何事情。 很奇怪你们中的一些人仍然有问题。

@brndd只是要清楚,到底发生了什么,第二次启动 Squad 时,EAC 错误?

您还可以上传日志文件吗(参见:https://github.com/ValveSoftware/Proton/issues/938#issuecomment-653909978)

@ipimpat

@brndd只是要清楚,到底发生了什么,第二次启动 Squad 时,EAC 错误?

是的,“无法创建 IGameClient 实例”错误,加上 EAC 不起作用。

这是一个日志文件(请注意,这会解压为 153 MiB 的文件): steam-393380.log.zip

我在前缀内的 EAC 目录中找到了一些日志,他们有一些关于尝试从 EAC CDN 下载文件和下载超时的信息。 不确定这是否应该发生; 我在上面看到了一些讨论,其中下载显然是成功的。

好的,我想通了。 由@imaami链接的 EAC 文件以某种方式被删除,也许是被 EAC 删除了。 chmod a-w easyanticheat_wine_x64.eac*做到了。 游戏现在启动没有错误,我可以很好地加入启用 EAC 的服务器。 测试了两次以确认(我也可以确认奇怪的 user.reg 补丁是必要的)。

可能想将其添加到上面的说明中。

curl 错误与影响圣骑士的问题相同:

https://github.com/ValveSoftware/Proton/issues/1787#issuecomment -655289213

基本上,Proton 有一个与刀剑神域致命子弹兼容的补丁,使 EAC 无法与其 CDN 通信。 恢复补丁修复了它,但无法使小队工作,因为 CDN 上没有文件。

我想我会把它放在那里,我已经进入了几台服务器,steam 建议我有 90 fps,但我口吃非常严重,而且我在 voip 上听不到任何人的声音,而所有其他音频都可以正常工作。
编辑:还收到有关损坏文件的错误,我尝试验证文件,但所做的只是重置 EAC 修复。

伙计们,目前我安装了带有 GPU 直通的 Windows,如果您在本周末需要帮助,请告诉我。

好的,我想通了。 由@imaami链接的 EAC 文件以某种方式被删除,也许是被 EAC 删除了。 chmod a-w easyanticheat_wine_x64.eac*做到了。 游戏现在启动没有错误,我可以很好地加入启用 EAC 的服务器。 测试了两次以确认(我也可以确认奇怪的 user.reg 补丁是必要的)。

可能想将其添加到上面的说明中。

好找!

复制当前说明以供参考:
复制自: https : https://github.com/ValveSoftware/Proton/issues/938#issuecomment -655251523
假设 Squad 已经安装。
免责声明:这可能会或可能不会让您被踢/禁止 EAC,使用风险自负!

  • 杀死任何剩余的 Squad 进程(pkill team_launcher. 或使用您最喜欢的任务管理器等价物)
  • GAME_LIBRARY_PATH=$HOME/.local/share/Steam(找到你的steam库的路径并设置它)
  • rm -r $GAME_LIBRARY_PATH/steamapps/compatdata/393380(如果有的话去掉旧的前缀)
  • 从蒸汽开始小队
  • 在 EAC 错误上按 OK
  • 退出 Squad 并杀死所有剩余的小队进程(pkill team_launcher. 或使用您最喜欢的任务管理器等效项)

下载一些神奇的 EAC 文件并将它们解压到游戏的 Proton 前缀中:

更多 EAC 诡计

  • sed -i 's/\"TEMP\"=\"C:\\users\\steamuser\\Temp\"/\"TEMP\"=\"C:\\users\\vagrant\\Temp\"/ g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg(将临时路径更改为不存在的文件夹)
  • sed -i 's/\"TMP\"=\"C:\\users\\steamuser\\Temp\"/\"TMP\"=\"C:\\users\\vagrant\\Temp\"/ g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg(将 tmp 路径更改为不存在的文件夹)
  • chmod aw "$GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/"*(使 EAC 文件只读,这样它们就不会被删除)

我对此进行了试运行,Squad 正在运行,已经玩了一轮没有问题,还有其他人可以尝试确认吗?

curl 错误与影响圣骑士的问题相同:

第1787章(评论)

基本上,Proton 有一个与刀剑神域致命子弹兼容的补丁,使 EAC 无法与其 CDN 通信。 恢复补丁修复了它,但无法使小队工作,因为 CDN 上没有文件。

添加我和@ryao刚刚在 Discord 上讨论的细节:恢复补丁不会使 EAC 在

@zaggynl正如我之前发布的那样,是的,它可以运行并且我可以加入服务器,但是它们有问题; 我玩的地图上的卡顿真的很糟糕,在那轮之后,我收到一个关于损坏文件的错误,我尝试验证文件,但它所做的只是重置了 EAC 修复。

@ShaunTheQuietGamer如果您在 FPS 名义上还是不错的情况下遇到口吃问题,请确保您的桌面合成功能已禁用。 在 KDE 上,默认的切换热键是 Alt+Shift+F12。 如果您使用的是其他 DE,Google 无疑会为您提供帮助。

@zaggynl正如我之前发布的那样,是的,它可以运行并且我可以加入服务器,但是它们有问题; 我玩的地图上的卡顿真的很糟糕,在那轮之后,我收到一个关于损坏文件的错误,我尝试验证文件,但它所做的只是重置了 EAC 修复。

以前没见过,听起来像一个垂死的磁盘? 显然尝试降低设置?
错误消息是什么样的?

@ShaunTheQuietGamer需要注意的事情:在服务器内部更改图形设置可能会破坏性能,直到您重新启动游戏。 地图更改后,游戏可能会出现类似的性能问题,因此当服务器更改地图时,您_可能_还需要重新启动游戏。

你能告诉我们有关某些文件损坏的错误吗? 下次当您收到损坏的文件并让 Steam 修复它时,请运行一个可以检查哪些文件已更改的工具。

下次收到我会截图; 它有点不可预测,我目前的想法是它可能是那个特定层的问题。 当 Steam 验证文件时,它说一切正常,(当然,它确实更改了 eac 文件,所以我下次会检查。)该错误看起来类似于 EAC 错误; 只是一个通用的虚幻引擎错误。 (单独说明,禁用合成似乎有助于解决口吃。)
编辑:现在进行更多测试,当我用 4 倍变焦而不是双筒望远镜瞄准步枪时,我的 fps 下降到 20。

好的,我想通了。 由@imaami链接的 EAC 文件以某种方式被删除,也许是被 EAC 删除了。 chmod a-w easyanticheat_wine_x64.eac*做到了。 游戏现在启动没有错误,我可以很好地加入启用 EAC 的服务器。 测试了两次以确认(我也可以确认奇怪的 user.reg 补丁是必要的)。
可能想将其添加到上面的说明中。

好找!

复制当前说明以供参考:
复制自: #938(评论)#938(评论)
假设 Squad 已经安装。
免责声明:这可能会或可能不会让您被踢/禁止 EAC,使用风险自负!

* kill any remaining Squad processes (pkill squad_launcher. or use your favorite task manager equivalent)

* GAME_LIBRARY_PATH=$HOME/.local/share/Steam (Find the path to your steam library and set it)

* rm -r $GAME_LIBRARY_PATH/steamapps/compatdata/393380 (Remove the old prefix if any)

* start Squad from steam

* press OK on EAC error

* exit Squad and kill any remaining squad processes (pkill squad_launcher. or use your favorite task manager equivalent)

下载一些神奇的 EAC 文件并将它们解压到游戏的 Proton 前缀中:

* wget -qO- https://github.com/ValveSoftware/Proton/files/4839724/easyanticheat_wine_x64.tar.gz | tar xvfz - -C $GAME_LIBRARY_PATH/steamapps/compatdata/393380

更多 EAC 诡计

* sed -i 's/"TEMP"="C:\\users\\steamuser\\Temp"/"TEMP"="C:\\users\\vagrant\\Temp"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg (change temp path to none existing folder)

* sed -i 's/"TMP"="C:\\users\\steamuser\\Temp"/"TMP"="C:\\users\\vagrant\\Temp"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user.reg (change tmp path to none existing folder)

* chmod a-w "$GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/"* (Make the EAC files read only so they won't get removed)

我对此进行了试运行,Squad 正在运行,已经玩了一轮没有问题,还有其他人可以尝试确认吗?

LogEasyAntiCheatServer:警告:无法找到 EasyAntiCheat 服务器库 eac_server64.dll
LogEasyAntiCheatClient:错误:无法创建 IGameClient 实例!

有人有这个文件,所以我可以尝试将它复制到我的前缀中来解决这个问题吗?

@Izaic我很确定 eac_server64.dll 警告应该在那里。 我也没有那个 DLL,也出现了那个错误。 它可能仅用于托管服务器。

确保您正确执行了所有步骤,并且easyanticheat_wine_x64.eaceasyanticheat_wine_x64.eac.metadata文件仍然位于它们应该在前缀中的位置,并且可读但不可写。

我一开始无法运行解决方法。
出于某种原因, sed命令实际上并没有改变user.reg的路径。

因此,如果这对某些人不起作用,请尝试手动更改user.reg的路径。

实际不需要修改 reg 文件。 您可以删除 steamuser 的 Temp 文件夹。 最后它只包含日志文件,删除文件夹是更失败的证明方法,而不是通过在文件中使用 sed 来更改路径,这些文件可能会不时发生巨大变化。

@MAD-BUG 要求在某些时候不会再次创建 Temp 文件夹。

只要找到以Temp= (或Tmp= )开头的行,并用Temp=/whatever替换它,sed 命令就不会失败

也许从临时文件夹中删除读写权限比弄乱 .reg 文件要好。

可以确认解决方法。

我做了简单版本的解决方法:
1) 下载EAC文件,放在文件夹中,chmod 444就可以了。
2) chmod a-rw 在 .../steamuser/Temp 中的 Temp 文件夹上

工作正常,目前在服务器播放。

好的,我想通了。 由@imaami链接的 EAC 文件以某种方式被删除,也许是被 EAC 删除了。 chmod a-w easyanticheat_wine_x64.eac*做到了。 游戏现在启动没有错误,我可以很好地加入启用 EAC 的服务器。 测试了两次以确认(我也可以确认奇怪的 user.reg 补丁是必要的)。
可能想将其添加到上面的说明中。

好找!

复制当前说明以供参考:
复制自: #938(评论)#938(评论)
假设 Squad 已经安装。
免责声明:这可能会或可能不会让您被踢/禁止 EAC,使用风险自负!

  • 杀死任何剩余的 Squad 进程(pkill team_launcher. 或使用您最喜欢的任务管理器等价物)
  • GAME_LIBRARY_PATH=$HOME/.local/share/Steam(找到你的steam库的路径并设置它)
  • rm -r $GAME_LIBRARY_PATH/steamapps/compatdata/393380(如果有的话去掉旧的前缀)
  • 从蒸汽开始小队
  • 在 EAC 错误上按 OK
  • 退出 Squad 并杀死所有剩余的小队进程(pkill team_launcher. 或使用您最喜欢的任务管理器等效项)

下载一些神奇的 EAC 文件并将它们解压到游戏的 Proton 前缀中:

更多 EAC 诡计

  • sed -i 's/"TEMP"="C:\users\steamuser\Temp"/"TEMP"="C:\users\vagrant\Temp"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user .reg(将临时路径更改为不存在的文件夹)
  • sed -i 's/"TMP"="C:\users\steamuser\Temp"/"TMP"="C:\users\vagrant\Temp"/g' $GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/user .reg(将 tmp 路径更改为不存在的文件夹)
  • chmod aw "$GAME_LIBRARY_PATH/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/"*(使 EAC 文件只读,这样它们就不会被删除)

我对此进行了试运行,Squad 正在运行,已经玩了一轮没有问题,还有其他人可以尝试确认吗?

这些在使用 EAC 而非 Squad 的游戏中会有用吗? IE新世界?

我不想让我的屁股在预发行版中被禁止参加游戏 =)

我已尝试在 Post Scriptum 上应用此修复程序,但为此我们需要适当的 .eac 文件。 因此,如果有人运行 Post Scriptum,如果我们可以获取 .eac 文件就好了。 我已经在 git 上的 Post Scriptum 问题中发布了这个,但没有得到回复。

我可以确认这个“丢帧”问题也可能发生在游戏中间。

每场比赛后我都会重新启动整个游戏,但有时还是会出现掉帧的问题!

任何人都知道可能是什么原因造成的?

似乎它在 3.16-9 但不是 4.11-13 或 5.0-9 时再次开箱即用。

在 4.11-13 和 5.0-9 上,Steam 仍然认为游戏在退出后仍在运行,因为 steam_launcher.exe 出于某种原因从未关闭。 我必须执行pkill squad_launcher才能让 Steam 恢复正常状态。 也许这与上述解决方法的需要有关,如果该 steam_launcher 在完成它需要做的任何事情之前冻结? 想知道较新的 Proton 版本与 3.16 相比发生了什么变化导致它冻结🤔

我想我们都遇到过类似的问题,启动器进程没有自行退出。 你能再次确认游戏开箱即用 3 吗? 因此,删除前缀后,游戏可以使用质子 3,但是当您删除前缀时,游戏将无法使用质子 4 或 5 正常运行。

你能再次确认游戏开箱即用 3 吗? 因此,删除前缀后,游戏可以使用质子 3,但是当您删除前缀时,游戏将无法使用质子 4 或 5 正常运行。

正确的。 使用 3 一切看起来都不错,没有错误弹出窗口,也没有 team_launcher 挂起。 使用 4 我得到EasyAntiCheat Error: Failed to create IGameClient instance!弹出窗口,steam_launcher 挂起并且必须被杀死。 使用 5 时,我遇到了上面提到的 curl 问题,没有错误弹出窗口,但仍会挂起小队发射器。

你能再次确认游戏开箱即用 3 吗? 因此,删除前缀后,游戏可以使用质子 3,但是当您删除前缀时,游戏将无法使用质子 4 或 5 正常运行。

正确的。 使用 3 一切看起来都不错,没有错误弹出窗口,也没有 team_launcher 挂起。 使用 4 我得到EasyAntiCheat Error: Failed to create IGameClient instance!弹出窗口,steam_launcher 挂起并且必须被杀死。 使用 5 时,我遇到了上面提到的 curl 问题,没有错误弹出窗口,但仍会挂起小队发射器。

等一下,如果您删除前缀并从头开始使用 Proton 3.16-9,EAC 是否有效(因此您可以在服务器上玩)? .eac文件也会被下载吗?

小队不和谐频道中有人说“小队”在游戏上次更新后又开始工作了。 任何人都可以检查这个吗?

小队不和谐频道中有人说“小队”在游戏上次更新后又开始工作了。 任何人都可以检查这个吗?

圣鲤鱼,是真的! CDN 上有一个用于 Squad_ 的 _new wine64 EAC 二进制 blob!

$ /git/eac-tools/download.sh --from-id=55 --to-id=55
 game id         dl size        last modified (UTC)     download saved as
 -------         -------        -------------------     -----------------
      55         4168192        2020-08-04 07:20:02     eac-game-55-wine64.bin
$ ls -l eac-game-55-wine64.bin
-rw-r--r-- 1 imaami imaami 4168192 Aug  4 10:20 eac-game-55-wine64.bin
$ sha1sum eac-game-55-wine64.bin
d15d758603955ef224620d977684a0aae33fe193  eac-game-55-wine64.bin

我自己也试过了。 我使用 Proton-5.9-GE-4-ST 创建了一个新的前缀。
在启动期间,旧的 IGameClient 错误出现,以及第二次启动。 但是 .eac 文件已经下载。
更改 user.reg 中的临时路径后,我可以成功启动并在线玩 Squad。

但是,我们应该对此进行几天的监控。 上次更新后,Squad 也工作了几天。

你能上传下面最新的日期文件吗?

"~/.steam/steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac"
"~/.steam/steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Application Data/EasyAntiCheat/55/easyanticheat_wine_x64.eac.metadata"

请,非常感谢。

我问是因为旧的 .eac 文件可能会在接下来的几天内失效,或者服务器可以再次停止提供这些文件。

这是你的文件,它也对我有用,奇怪的是,我不得不手动编辑 user.reg 文件,sed 不起作用。 玩了不止一轮后仍然滞后。 不确定我是否误解了您想要上传的文件,如果是这样,请解释您想要什么。

小队文件.zip

EAC 服务器可能会停止上传这些 .eac 文件,因为在本期中,这些文件应该比旧的 .zip 版本更新。

在 Squad 的每次大更新之后,EAC 开发人员似乎都在测试 Linux 的构建,但一段时间后他们只是删除了文件(从 curl 链接)。

此外,由于他们可能更新了 .eac 二进制源代码,因此较新的构建版本可能具有将来会采用的更新功能,这就是我们必须保持 .eac 文件更新的原因。

这就是我想的,我不确定我是否上传了你想要的。

最后。
我启动了 Squad 并收到了 EAC 错误。
我将“只读”设置为“steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Temp”然后游戏运行正常。
“温度”有什么问题?

@imaami是否可以查看 Temp 文件夹以尝试读写?

另外,有人可以在两个 EAC 文件的 hexdump 上运行差异吗?

另外,有人可以在两个 EAC 文件的 hexdump 上运行差异吗?

3977216 ./squadeacfiles-202007080000/easyanticheat_wine_x64.eac
4168192 ./squadeacfiles-202008040720/easyanticheat_wine_x64.eac

diff -u -E -Z -b -B -w --color -i ./easyanticheat_wine_x64.eac.hexdump.20200708.txt ./easyanticheat_wine_x64.eac.hexdump.20200804.txt >diff.txt

--- ./easyanticheat_wine_x64.eac.hexdump.20200708.txt 2020-08-07 09:49:41.164676257 -0300
+++ ./easyanticheat_wine_x64.eac.hexdump.20200804.txt 2020-08-07 09:50:10.294316927 -0300

仅十六进制转储对于较旧的为 11.931.656B,对于较新的为 12.504.584B,差异输出为 23,8MB。 这些文件有很大的不同,但都适用于 Squad Beta 21.0.1.49 - 我认为由于代码模糊和随机化,它们有很大的不同。

也许它们的编码不同。 @imaami将不得不检查。

@imaami是否可以查看 Temp 文件夹以尝试读写?

当然。 您可以使用inotify API编写一个程序来捕获目录中的大多数文件系统事件(但它无法识别哪些进程负责它们)。 您可以尝试使用strace监视与文件系统访问相关的系统调用,并使用 grep 过滤掉不感兴趣的系统调用。 然后可以选择启用每个WINEDEBUG标志并成为第一个真正淹没在日志垃圾邮件中的人。

这一切都来自我的头顶; 如果有人可以纠正我的某些内容或添加详细信息,请执行。

另外,有人可以在两个 EAC 文件的 hexdump 上运行差异吗?

3977216 ./squadeacfiles-202007080000/easyanticheat_wine_x64.eac
4168192 ./squadeacfiles-202008040720/easyanticheat_wine_x64.eac

diff -u -E -Z -b -B -w --color -i ./easyanticheat_wine_x64.eac.hexdump.20200708.txt ./easyanticheat_wine_x64.eac.hexdump.20200804.txt >diff.txt

--- ./easyanticheat_wine_x64.eac.hexdump.20200708.txt 2020-08-07 09:49:41.164676257 -0300
+++ ./easyanticheat_wine_x64.eac.hexdump.20200804.txt 2020-08-07 09:50:10.294316927 -0300

仅十六进制转储对于较旧的为 11.931.656B,对于较新的为 12.504.584B,差异输出为 23,8MB。 这些文件有很大的不同,但都适用于 Squad Beta 21.0.1.49 - 我认为由于代码模糊和随机化,它们有很大的不同。

你是如何创建十六进制转储的? 如果您使用普通的hd它不会表示更改的字节数,因为偏移量的任何小变化都会改变每一行。

旧的和新的二进制 blob:

$ ls -rl {old,new}/easyanticheat_wine_x64.eac
-rw-r--r-- 1 imaami imaami 3977216 Aug  7 18:41 old/easyanticheat_wine_x64.eac
-rw-r--r-- 1 imaami imaami 4168192 Aug  7 18:41 new/easyanticheat_wine_x64.eac
$ sha1sum {old,new}/easyanticheat_wine_x64.eac
a2aaa53b77d5152dfe3d204323ba7bbbfd82265f  old/easyanticheat_wine_x64.eac
d15d758603955ef224620d977684a0aae33fe193  new/easyanticheat_wine_x64.eac

生成每行一个字节的十六进制转储以便于比较:

$ od -An -tx1 -v -w1 old/easyanticheat_wine_x64.eac > old/easyanticheat_wine_x64.eac.hexdump
$ od -An -tx1 -v -w1 new/easyanticheat_wine_x64.eac > new/easyanticheat_wine_x64.eac.hexdump

验证 hexdump 行数是否与原始二进制文件的字节大小匹配:

$ wc -l {old,new}/easyanticheat_wine_x64.eac.hexdump
 3977216 old/easyanticheat_wine_x64.eac.hexdump
 4168192 new/easyanticheat_wine_x64.eac.hexdump
 8145408 total

最后,

$ git diff --no-index --stat {old,new}/easyanticheat_wine_x64.eac.hexdump
 {old => new}/easyanticheat_wine_x64.eac.hexdump | 7209762 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------
 1 file changed, 3700369 insertions(+), 3509393 deletions(-)

是的,至少像这样的幼稚测试表明它们几乎完全不同。

好吧。 不确定是否有人在意,但我今天尝试了 B21 使用各种版本的质子,每次我开始组队时它仍然很难重置我的系统。 我发过一次日志,还是那个样子。 只是在最后切断,因为它由于崩溃而无法完成对文件的写入。 不知道发生了什么。 如果有人知道人们可能会帮助我而不是我不时在这里烦人的报告的不和谐之处,那就太好了。

希望你们在小队玩得开心! :D

好吧。 不确定是否有人在意,但我今天尝试了 B21 使用各种版本的质子,每次我开始组队时它仍然很难重置我的系统。 我发过一次日志,还是那个样子。 只是在最后切断,因为它由于崩溃而无法完成对文件的写入。 不知道发生了什么。 如果有人知道人们可能会帮助我而不是我不时在这里烦人的报告的不和谐之处,那就太好了。

希望你们在小队玩得开心! :D

您过去无需硬重置即可运行它,从 2019 年底到现在,您的硬件发生了什么变化? 你试过格式化吗?

@BRMateus2 从那时起没有任何变化。 我的 SSD 几周前坏了,所以这甚至是全新安装。

我想也许我最后的日记条目可能会有所帮助:
启动文件

我用journalctl --boot=-1 > boot.txt得到了这些。

我在那里看不到任何明显的东西。 我_真的_不知道是什么导致了这次崩溃。

编辑:我也试过禁用 Steam 覆盖,以防万一。 结果一样。

我看到你有一个 i7 2600 和一个带有 8GB VRAM 的 AMD GPU,但无法为 Squad 识别任何东西 - 我不知道可能是什么,你必须为此 repo 创建一个新问题和特定日志。 从未从 Squad 进行过硬重置,它发生时会崩溃到桌面。

total  access  modify  close_write  close_nowrite  open  create  delete  filename
46     10      2       1            15             16    1       1       393380/pfx/drive_c/users/steamuser/Temp/

在 Temp 文件夹上使用 inotifywatch 时,我总是得到这个输出,然后启动小队。

我还没有想出一种方法来显示哪些文件正在被访问或写入哪些文件

total  access  modify  close_write  close_nowrite  open  create  delete  filename
46     10      2       1            15             16    1       1       393380/pfx/drive_c/users/steamuser/Temp/

在 Temp 文件夹上使用 inotifywatch 时,我总是得到这个输出,然后启动小队。

我还没有想出一种方法来显示哪些文件正在被访问或写入哪些文件

试试inotify-hookable怎么样?

# (D="/opt/steam/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Temp"; rm -f /tmp/tempdir.log; inotify-hookable --watch-directories "$D" --on-modify-command "ls -alrt '$D/' >> /tmp/tempdir.log")

@imaami我没有安装inotify-hookable ,arch inotify-tools包只带有inotifywaitinotifywatch

@imaami我没有安装inotify-hookable ,arch inotify-tools包只带有inotifywaitinotifywatch

这是一个不同的包,不知道Arch有没有。 但是当我尝试时,我无法用它捕获任何文件。

我启用了一个疯狂的WINEDEBUG设置并搜索steamuser/Temp/ ,似乎 Squad 正在用一个名为steamuser/Temp/UnrealShaderWorkingDir的目录做一些事情。

关于EAC正式工作的令人兴奋的消息(呃)!

不幸的是,只是运行它似乎不起作用,而且我没有跟踪这个问题,所以我不确定我是否在这里遗漏了一些关键步骤。

users/steamuser/Application Data/EasyAntiCheat/55 ♦ ➔ ls                                                                                                                                                                                                                                                
easyanticheat_wine_x64.eac  easyanticheat_wine_x64.eac.metadata  loader.log

这些文件存在于 EAC 文件夹中,我想这意味着我不必下载任何新的 EAC 文件,对吗?

还提到了修改 user.reg 文件。 我做了以下

Steam/steamapps/compatdata/393380/pfx ♦ ➔ sed -i 's/"TEMP"="C:\\users\\steamuser\\Temp"/"TEMP"="C:\\users\\vagrant\\Temp"/g' user.reg                                                                                                                                                                    
Steam/steamapps/compatdata/393380/pfx ♦ ➔ sed -i 's/"TMP"="C:\\users\\steamuser\\Temp"/"TMP"="C:\\users\\vagrant\\Temp"/g' user.reg

但是游戏还是无法开始
image

我在这里错过了什么吗?

还提到了修改 user.reg 文件。 我做了以下

Steam/steamapps/compatdata/393380/pfx ♦ ➔ sed -i 's/"TEMP"="C:\\users\\steamuser\\Temp"/"TEMP"="C:\\users\\vagrant\\Temp"/g' user.reg                                                                                                                                                                    
Steam/steamapps/compatdata/393380/pfx ♦ ➔ sed -i 's/"TMP"="C:\\users\\steamuser\\Temp"/"TMP"="C:\\users\\vagrant\\Temp"/g' user.reg

但是游戏还是无法开始
image

我在这里错过了什么吗?

是的,您 sed 命令中的反斜杠数量是错误的。 您正在尝试替换C:\users\steamuser\Temp ,但user.reg条目中的相关行实际上有 _two_ 反斜杠作为路径分隔符:

$ grep -E 'TE?MP' user.reg 
"TEMP"="C:\\users\\steamuser\\Temp"
"TMP"="C:\\users\\steamuser\\Temp"

所以你需要的是你的 sed 命令中的四个反斜杠。

下面的 oneliner 应该可以用于替换 TEMP 和 TMP,它相当短,因为它使用了扩展的正则表达式反向引用:

sed -E -i 's/("TE?MP"="C:\\\\users\\\\)ste(amuser\\\\Temp")/\1\2/' user.reg

或者,您根本不需要编辑user.reg ,只需使普通用户无法读取或写入 tempdir:

chmod a-rw drive_c/users/steamuser/Temp

@TheZoq2打开user.reg文件并检查 sed 是否实际替换了 TMP 和 TEMP 变量。

它不适合我,如果没有 EAC 错误,我也无法启动。 仍然不确定为什么 sed 命令不起作用。

它不适合我,如果没有 EAC 错误,我也无法启动。 仍然不确定为什么 sed 命令不起作用。

反斜杠数量错误。

好吧。 不确定是否有人在意,但我今天尝试了 B21 使用各种版本的质子,每次我开始组队时它仍然很难重置我的系统。 我发过一次日志,还是那个样子。 只是在最后切断,因为它由于崩溃而无法完成对文件的写入。 不知道发生了什么。 如果有人知道人们可能会帮助我而不是我不时在这里烦人的报告的不和谐之处,那就太好了。

希望你们在小队玩得开心! :D

我也有硬重置,从不启动,通常在服务器中看似随机的时间。
i7、RX580、16GB 金士顿 DDR3、三星 850 SSD
尚未在不熟悉的发行版 (ubuntu) 上检查任何日志。

远射,但不久前我在 DCS 世界中遇到了类似的问题(整个计算机冻结并重置,或者有时只是 GPU)。 修复是升级台面和 llvm

@TheZoq2

$  yay -Qs mesa
local/glu 9.0.1-2
    Mesa OpenGL Utility library
local/lib32-mesa 20.1.3-1
    An open-source implementation of the OpenGL specification (32-bit)
local/lib32-mesa-vdpau 20.1.3-1
    Mesa VDPAU drivers (32-bit)
local/lib32-vulkan-intel 20.1.3-1
    Intel's Vulkan mesa driver (32-bit)
local/lib32-vulkan-radeon 20.1.3-1
    Radeon's Vulkan mesa driver (32-bit)
local/libva-mesa-driver 20.1.3-1
    VA-API implementation for gallium
local/mesa 20.1.3-1
    An open-source implementation of the OpenGL specification
local/mesa-demos 8.4.0-4
    Mesa demos and tools incl. glxinfo + glxgears
local/mesa-vdpau 20.1.3-1
    Mesa VDPAU drivers
local/vulkan-intel 20.1.3-1
    Intel's Vulkan mesa driver
local/vulkan-radeon 20.1.3-1
    Radeon's Vulkan mesa driver
$  yay -Qs llvm
local/lib32-llvm-libs 10.0.0-1
    Low Level Virtual Machine (runtime library)(32-bit)
local/llvm-libs 10.0.0-2
    LLVM runtime libraries

我正在使用 Manjaro,所以我想我真的不能落后于最新版本。 谢谢你的提示,我会继续挖掘。

我在 arch 上,最新的 mesa 在 DCS 中仍然存在相同的问题(但在小队中没有)。 我的解决方法是安装aur/mesa-git

@TheZoq2我用mesa-git替换了mesa但它仍然崩溃。 还原那个。 谢谢你的尝试。 我真的很感谢你的帮助。

你会在下面找到我的质子日志。 最后它仍然被切断,因为我的系统在_while_写入文件时崩溃了。 我仍然不知道它在那里的列表。 看起来它正在解除某种恐慌。 可能导致内核恐慌? 我不知道如何进一步调试。

steam-393380.log

编辑:
感谢@999eagle ,我们清理了日志,这是最近的一次运行(今天),其输出不包含任何跟踪消息。 所以是的,当它尝试异步加载地图时它会崩溃。
steam-393380.log
steam-393380-notrace.log

为了帮助将其与我的系统输出相关联,这里再次提供相应的日志输出:
启动文件

编辑 2 (20-09-09):
内核 5.8 和 Mesa 20.1.7 的相同问题...没有硬件更改。

似乎 1.0 已经出来了,并且可能会有一个新的 EAC 版本(尽管甚至没有尝试使用旧版本......)

像往常一样,我无法使用客户端下载它,因为它在下载后一直被立即删除,但它在 EAC CDN 上可用,我从那里使用@imaami的脚本下载它。 把它放在通常的文件夹和chmod a-w ,事情似乎像往常一样工作。

easyanticheat_wine_x64.eac.zip

@brndd您是说 EAC 客户端不下载它,但是使用 imaami 的脚本您_可以_下载它吗?

EAC 客户端似乎下载了它,至少根据其日志文件,但该文件不存在于目录中,因为某些内容正在删除它。 我一直有这个问题,我不知道为什么有些人没有。 这就是为什么我需要chmod a-w EAC 文件,但是当文件还不存在时这显然不起作用,我还没有想出一种方法来允许 EAC 客户端写入它们,但后来不行删除它们。

似乎 1.0 已经出来了,并且可能会有一个新的 EAC 版本(尽管甚至没有尝试使用旧版本......)

像往常一样,我无法使用客户端下载它,因为它在下载后一直被立即删除,但它在 EAC CDN 上可用,我从那里使用@imaami的脚本下载它。 把它放在通常的文件夹和chmod a-w ,事情似乎像往常一样工作。

easyanticheat_wine_x64.eac.zip

你已经完成了tempdir 技巧吗?

似乎 1.0 已经出来了,并且可能会有一个新的 EAC 版本(尽管甚至没有尝试使用旧版本......)

像往常一样,我无法使用客户端下载它,因为它在下载后一直被立即删除,但它在 EAC CDN 上可用,我从那里使用@imaami的脚本下载它。 把它放在通常的文件夹和chmod a-w ,事情似乎像往常一样工作。

easyanticheat_wine_x64.eac.zip

它似乎对我不起作用,我在启动时没有收到错误消息,但是在服务器中一段时间​​后,我收到了 EAC 超时错误。

不需要easyanticheat_wine_x64.eac.metadata文件吗?

@ShaunTheQuietGamer它也对我easyanticheat_wine_x64.eac.metadata的 md1sum,如果它与easyanticheat_wine_x64.eac的总和相比,它是由​​ Squad 自己创建的

@imaami

是的,我尝试按照您在本主题前面的帖子中关于切换到 Proton 4.11 然后启动游戏一次的步骤进行操作。 不管我做什么,我似乎都没有得到这两个必要的文件,该文件夹只包含一个 launcher.log,它指出下载进度到 100% 没有错误。 更改 Temp 目录的写权限似乎并没有改变这一点。

@ShaunTheQuietGamer根据我的经验,不需要元数据文件。 我还没有时间玩完整的游戏,但是我已经在服务器上坐了大约 15 分钟来解决这个问题并且没有被踢。

是的,我删除了前缀并重新开始,现在它可以工作了。 我还注意到一些你们可能感兴趣的东西。 Squad 正在使用我所有 8 GB 的 vram。 (它实际上说它使用的 vram 比我使用的多。) vram 泄漏会导致每个人都看到的 fps 下降吗?

是的,我删除了前缀并重新开始,现在它可以工作了。 我还注意到一些你们可能感兴趣的东西。 Squad 正在使用我所有 8 GB 的 vram。 (它实际上说它使用的 vram 比我使用的多。) vram 泄漏会导致每个人都看到的 fps 下降吗?

是的,我可以确认这一点。 第一场比赛是使用 7Gb 的 vram。 第二场比赛,vram 达到 8GB,无法播放。
同样为了使 EAC 工作,我必须访问“steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Temp”文件夹的权限,并将所有内容都放在“仅限访问”。

是的,我删除了前缀并重新开始,现在它可以工作了。 我还注意到一些你们可能感兴趣的东西。 Squad 正在使用我所有 8 GB 的 vram。 (它实际上说它使用的 vram 比我使用的多。) vram 泄漏会导致每个人都看到的 fps 下降吗?

肯定与 VRAM 填满有关。 它总是在突破 8 GiB 屏障的边缘摇摇欲坠,之后就无法播放了。 它可能发生在比赛期间,并且当您访问不同区域时,更多资产会加载到 VRAM 中。

更大的玩家数量也会使情况变得更糟,因为这似乎会增加 VRAM 分配(要渲染的内容更多,发生的内容更多,屏幕上的粒子更多,等等。

我不得不说,现在是 Valve 或 Nvidia 送给我 RTX3090 用于研究目的的最佳时机。 ;)

我不得不说,现在是 Valve 或 Nvidia 送给我 RTX3090 用于研究目的的最佳时机。 ;)

哈哈。

口吃是在 Nvidia 和 AMD 卡上都发生,还是仅在其中之一上发生? 我有一张 Nvidia 卡并且正在购买,任何 AMD 用户都可以报告吗?

口吃是在 Nvidia 和 AMD 卡上都发生,还是仅在其中之一上发生? 我有一张 Nvidia 卡并且正在购买,任何 AMD 用户都可以报告吗?

是的,我在 5700 XT 上,我曾经有一个 1660 TI,他们都做过/做过。

我一直在理论,我想在这里说点什么,有谁知道 wine/proton 是否支持页面文件? 我认为这可能是导致 fps 下降的原因; 根据他们的支持页面,—— https ://offworldindustries.zendesk.com/hc/en-us/articles/360042382054-Memory-Pagefile-Issues——没有一个会导致类似的问题,即 Windows 上没有足够的 Vram。

今晚我注意到它终于发布了早期访问并看到了一些关于 ProtonDB 的成功报告。 开箱即用,我得到了典型的 EAC 错误,但能够让一切正常工作,尽管性能无法发挥。

  1. 首先,我尝试了之前发布的 EAC 文件(easyanticheat_wine_x64.eac.zip),并从“all”中删除了写访问位,但这似乎没有任何改变。
  2. 接下来,我从 steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Temp 目录中删除了读写权限。 这解决了 EAC 错误,但是当加载带有臭名昭著的eventfd: Too many open files错误的地图时游戏会崩溃。
  3. 我在启动选项中添加了 PROTON_NO_ESYNC=1 以解决文件过多错误并正确加载地图。

我能够玩教程和多人游戏的最后 5 分钟左右(直到比赛结束)。 我没有检查任何 FPS 数字,但在教程中的性能似乎还可以,但不是很好,而且在有约 85 名玩家的多人游戏中表现很糟糕(如果我不得不猜测,可能是 10 FPS——这基本上是一个幻灯片)。

Gentoo,5.8.11 内核,nvidia 驱动程序 455.23.04
质子 5.0-9
980 Ti,i7 6700,32GB 内存
3440x1440,中等设置,关闭/未选中所有特殊功能(绽放、AA 等)

我很好奇这个游戏在 Linux 中是否表现不佳。 虽然 980 Ti 现在几乎算不上先进,但我认为它可以在关闭其他所有功能的情况下做到中等。 我确实在另一个 SSD 上安装了一个有效的 Windows,所以我可以稍后进行比较……直到我设法获得 3080。

此外,从其自己的 UI 中退出游戏似乎并不能完全停止游戏。 Steam 仍然认为它正在运行,我可以看到一堆进程仍在运行。 但是,在从游戏 UI 中退出后,使用 Steam 库屏幕中的停止按钮可以完全停止游戏。

sean<strong i="18">@drudenhaus</strong> ~ $ ps -ef | grep -i squad
sean      6452  6451  0 03:14 pts/6    00:00:00 /usr/lib/python-exec/python3.8/python3 /home/sean/.local/share/Steam/steamapps/common/Proton 5.0/proton waitforexitandrun /home/sean/.local/share/Steam/steamapps/common/Squad/squad_launcher.exe
sean      6455  6452  0 03:14 pts/6    00:00:00 steam /home/sean/.local/share/Steam/steamapps/common/Squad/squad_launcher.exe
sean      6497  6451  0 03:14 pts/6    00:00:02 Z:\home\sean\.local\share\Steam\steamapps\common\Squad\squad_launcher.exe

对于某些游戏,当加载新地图时,游戏会下降到低于 20 fps。 我认为
这适用于播放教程,然后加载正常游戏。
每次切换服务器或在新地图上加载新回合时,重新启动
游戏。

2020 年 9 月 28 日星期一,11:28 Sean Poynter通知@ github.com 写道:

我今晚拿起这个,注意到它终于提前发布了
访问并查看有关 ProtonDB 的一些成功报告。 开箱即用,我
得到了典型的 EAC 错误,但能够让一切正常工作,尽管
无法播放的性能。

  1. 首先我尝试了之前发布的 EAC 文件
    (easyanticheat_wine_x64.eac.zip) 删除写访问位
    “全部”,但这似乎并没有改变任何东西。
  2. 接下来我从
    steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Temp 目录。
    这解决了 EAC 错误,但是加载地图时游戏会崩溃
    与臭名昭著的 eventfd: Too many open files 错误。
  3. 我在启动选项中添加了 PROTON_NO_ESYNC=1 以解决
    文件太多错误,地图开始正确加载。

我能够播放教程和最后 5 分钟左右的
多人游戏(比赛结束时)。 我没有检查任何 FPS 数字,
但是在教程中表现似乎还可以,但不是很好,而且很直接
糟糕(如果我不得不猜测的话,可能是 10 FPS——它基本上是一个幻灯片)
多人游戏,约 85 名玩家。

Gentoo,5.8.11 内核,nvidia 驱动程序 455.23.04
质子 5.0-9
980 Ti,i7 6700,32GB 内存
3440x1440,中等设置,关闭/未选中所有特殊功能(绽放、AA、
等等)

我很好奇这个游戏在 Linux 中是否表现不佳。 而 980 Ti
这些天几乎没有前沿,我认为它可以做到中等
其他一切都关闭了。 我在另一个上有一个有效的 Windows 安装
SSD,所以我可以稍后比较...直到我设法获得 3080。

此外,从自己的用户界面中退出游戏似乎并没有完全停止
游戏。 Steam 仍然认为它正在运行,我可以看到一堆
进程仍在运行。 使用库屏幕中的停止按钮
但是,Steam 在从游戏 UI 中退出后会完全停止游戏。

肖恩@drudenhaus ~ $ ps -ef | grep -i 小队
肖恩 6452 6451 0 03:14 pts/6 00:00:00 /usr/lib/python-exec/python3.8/python3 /home/sean/.local/share/Steam/steamapps/common/Proton 5.0/proton waitforexitandrun /home/sean/.local/share/Steam/steamapps/common/Squad/squad_launcher.exe
肖恩 6455 6452 0 03:14 pts/6 00:00:00 蒸汽 /home/sean/.local/share/Steam/steamapps/common/Squad/squad_launcher.exe
肖恩 6497 6451 0 03:14 pts/6 00:00:02 Z:\home\sean.local\share\Steam\steamapps\common\Squadsquad_launcher.exe


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/938#issuecomment-699892614
或取消订阅
https://github.com/notifications/unsubscribe-auth/AGTIIMQQLSBM6OSW3HNCQ2TSIBJLRANCNFSM4FSJAK6Q
.

这是一个新版本的二进制 blob 下载器脚本,供可能感兴趣的任何人使用。

eac-download.zip

我一直在理论,我想在这里说点什么,有谁知道 wine/proton 是否支持页面文件?

是和否。 它是一个操作系统级别的功能,也以不同的名称存在于 Linux 中。 在 Linux 中,它被称为交换分区或简称为交换。

两个操作系统的基本思想是相同的:如果正在运行的程序想要分配和访问比您实际可用的内存更多的 RAM,那么操作系统将不会回复“操你,我们卖完了”并要求安全性,而是通过以下方式满足请求将超出 RAM 物理限制的访问重定向到一块硬盘空间。

在性能方面,与 RAM 相比,硬盘访问速度慢得离谱。 您希望这种情况发生的唯一时间是当替代方案非常重要且需要大量内存时崩溃。

我认为这可能是导致 fps 下降的原因; 根据他们的支持页面,—— https ://offworldindustries.zendesk.com/hc/en-us/articles/360042382054-Memory-Pagefile-Issues——没有一个会导致类似的问题,即 Windows 上没有足够的 Vram。

我不知道到底是什么 Windows 和/或 EAC 会导致这种逻辑适用。 也许一个带有非常小的 VRAM RAM 的集成 GPU 可能会导致交换空间被计为更多的 VRAM?

今晚我注意到它终于发布了早期访问并看到了一些关于 ProtonDB 的成功报告。 开箱即用,我得到了典型的 EAC 错误,但能够让一切正常工作,尽管性能无法发挥。

  1. 首先,我尝试了之前发布的 EAC 文件(easyanticheat_wine_x64.eac.zip),并从“all”中删除了写访问位,但这似乎没有任何改变。
  2. 接下来,我从 steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Temp 目录中删除了读写权限。 这解决了 EAC 错误,但是当加载带有臭名昭著的eventfd: Too many open files错误的地图时游戏会崩溃。
  3. 我在启动选项中添加了 PROTON_NO_ESYNC=1 以解决文件过多错误并正确加载地图。

我能够玩教程和多人游戏的最后 5 分钟左右(直到比赛结束)。 我没有检查任何 FPS 数字,但在教程中的性能似乎还可以,但不是很好,而且在有约 85 名玩家的多人游戏中表现很糟糕(如果我不得不猜测,可能是 10 FPS——这基本上是一个幻灯片)。

Gentoo,5.8.11 内核,nvidia 驱动程序 455.23.04
质子 5.0-9
980 Ti,i7 6700,32GB 内存
3440x1440,中等设置,关闭/未选中所有特殊功能(绽放、AA 等)

我很好奇这个游戏在 Linux 中是否表现不佳。 虽然 980 Ti 现在几乎算不上先进,但我认为它可以在关闭其他所有功能的情况下做到中等。 我确实在另一个 SSD 上安装了一个有效的 Windows,所以我可以稍后进行比较……直到我设法获得 3080。

此外,从其自己的 UI 中退出游戏似乎并不能完全停止游戏。 Steam 仍然认为它正在运行,我可以看到一堆进程仍在运行。 但是,在从游戏 UI 中退出后,使用 Steam 库屏幕中的停止按钮可以完全停止游戏。

sean<strong i="19">@drudenhaus</strong> ~ $ ps -ef | grep -i squad
sean      6452  6451  0 03:14 pts/6    00:00:00 /usr/lib/python-exec/python3.8/python3 /home/sean/.local/share/Steam/steamapps/common/Proton 5.0/proton waitforexitandrun /home/sean/.local/share/Steam/steamapps/common/Squad/squad_launcher.exe
sean      6455  6452  0 03:14 pts/6    00:00:00 steam /home/sean/.local/share/Steam/steamapps/common/Squad/squad_launcher.exe
sean      6497  6451  0 03:14 pts/6    00:00:02 Z:\home\sean\.local\share\Steam\steamapps\common\Squad\squad_launcher.exe

3700x 搭配 1070ti。 我在游戏中以 70 到 100 fps 的速度摇摆。 只需要做你的第二步。

我一直在理论,我想在这里说点什么,有谁知道 wine/proton 是否支持页面文件? 我认为这可能是导致 fps 下降的原因; 根据他们的支持页面,—— https ://offworldindustries.zendesk.com/hc/en-us/articles/360042382054-Memory-Pagefile-Issues——没有一个会导致类似的问题,即 Windows 上没有足够的 Vram。

继续我之前的回复:

当物理 GPU VRAM 在 Proton/DXVK 下用完时,首先发生的事情是驱动程序和/或 DXVK(我不确定到底是什么)开始在 GPU 和系统 RAM 之间来回移动数据。 这与 Windows 页面文件或 Linux 交换分区实现的基本机制完全相同,但在这种情况下,我们不是将硬盘用作(糟糕的)RAM 扩展,而是将 RAM 用作糟糕的 VRAM 扩展。

当 Squad 下降到 5-10 fps 时,发生的事情是 GPU 不得不等待 VRAM 和 RAM 之间的传输。 即使与最好的 NVMe SSD 相比,RAM 的速度也非常快,但从 GPU 的角度来看,与位于 GPU 核心旁边的内存芯片相比,通过 PCIe 访问 RAM 的延迟非常严重。

我现在很生气,因为我想不出一种方法来合理化乞求 RTX3090 如何帮助解决这个问题。 如果有的话,我只是不关心 VRAM 再次填满。

今晚我注意到它终于发布了早期访问并看到了一些关于 ProtonDB 的成功报告。 开箱即用,我得到了典型的 EAC 错误,但能够让一切正常工作,尽管性能无法发挥。

  1. 首先,我尝试了之前发布的 EAC 文件(easyanticheat_wine_x64.eac.zip),并从“all”中删除了写访问位,但这似乎没有任何改变。
  2. 接下来,我从 steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Temp 目录中删除了读写权限。 这解决了 EAC 错误,但是当加载带有臭名昭著的eventfd: Too many open files错误的地图时游戏会崩溃。
  3. 我在启动选项中添加了 PROTON_NO_ESYNC=1 以解决文件过多错误并正确加载地图。

这里的第 3 点可能是您案例中的主要瓶颈之一。 您正在禁用实际上对性能有很大影响的优化。

首先不要禁用esync。 通过增加打开文件描述符的系统限制来修复错误。 我不知道你在 Gentoo 和/或你的系统中是如何做到的,你需要谷歌一下。

我能够玩教程和多人游戏的最后 5 分钟左右(直到比赛结束)。 我没有检查任何 FPS 数字,但在教程中的性能似乎还可以,但不是很好,而且在有约 85 名玩家的多人游戏中表现很糟糕(如果我不得不猜测,可能是 10 FPS——这基本上是一个幻灯片)。

Gentoo,5.8.11 内核,nvidia 驱动程序 455.23.04

确保您运行的内核启用了 fsync 补丁集,然后 Proton 将使用 fsync 而不是 esync(如果可用),并且您需要内核级支持。 (还要确保您没有设置任何“禁用 fsync/esync”变量。)

我确定在某个地方有一个用于 Gentoo 的 TkG-PDS 内核,去寻找它。

质子 5.0-9

您可以尝试Proton-GE而不是 vanilla 上游 Proton。 但是,除非您在具有更合适的 CPU 调度程序(如 undead-PDS 或 MuQSS+ck)的启用 fsync 的内核上运行,否则这可能不会有太大作用。

980 Ti,i7 6700,32GB 内存
3440x1440,中等设置,关闭/未选中所有特殊功能(绽放、AA 等)

天哪,3440x1440? 我无法在袖口上进行数学计算,但我很确定这至少是100像素,如果不是更多的话! 分辨率也可能在这里起作用。 Squad 并不是最优化的游戏。

在此之前回复评论。

关于如何解决这个问题的任何线索? 想测试东西吗?

在此之前回复评论。

关于如何解决这个问题的任何线索? 想测试东西吗?

恐怕我不确定你的意思。 具体修什么?

在此之前回复评论。

关于如何解决这个问题的任何线索? 想测试东西吗?

恐怕我不确定你的意思。 具体修什么?

我认为问题在于每次加载新地图时它都没有清除 vram,因此,根据您所说的,然后从 ram 加载所有内容,因此滞后很多。 (反正我的理论。)

这里的第 3 点可能是您案例中的主要瓶颈之一。 您正在禁用实际上对性能有很大影响的优化。

首先不要禁用esync。 通过增加打开文件描述符的系统限制来修复错误。 我不知道你在 Gentoo 和/或你的系统中是如何做到的,你需要谷歌一下。

我没有意识到这实际上是一种优化。 我将限制设置为 65536 并删除了启动选项; 游戏似乎加载地图就好了。

确保您运行的内核启用了 fsync 补丁集,然后 Proton 将使用 fsync 而不是 esync(如果可用),并且您需要内核级支持。 (还要确保您没有设置任何“禁用 fsync/esync”变量。)

我确定在某个地方有一个用于 Gentoo 的 TkG-PDS 内核,去寻找它。

您可以尝试Proton-GE而不是 vanilla 上游 Proton。 但是,除非您在具有更合适的 CPU 调度程序(如 undead-PDS 或 MuQSS+ck)的启用 fsync 的内核上运行,否则这可能不会有太大作用。

感谢您的建议。 我会看看他们。

(注意:我认为您在此处引用的主题实际上并未在您引用的消息中进行讨论,因此我将删除引用的部分以减少混淆。)

我认为问题在于每次加载新地图时它都没有清除 vram,因此,根据您所说的,然后从 ram 加载所有内容,因此滞后很多。 (反正我的理论。)

我同意。 根据 DXVK 报告的数字,很明显第二张地图加载了几乎所有已分配的 VRAM。 Squad (UE 4.23) 或 DXVK 或其他东西以与 Windows 上发生的事情不同的方式保持该内存。 我还没有遇到任何关于此错误发生在任何本地 Windows 用户身上的报告,而且有很多人玩 Squad 的 VRAM 为 8 GiB 或更少。

DXVK 处理 VRAM 的方式很可能是这里的核心问题。 引用作者:

DXVK 在设计上不会释放一旦分配的内存块,因为这样做需要进行碎片整理,并且如果游戏再次需要更多 VRAM,则通常不是很有用。

(来源:https://github.com/doitsujin/dxvk/issues/958)

那么,这一切都归结为碎片化。

假设 Squad(或 UE 4.23)运行时,它会不断分配和释放小块内存,留下可用于新分配的“漏洞”,但由于它们夹在两个已使用的内存之间,这似乎是合理的地址范围,不能用于大分配。 随着时间的推移,未使用的 VRAM 的总量保持不变,但在使用的内存块之间被分成越来越小的小“岛”。 最终,即使是一段中等长度的连续VRAM 也无法提供给客户端,唯一的选择是换出 RAM。

如果 DXVK 具有可以手动触发的碎片整理功能,或者在决定何时激活时非常非常聪明,那么也许可以在 Squad 中卸载地图时在正确的时间运行碎片整理,并且下一次地图加载的行为就像游戏刚刚开始一样。

我并不是说我知道我在说什么。 DXVK,因为我肯定不会。

我认为问题在于每次加载新地图时都不会清除 vram

这不仅是在加载新地图时。

它也可能在第一次运行时发生。

对我来说,新的 Fullujah 地图无法播放,因为在 10-15 分钟后,开始掉帧。

我认为问题在于每次加载新地图时都不会清除 vram

这不仅是在加载新地图时。

它也可能在第一次运行时发生。

对我来说,新的 Fullujah 地图无法播放,因为在 10-15 分钟后,开始掉帧。

是的,这里也一样。 在许多地图上的某些时候——尤其是在使用一款好的步枪瞄准镜时——这一切都是垃圾。 随着时间的推移和游戏分配和释放 VRAM,由 DXVK 管理的 VRAM 变得碎片化,并且无法根据请求提供足够大的连续地址范围。

我要补充的是,我没有遇到无法通过
重新启动并修改设置。 我用的是 GTX 1050ti,我想
那是 4GB 的 vram。

在星期二,2020年9月29日,09:08了Juuso Alasuutari [email protected]
写道:

我认为问题在于它没有每次都清除 vram
新地图加载

这不仅是在加载新地图时。

它也可能在第一次运行时发生。

对我来说,新的 Fullujah 地图无法播放,因为在 10-15 分钟后,
掉帧开始。

是的,这里也一样。 在许多地图上的某个时刻——尤其是在使用一张地图时
好的步枪瞄准镜 - 都是垃圾。 随着时间的推移和
游戏分配和释放VRAM,DXVK管理的VRAM碎片化
并且不能根据要求提供足够大的连续地址范围。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/ValveSoftware/Proton/issues/938#issuecomment-700496708
或取消订阅
https://github.com/notifications/unsubscribe-auth/AGTIIMSWL3OFJQMYSN4KZUDSIGBWNANCNFSM4FSJAK6Q
.

我没有遇到过小队的这些问题,但是我在 DCS 世界中看到了完全相同的 FPS 下降,通常是在做了一些导致加载大纹理的事情之后,通常是在我的电脑运行了一段时间之后。 游戏运行良好,然后下降到 <5 FPS,直到重新启动。 当我检查时,VRAM 使用率在所有这些情况下都为 100%,尽管它通常也徘徊在 90-99% 左右。

https://github.com/doitsujin/dxvk/issues/958这似乎是一个很好的解释

你们有没有尝试过图形设置中的“完全加载纹理”选项? 打开该选项后(我曾经因为某种原因关闭了它),我可以加入六到七个连续运行不同地图的不同服务器,而无需重新启动游戏,并且性能没有下降。 我只加入了空服务器或只有很少玩家的服务器,并且没有时间测试地图结束和新地图开始是否仍然会导致延迟。

就上下文而言,我有一台配备 6 GB 视频内存 (iirc) 的 Nvidia 980 Ti,以 1080p 分辨率播放,图形设置为中等(高视距除外)。 我从这里使用 Proton-5.9-GE-3-ST(它不是最新版本的唯一原因是我懒得更新)。

你们有没有尝试过图形设置中的“完全加载纹理”选项? 打开该选项后(我曾经因为某种原因关闭了它),我可以加入六到七个连续运行不同地图的不同服务器,而无需重新启动游戏,并且性能没有下降。 我只加入了空服务器或只有很少玩家的服务器,并且没有时间测试地图结束和新地图开始是否仍然会导致延迟。

就上下文而言,我有一台配备 6 GB 视频内存 (iirc) 的 Nvidia 980 Ti,以 1080p 分辨率播放,图形设置为中等(高视距除外)。 我从这里使用 Proton-5.9-GE-3-ST(它不是最新版本的唯一原因是我懒得更新)。

我已经打开“完全加载纹理”并将纹理降低到低。 我仍然在第二场比赛中充满 vram 和低 fps。
英伟达 1070ti 8GB
3700X
固态硬盘

我已经打开“完全加载纹理”并将纹理降低到低。 我仍然在第二场比赛中充满 vram 和低 fps。

好吧,它似乎对我有用。 刚刚在一个完整的 100 名玩家服务器上正确完成了一场比赛,加载到下一张地图中,性能如预期(约 90-100fps)。

编辑:玩完第二张地图并进入第三张地图,仍然没有性能下降 - 在第三张地图开始时 FPS 保持 >100(然后我退出,因为我需要睡觉)。 似乎至少在我的系统上这个选项解决了这个问题。 我什至可以在游戏中更改图形设置而不会破坏性能。 手指交叉这个持续并且对其他人也有效。

我应该说我曾经遇到过性能问题,直到我打开此设置,并且两天前在玩游戏时遇到了它。 我不想尝试关闭设置以查看如果没有它它是否仍然发生,只是为了确保我不会破坏任何可能发生的巫毒教:-)。

这是我的确切图形设置:

20200930040028_1

以及系统规范,如果您需要了解更具体的内容,请告诉我:

  • Nvidia GTX 980 Ti w/ 6 GB VRAM 运行驱动程序版本 450.66
  • 32 GB 内存
  • AMD 锐龙 3700X
  • 带有 KDE 的 Fedora 32
  • Proton-5.9-GE-6-ST

我今天又玩了一些游戏,还有一些我注意到的事情:

  • 性能/内存泄漏错误仍然可能发生,但很少而且绝对不是每个地图都像以前一样发生变化。 我今天发生了两次。 它第一次发生在我启动游戏后加载的第一张地图上。 我怀疑它一定与在加载屏幕期间切换到另一个虚拟桌面有关,因为这就是我所做的。 我第二次触发它是在费卢杰的游戏中期更改图形设置(这似乎是迄今为止我系统上要求最高的地图),但更改图形设置似乎不再对我造成影响; 也许这只是一些像纹理这样的设置。

  • 与以前不同,当它确实发生时,性能下降只需通过与服务器断开连接然后重新连接,或者在没有先断开连接的情况下加入另一台服务器。 它曾经在我重新启动游戏之前一直徘徊,但现在通过加载屏幕似乎就足够了。

  • 我在同一个 100 名玩家服务器上经历了 6 或 7 次连续地图更改而没有重新连接,并且性能问题为零。 由于性能问题,我曾经在每次地图更改后都必须重新启动,但现在肯定不是这样了。

反正我回去,打开了“完全加载纹理”设置后退......我仍然可以通过多个地图加载屏幕去(通过反复加入不同的服务器),而无需重新启动游戏并没有得到我所用的性能下降到! 所以我想我改变那个设置纯粹是巧合,一定是发生了其他事情让这个问题消失了。

有小队更新吗? 根据 SteamDB 的说法,没有。 我也没有在过去一周更新我的系统。 我想知道有什么不同。 其他人是否仍然像往常一样看到性能问题?

编辑:随机思考,你们玩的是全屏还是无边框?

撇开性能问题不谈,现在似乎存在间歇性崩溃错误。 它可能与图形驱动程序有关,系统日志中的这一行:

kernel: NVRM: Xid (PCI:0000:09:00): 31, pid=968265, Ch 0000004e, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_T1_3 faulted @ 0x0_00000000. Fault is of type FAULT_PDE ACCESS_TYPE_READ

由于此错误消息似乎与 Nvidia 驱动程序有关,因此这可能是 Nvidia 特定的问题。 我在 dxvk 的错误跟踪器上报告它,因为过去似乎存在类似的问题。

我没有遇到过小队的这些问题,但是我在 DCS 世界中看到了完全相同的 FPS 下降,通常是在做了一些导致加载大纹理的事情之后,通常是在我的电脑运行了一段时间之后。 游戏运行良好,然后下降到 <5 FPS,直到重新启动。 当我检查时,VRAM 使用率在所有这些情况下都为 100%,尽管它通常也徘徊在 90-99% 左右。

doitsujin/dxvk#958这似乎是一个很好的解释

这里有人使用 AMDVLK 驱动程序吗: https :

撇开性能问题不谈,现在似乎存在间歇性崩溃错误。 它可能与图形驱动程序有关,系统日志中的这一行:

kernel: NVRM: Xid (PCI:0000:09:00): 31, pid=968265, Ch 0000004e, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_T1_3 faulted @ 0x0_00000000. Fault is of type FAULT_PDE ACCESS_TYPE_READ

由于此错误消息似乎与 Nvidia 驱动程序有关,因此这可能是 Nvidia 特定的问题。 我在 dxvk 的错误跟踪器上报告它,因为过去似乎存在类似的问题。

只是为了继续这个,我在游戏中玩了大约 20-30 分钟后遇到了同样的问题。 它只是冻结并锁定。

@reaply尝试将 Squad 的启动参数(右键单击 > Steam 中的属性)设置为DXVK_LOG_LEVEL=info %command% 。 然后,当它崩溃时,在与游戏可执行文件/steamapps/common/Squad/相同的目录中查找 dxvk 日志文件,然后将其发布在这里,或者甚至更好地在https://github.com/doitsujin/dxvk/issues/ 上进行错误报告

我自己还没有开始做这件事,过去一周还没有时间玩游戏来实际重现崩溃(这似乎是完全随机的,这无济于事......),而且它很可能只是 Nvidia 驱动程序的错误(尽管我对此表示怀疑,因为 AMD 用户显然偶尔也会崩溃),但过去 dxvk 的错误跟踪器上也报告过类似的问题,无论如何他们可能比这里的任何人都更了解。

最近发布了新版本的 Nvidia 驱动程序,这也可能有助于解决此崩溃问题。 它尚未登陆我从那里获取驱动程序的 RPMFusion 存储库; 在我自己尝试之前,我正在等待他们更新。

我找到了解决性能下降问题的可能方法。 如果加载到地图或更改图形设置后帧率不佳,请尝试打开控制台并输入HighResShot 4 。 此命令以高分辨率截取屏幕截图,这显然会导致某种可以解决性能问题的软图形重新加载。 我不知道你截取屏幕截图的分辨率是否重要,但是一直到 8 对我来说游戏崩溃了。

根据我的两个游戏的样本大小,它并非每次都有效,但您可以继续重试,直到成功为止。 在这个技巧开始工作之前,游戏可能需要运行一段时间(使用垃圾 FPS),我不知道。 即使在此修复后,一些异常的口吃也会保留,但总比没有好。

请注意,这会在您的 wineprefix 下创建大的PNG 文件,因此除非您想保留屏幕截图,否则您可能需要执行以下操作:

  1. 转到/steamapps/compatdata/393380/pfx/drive_c/users/steamuser/Local Settings/Application Data/SquadGame/Saved/Screenshots/

  2. chmod a-w WindowsNoEditor从截图所在的文件夹中删除写入权限。如果该文件夹不存在,则创建该文件夹(即,您还没有截取任何屏幕截图)。

这似乎导致命令仍然运行并重新加载图形,但大屏幕截图文件实际上不再写入磁盘。

@brndd@reaply ,当您遇到 Xid 31 错误时,您使用的是哪个驱动程序版本?

@imaami 450。

我目前的麦克风没有出现在游戏中的问题。 我的操作系统 (Pop!_OS 20.04 LTS) 检测到它,但游戏没有。 知道我可以尝试什么样的故障排除步骤吗?

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

BLaDZer picture BLaDZer  ·  3评论

prototype99 picture prototype99  ·  3评论

AwesamLinux picture AwesamLinux  ·  3评论

lucifertdark picture lucifertdark  ·  3评论

AwesamLinux picture AwesamLinux  ·  3评论