#355 Progress of the 3.2.0 patch

Closed
opened 1 year ago by Krock · 19 comments
Krock commented 1 year ago

Official release date: 2 Nov (pre-download 31 Oct)

Patch completion/script unlock: 5 Nov ¹

Progress so far (updated incrementally):

  • DONE - Locate the "check functions"
    • UserAssembly: Increased file size caused by the initialization of a huge jump table to RAM. (What is the purpose?)
  • DONE - Locate the service start function
  • DONE - Locate & patch the manufacturer string ("Wine", new method)
  • DONE - Write patch skeleton
  • DONE - Anti-abuse quirk
  • DONE - Check for new launcher key
  • DONE - Secondary "low CPU" patch

Tasks after official launch:

  • DONE - Dump "correct" values from a Windows installation
  • DONE - Check for newly added logging servers
  • DONE - Publish patch for testing
  • TODO - Test that patch (crowdsourcing)

Note: The CN counterpart is done by @y0soro and will have the same changes.

Please only answer to this issue if you have questions or helpful inputs.

¹) Might also take longer. New code is an unknown time factor.

Official release date: 2 Nov (pre-download 31 Oct) Patch completion/script unlock: 5 Nov ¹ **Progress so far (updated incrementally):** * DONE - Locate the "check functions" * UserAssembly: Increased file size caused by the initialization of a huge jump table to RAM. (What is the purpose?) * DONE - Locate the service start function * DONE - Locate & patch the manufacturer string ("Wine", new method) * DONE - Write patch skeleton * DONE - Anti-abuse quirk * DONE - Check for new launcher key * DONE - Secondary "low CPU" patch **Tasks after official launch:** * DONE - Dump "correct" values from a Windows installation * DONE - Check for newly added logging servers * DONE - Publish patch for testing * TODO - Test that patch (crowdsourcing) Note: The CN counterpart is done by @y0soro and will have the same changes. Please only answer to this issue if you have questions or helpful inputs. ¹) Might also take longer. New code is an unknown time factor.
cybik commented 1 year ago

For the record, the @Alex72 move from 3.1 (bonking the DLL) somehow works again this time around. Obviously using a trash account, I just got into the game.

Do not do this with your main account/s. This is only for process analysis, testing and validation. YOU HAVE BEEN WARNED.

For the record, the @Alex72 move from 3.1 (bonking the DLL) somehow works again this time around. Obviously using a trash account, I just got into the game. ***Do not do this with your main account/s. This is only for process analysis, testing and validation. YOU HAVE BEEN WARNED.***
Krock commented 1 year ago
Owner

Testing patch 3.2.0 (OS) is done

As usual, please use only testing accounts until the patch is confirmed working. If everything goes well, patch unlock will be on 5 November.

Please test the following patches:

  • patch.sh
  • patch_anti_logincrash.sh
    • Likely starting from Friday (server time), this patch will avoid increased CPU usage on Linux kernels with timer frequencies <1000 Hz (see #195 for details).
#### Testing patch 3.2.0 (OS) is done As usual, please **use only testing accounts** until the patch is confirmed working. If everything goes well, patch unlock will be on 5 November. Please test the following patches: * `patch.sh` * `patch_anti_logincrash.sh` * Likely starting from Friday (server time), this patch will avoid increased CPU usage on Linux kernels with timer frequencies <1000 Hz (see #195 for details).
Alex72 commented 1 year ago

@cybik This trick will work until the server starts sending additional anti-cheat checks to the client (this usually happens from two to three days after the release, if I'm not wrong).

@cybik This trick will work until the server starts sending additional anti-cheat checks to the client (this usually happens from two to three days after the release, if I'm not wrong).
johnssh commented 1 year ago

Played for about one hour and had no problems on testing account, did some domains and exploration and pulls and no bugs or glitches happend.

Also had the mhypbase.dll removed before the patch and the game oppened fine.

Thank you for the patch as usual <3.

Played for about one hour and had no problems on testing account, did some domains and exploration and pulls and no bugs or glitches happend. Also had the ``mhypbase.dll`` removed before the patch and the game oppened fine. Thank you for the patch as usual <3.
j-accorsi commented 1 year ago

Everything working perfectly. I played for a little over an hour with no problem. Thanks again for the patch.

Everything working perfectly. I played for a little over an hour with no problem. Thanks again for the patch.

Played for 30m. Pulled, used resin, tried new characters, and did dailies. Stuttering isn't as bad as previous patches.

Arch Linux, Kernel 6.0.6, lutris7.2-2, NVIDIA 520.56.06

Good work as always!

edit: I switched to lutris-GE-Proton7-33 and it stutters significantly less.

Played for 30m. Pulled, used resin, tried new characters, and did dailies. Stuttering isn't as bad as previous patches. Arch Linux, Kernel 6.0.6, lutris7.2-2, NVIDIA 520.56.06 Good work as always! edit: I switched to lutris-GE-Proton7-33 and it stutters significantly less.

Played for an hour, one freeze encountered (might be due to renamed mhypbase.dllwithout patch_anti_logincrash.sh(?) ). Other than that, no issues so far. (There's mild stutter but that's given)

Thank you very much!


Just curious, what happens if patch_anti_logincrash.sh is applied when the verification checks isn't in place yet? does it "send" different data compared to without?

Played for an hour, one freeze encountered (might be due to renamed `mhypbase.dll`without `patch_anti_logincrash.sh`(?) ). Other than that, no issues so far. (There's mild stutter but that's given) Thank you very much! ------------ Just curious, what happens if `patch_anti_logincrash.sh` is applied when the verification checks isn't in place yet? does it "send" different data compared to without?
cybik commented 1 year ago

Patch Test Log

Test bench

AAGL, i7 8700k, RTX 3060 Ti, 32gb RAM, Pop_OS 22.04, Proton-GE 7-37 with DXVK

Trash account test
  • Log in, Play
  • No auto-ban after instant / a few minutes / ~1hr / ~4hr / daily reset
Oddities
  • Got one hardcrash mid-play alternating between a live Genshin session and a GeForce NOW session. Either X11 got into a fight with itself w.r.t. inputs, or the game crashed - crash which I don't have any logs for. Trying to repro.
Main account test
  • Log in, Play
  • No auto-ban after instant / a few minutes / ~1hr / ~4hr / daily reset
Verdict

As far as my sessions are concerned, patch looks functional.

#### Patch Test Log ##### Test bench AAGL, i7 8700k, RTX 3060 Ti, 32gb RAM, Pop_OS 22.04, Proton-GE 7-37 with DXVK ##### Trash account test * [x] Log in, Play * [x] No auto-ban after instant / a few minutes / ~1hr / ~4hr / daily reset ###### Oddities * Got one hardcrash mid-play alternating between a live Genshin session and a GeForce NOW session. Either X11 got into a fight with itself w.r.t. inputs, or the game crashed - crash which I don't have any logs for. Trying to repro. ##### Main account test * [x] Log in, Play * [x] No auto-ban after instant / a few minutes / ~1hr / ~4hr / daily reset ##### Verdict As far as my sessions are concerned, patch looks functional.

Played for 45 mins now, works fine on Arch Linux with Linux 6.0.6 and AMD RX 470. There's a bit of stuttering in the desert undergrounds but everything else works fine

Played for 45 mins now, works fine on Arch Linux with Linux 6.0.6 and AMD RX 470. There's a bit of stuttering in the desert undergrounds but everything else works fine

Had a freeze twice while doing the archon quest, at a moment where it moves from regular conversation between npcs/traveler and a short CG/cinematic scene (won't say which to avoid spoilers, but it's in the new part of the archon quest). It froze both times at the fade to black moment, leaving a fully black screen with the UID printed on top, stayed there for several minutes until I killed it. No sound, but I could alt tab out of it easily. Force-finished the process, then started back and the same happened.

Manjaro 5.19.16-2 r9 5900x, gtx 970 Lutris, wine version lutris-fshack-7.2 with DXVK enabled nvidia drivers linux519-nvidia 520.56.06-3 only applied patch.sh, no modification to the dlls

Then moved on to other things, played on my phone for a minute and got past it, then realized I should have looked at the logs and reported it earlier. Anyway, those are my details just in case somebody else finds the same issue. Otherwise I'm happy to tag it as a my-system problem.

Edit: happened again, apparently there's another cinematic shortly after. Logs this time:

(wine:58332): GLib-GObject-WARNING **: 17:27:30.124: specified class size for type 'GstNvH264Dec' is smaller than the parent type's 'GstH264Decoder' class size

(wine:58332): GLib-CRITICAL **: 17:27:30.124: g_once_init_leave: assertion 'result != 0' failed

Had a freeze twice while doing the archon quest, at a moment where it moves from regular conversation between npcs/traveler and a short CG/cinematic scene (won't say which to avoid spoilers, but it's in the new part of the archon quest). It froze both times at the fade to black moment, leaving a fully black screen with the UID printed on top, stayed there for several minutes until I killed it. No sound, but I could alt tab out of it easily. Force-finished the process, then started back and the same happened. Manjaro 5.19.16-2 r9 5900x, gtx 970 Lutris, wine version lutris-fshack-7.2 with DXVK enabled nvidia drivers linux519-nvidia 520.56.06-3 only applied patch.sh, no modification to the dlls Then moved on to other things, played on my phone for a minute and got past it, then realized I should have looked at the logs and reported it earlier. Anyway, those are my details just in case somebody else finds the same issue. Otherwise I'm happy to tag it as a my-system problem. Edit: happened again, apparently there's another cinematic shortly after. Logs this time: (wine:58332): GLib-GObject-WARNING **: 17:27:30.124: specified class size for type 'GstNvH264Dec' is smaller than the parent type's 'GstH264Decoder' class size (wine:58332): GLib-CRITICAL **: 17:27:30.124: g_once_init_leave: assertion 'result != 0' failed
cybik commented 1 year ago

@dart_suicune looks like the WINE version has borked media decoding. Can you try a Wine-GE somehow?

@dart_suicune looks like the WINE version has borked media decoding. Can you try a Wine-GE somehow?
Krock commented 1 year ago
Owner

@pureshores The secondary patch replaces a certain function that would crash clients with disabled mhypbase.

@darth_suicune This appears to be an issue related to ABI mismatch. I would suggest to try a more recent Wine and DXVK version, or toggle the Lutris runtime checkbox.

@pureshores The secondary patch replaces a certain function that would crash clients with disabled mhypbase. @darth_suicune This appears to be an issue related to ABI mismatch. I would suggest to try a more recent Wine and DXVK version, or toggle the Lutris runtime checkbox.
NekoCWD commented 1 year ago

Thanks for your work, it's been 12 hours and I'm not banned

Thanks for your work, it's been 12 hours and I'm not banned
Miga commented 1 year ago

Played for about 8 hours total with both the normal patch and secondary patches applied, no issues to report. Arch Linux, Linux 6.0.6-clear, Wine-TKG 7.20 with DXVK-async 1.10.3. Thanks as always!

Played for about 8 hours total with both the normal patch and secondary patches applied, no issues to report. Arch Linux, Linux 6.0.6-clear, Wine-TKG 7.20 with DXVK-async 1.10.3. Thanks as always!
Nadats commented 1 year ago

Played a bit yesterday and did most activities available in the game excluding coop and spending real money.

Test account is not banned so far. Thanks a lot for the patch!

Played a bit yesterday and did most activities available in the game excluding coop and spending real money. Test account is not banned so far. Thanks a lot for the patch!
atollie commented 1 year ago

system:

  • wine-7.0
  • ubuntu 20.04
  • kernel 5.16.15
  • nvidia 3050 (driver ver 515.65.1)
  • DXVK 1.10.3

no problem so far, doing daily commission, exploring, domain running smooth without any issue

thanks a lot for the patch

system: - wine-7.0 - ubuntu 20.04 - kernel 5.16.15 - nvidia 3050 (driver ver 515.65.1) - DXVK 1.10.3 no problem so far, doing daily commission, exploring, domain running smooth without any issue thanks a lot for the patch

thanks a lot for your great work,

I add the geshin_impact.exe as a non-steam game into steam library, then patched the game and launch it from steam using steam proton.

system:

Archlinux latest
kernel linux-zen 6.0.6
steam proton 7.0-4
Radeon 6900XT
KDE on wayland

no problem yesterday(11/03), doing daily commission, exploring, domain running smooth without any issue

and today(11/04) game frequently crashed when I click the door to get login. when I retry the login and enter the game successfully, there is no more problems

thanks a lot for your great work, I add the geshin_impact.exe as a non-steam game into steam library, then patched the game and launch it from steam using steam proton. system: Archlinux latest kernel linux-zen 6.0.6 steam proton 7.0-4 Radeon 6900XT KDE on wayland no problem yesterday(11/03), doing daily commission, exploring, domain running smooth without any issue and today(11/04) game frequently crashed when I click the door to get login. when I retry the login and enter the game successfully, there is no more problems
Kyuunex commented 1 year ago

tested this patch since day 1 on a test account, many hours of gameplay, no bans, there was one freeze i got though right after logging in, and had to end the process

then, 9 hours before making this comment, i applied the second patch and played for basically 9 hours, no bans.

i did many things like quests, wishes and musk reef in both cases, with the second patch and without.

system: Proton 7.0-4 | linux 6.0.6-zen1-1-zen | arch btw | zen 3 cpu | rx 480 | i3-wm

tested this patch since day 1 on a test account, many hours of gameplay, no bans, there was one freeze i got though right after logging in, and had to end the process then, 9 hours before making this comment, i applied the second patch and played for basically 9 hours, no bans. i did many things like quests, wishes and musk reef in both cases, with the second patch and without. system: Proton 7.0-4 | linux 6.0.6-zen1-1-zen | arch btw | zen 3 cpu | rx 480 | i3-wm
Krock commented 1 year ago
Owner

Thank you for all test reports. No further issues found. The patch script is now unlocked.

Thank you for all test reports. No further issues found. The patch script is now unlocked.
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.