#367 Progress of the 3.3.0 patch

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

Official release date: 7 Dec (pre-download 5 Dec)

Patch completion/script unlock: 10 Dec ¹

Progress so far (updated incrementally):

  • DONE - Locate the "check functions"
  • 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: 7 Dec (pre-download 5 Dec) Patch completion/script unlock: 10 Dec ¹ **Progress so far (updated incrementally):** * DONE - Locate the "check functions" * 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

Heads up, the pre-download has something called HoyoKProtect.sys.

It might be a rebranded mhyprot3.sys for all I know.

EDIT: Evidently it isn't.

Heads up, the pre-download has something called `HoyoKProtect.sys`. ~~It might be a rebranded `mhyprot3.sys` for all I know.~~ EDIT: Evidently it isn't.
r4m0n commented 1 year ago

@cybik: nope, definitely something new. mhyprot3.sys is still around and the newcomer is 50%+ larger.

Probably a replacement for mhyprot3.sys, but we'll only know if/when is it going to be used when everything else is in place.

@cybik: nope, definitely something new. mhyprot3.sys is still around and the newcomer is 50%+ larger. Probably a replacement for mhyprot3.sys, but we'll only know if/when is it going to be used when everything else is in place.
Alex72 commented 1 year ago

This is a new kernel driver. It is installed into System32. As for the exact purpose, it's yet unknown. But the old trick with removing / renaming mhypbase.dll still works, so maybe our regular patch will do too.

This is a new kernel driver. It is installed into `System32`. As for the exact purpose, it's yet unknown. But the old trick with removing / renaming `mhypbase.dll` still works, so maybe our regular patch will do too.
Krock commented 1 year ago
Owner

The email authentication seems to be broken (Wine 7.21). However, there is no helpful WINEDEBUG output log and the new mailbox.dll file is apparently a stub that does not do anything (depends on winetricks vcrun2019). Bad email server.

Ideas?

Also: CheatEngine VEH is broken after login.

~~The email authentication seems to be broken (Wine 7.21). However, there is no helpful WINEDEBUG output log and the new `mailbox.dll` file is apparently a stub that does not do anything (depends on `winetricks vcrun2019`).~~ Bad email server. Ideas? Also: CheatEngine VEH is broken after login.
cybik commented 1 year ago

The only thing that comes to mind is, is it broken because of the patch itself, or because of the comprehensive hosts file?

Else I have precious little to contribute.

The only thing that comes to mind is, is it broken because of the patch itself, or because of the comprehensive hosts file? Else I have precious little to contribute.
Alex72 commented 1 year ago

@Krock AFAIK client doesn't care about stuff that you type in login/password box, it just passes it unchanged via API endpoint to the server side. So this may indicate some problems on the server (maybe with your account only). You might want to try another account maybe?

As for VEH being broken, something definetly changed in the way how they protect the game, and this includes VMProtect too. But I can't really say much about it.

Someone also might try to login with throwaway account using "remove mhypbase" thick.

@Krock AFAIK client doesn't care about stuff that you type in login/password box, it just passes it unchanged via API endpoint to the server side. So this may indicate some problems on the server (maybe with your account only). You might want to try another account maybe? As for VEH being broken, something definetly changed in the way how they protect the game, and this includes VMProtect too. But I can't really say much about it. Someone also might try to login with throwaway account using "remove mhypbase" thick.
Krock commented 1 year ago
Owner

I am sorry for the delay of this patch. Their new anti-debugger code does work - it broke my workflow and the email issue also took a while to resolve.


Testing patch 3.3.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 10 December.

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).
    • If someone is willing to compare the performance difference starting from Friday, please let me know whether the busy CPU issue is still present. I would like to keep the patch subset as small as possible.
      • EDIT: Apparently the issue is still present, even before Friday. Thanks to pureshoes and igorlima for checking.
I am sorry for the delay of this patch. Their new anti-debugger code does work - it broke my workflow and the email issue also took a while to resolve. ---- #### Testing patch 3.3.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 10 December. 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). * ~~If someone is willing to compare the performance difference starting from Friday, please let me know whether the busy CPU issue is still present. I would like to keep the patch subset as small as possible.~~ * EDIT: Apparently the issue is still present, even before Friday. Thanks to pureshoes and igorlima for checking.
ekz48 commented 1 year ago

Looks like it works.

Ryzen 7 3800X | RX 6600XT | Gentoo | Lutris Proton 7.33

Login works, Multiplayer is working, In-game browser things also working

Tested for about an hour in second account

Looks like it works. Ryzen 7 3800X | RX 6600XT | Gentoo | Lutris Proton 7.33 Login works, Multiplayer is working, In-game browser things also working Tested for about an hour in second account
Miga commented 1 year ago

Testing with both patches for about an hour so far on a burner account.

Hardware: Intel Core i9-12900K, 32GB RAM, Radeon RX 6950XT

Software: Arch, Linux-clear 6.0.10-1, Wine-TKG staging 7.21r3, DXVK-Async 2.0. Also using the FPS unlocker.

Did daily commissions and tried doing some rolls. No issues to report thus far.

Edit: No further issues to report after about 9 hours of total playtime over the course of two days.

Testing with both patches for about an hour so far on a burner account. Hardware: Intel Core i9-12900K, 32GB RAM, Radeon RX 6950XT Software: Arch, Linux-clear 6.0.10-1, Wine-TKG staging 7.21r3, DXVK-Async 2.0. Also using the FPS unlocker. Did daily commissions and tried doing some rolls. No issues to report thus far. Edit: No further issues to report after about 9 hours of total playtime over the course of two days.
cybik commented 1 year ago

Patch Test Log

Trash account test

Bench: 8700k/3060Ti(525)/32gb RAM, Ubu 22.04. Patched by AAGL, Proton-GE 7-41 manual run.

  • Log in, Daylies, TCG init, Play etc, Wishing (scara how dare)
  • No auto-ban after instant / a few minutes / ~1hr / ~4hr
  • No auto-ban after daily reset
Oddities
  • Crashed at random, while idling.

Main account test

Bench: 5900HX/3080M-MaxQ(525)/64gb RAM, Ubu 22.04, Proton-GE 7-39 via AAGL.

  • Log in, Daylies, TCG, Leylines, Wishing
  • No auto-ban after instant / a few minutes / ~1hr / ~4hr
  • No auto-ban after daily reset
  • No ban after wasting most of the day on TCG, then clearing the Story Quest
Verdict

So far so good.

### Patch Test Log #### Trash account test **Bench:** 8700k/3060Ti(525)/32gb RAM, Ubu 22.04. Patched by AAGL, Proton-GE 7-41 manual run. * [x] Log in, Daylies, TCG init, Play etc, Wishing (scara how dare) * [x] No auto-ban after instant / a few minutes / ~1hr / ~4hr * [x] No auto-ban after daily reset ###### Oddities * Crashed at random, while idling. #### Main account test **Bench:** 5900HX/3080M-MaxQ(525)/64gb RAM, Ubu 22.04, Proton-GE 7-39 via AAGL. * [x] Log in, Daylies, TCG, Leylines, Wishing * [x] No auto-ban after instant / a few minutes / ~1hr / ~4hr * [x] No auto-ban after daily reset * [x] No ban after wasting most of the day on TCG, then clearing the Story Quest ##### Verdict So far so good.
johnssh commented 1 year ago

Played for 1+ hours on secondary account and had no problems at all, even went for the TCG event! And once again Thank you very much for the patch. :)

Played for 1+ hours on secondary account and had no problems at all, even went for the TCG event! And once again Thank you very much for the patch. :)
atollie commented 1 year ago

OS Ubuntu 20.04

Kernel 5.16.15

Wine 7.0

GPU NVidia 3050 with driver 515.86.1

DXVK 1.10.3

doing some exploration, wishing and daily with no issue

kudos to you guys and thanks a lot

OS Ubuntu 20.04 Kernel 5.16.15 Wine 7.0 GPU NVidia 3050 with driver 515.86.1 DXVK 1.10.3 doing some exploration, wishing and daily with no issue kudos to you guys and thanks a lot
cybik commented 1 year ago

From moriz0 on the AAGL Discord:

Ryzen 9 5950X | 64GB RAM | RX 6600 XT | EndeavourOS | Soda 7.0-6

Did domain run and some general exploration, ~30 minutes playtime. no issues noted

From moriz0 on the AAGL Discord: > Ryzen 9 5950X | 64GB RAM | RX 6600 XT | EndeavourOS | Soda 7.0-6 > > Did domain run and some general exploration, ~30 minutes playtime. no issues noted

Works fine on my end. Pulled and did some quests. DXVK 2.0 helps a lot with the stuttering it seems. Shaders finished compiling after a minute or two, and it's completely gone.

  • Arch Linux (Kernel 6.0.11)
  • NVIDIA 525.60.11
  • lutris-GE-Proton-7.33
  • DXVK 2.0

Thanks!

Works fine on my end. Pulled and did some quests. DXVK 2.0 helps a lot with the stuttering it seems. Shaders finished compiling after a minute or two, and it's completely gone. - Arch Linux (Kernel 6.0.11) - NVIDIA 525.60.11 - lutris-GE-Proton-7.33 - DXVK 2.0 Thanks!

Played for an hour, no issues encountered.

Thank you very much!


Regarding 2nd patch: The issue is still present.

I don't use 2nd patch now as I'm back to 1 kHz variant. However, I can reproduce it with 1 kHz variant by simply switching from esync to fsync or none. (albeit not as high as the 300 one)

Played for an hour, no issues encountered. Thank you very much! ---- Regarding 2nd patch: The issue is still present. *I don't use 2nd patch now as I'm back to 1 kHz variant. However, I can reproduce it with 1 kHz variant by simply switching from esync to fsync or none. (albeit not as high as the 300 one)*
saturn commented 1 year ago

Thank you always for your great work on the patch.

Tested on a testing account for a couple hours. Did some quests and some pulls, ran commissions and some leylines. No issues to report.

Arch Linux (zen kernel 6.0.11) Wine lutris-ge-proton 7.16 Nvidia GTX 1070 with driver 525.60.11 DXVK 2.0

Thank you always for your great work on the patch. Tested on a testing account for a couple hours. Did some quests and some pulls, ran commissions and some leylines. No issues to report. Arch Linux (zen kernel 6.0.11) Wine lutris-ge-proton 7.16 Nvidia GTX 1070 with driver 525.60.11 DXVK 2.0
Scla commented 1 year ago

Played for a couple hours between yesterday and today, no issues to report. Used only patch.sh and not the new patch_anti_logincrash.sh.

Arch Linux, kernel 6.0.11-arch-1, Lutris with wine-ge-custom-7.34-1, Ryzen 5 3500x and GTX 1070, 525.60.11

I will try the anti_logincrash patch on friday to see if cpu usage drops. Now it's between 45% and 50%.

Played for a couple hours between yesterday and today, no issues to report. Used only `patch.sh` and not the new `patch_anti_logincrash.sh`. Arch Linux, kernel 6.0.11-arch-1, Lutris with wine-ge-custom-7.34-1, Ryzen 5 3500x and GTX 1070, 525.60.11 I will try the anti_logincrash patch on friday to see if cpu usage drops. Now it's between 45% and 50%.
jaytan commented 1 year ago

Tested patch on 2 systems, one good one not working. Both running PopOS 22.04 (basically Ubuntu?). Wine: lutirs-fshack-7.2-x86_64.

Laptop: i7 + Nvidia MX150: Works Great

Desktop: i5 + AMD RX6400: Exits back to launcher after (elements) loading screen. (was working fine with prev versions)

update: desktop working with wine ver: lutris-GE-Proton7-33-x86_64

Tested patch on 2 systems, one good one not working. Both running PopOS 22.04 (basically Ubuntu?). Wine: lutirs-fshack-7.2-x86_64. Laptop: i7 + Nvidia MX150: Works Great Desktop: i5 + AMD RX6400: Exits back to launcher after (elements) loading screen. (was working fine with prev versions) update: desktop working with wine ver: lutris-GE-Proton7-33-x86_64
Ro.R commented 1 year ago

Played for couple of hours too. Had 2 times within an hour that the game lost connection with the server, but reconnected quite quickly. Never had this before until today; but not sure if it has anything to do with the patch.

I performed both patches

  • AMD Ryzen 7 2700X + GeForce GTX 1060
  • openSUSE Tumbleweed kernel 6.0.8-1-default
  • Lutris with wine lutris-fs-hack-7.2
Played for couple of hours too. Had 2 times within an hour that the game lost connection with the server, but reconnected quite quickly. Never had this before until today; but not sure if it has anything to do with the patch. I performed both patches * AMD Ryzen 7 2700X + GeForce GTX 1060 * openSUSE Tumbleweed kernel 6.0.8-1-default * Lutris with wine lutris-fs-hack-7.2
justAlex commented 1 year ago

Have been playing yesterday and today for a couple of hours. No issues with both patches.

Have been playing yesterday and today for a couple of hours. No issues with both patches.
demicorn commented 1 year ago

laptop i3-1115G4 / Intel UHD Graphics
kubuntu 20.04
kernel 5.15.0-56
mesa 21.2.6
dxvk-async-1.10.3
lutris-GE-Proton7-34-x86_64

Both patches are applied.

Completed daily commissions and tested the test characters.
Approximately 2 hours.
No problems detected.

laptop i3-1115G4 / Intel UHD Graphics kubuntu 20.04 kernel 5.15.0-56 mesa 21.2.6 dxvk-async-1.10.3 lutris-GE-Proton7-34-x86_64 Both patches are applied. Completed daily commissions and tested the test characters. Approximately 2 hours. No problems detected.
igorlima commented 1 year ago

Tried the patch_anti_logincrash.sh for the first time, it reduced my cpu usage by about 30%. Test method was going to my teapot in a completely empty area to reduce random factors and monitoring usage with mangohud.

Without patch: Min: 52% Max: 60%

With patch Min: 21% Max: 27%

Garuda Linux (6.0.12-272-tkg-cfs 750HZ - default configs from chaotic-aur), esync and fsync on, performance governor
Nvidia 525.60.11-1, GTX 1650 mobile
Intel Core i5-9300H
lutris-GE-Proton7-34

Tried the `patch_anti_logincrash.sh` for the first time, it reduced my cpu usage by about 30%. Test method was going to my teapot in a completely empty area to reduce random factors and monitoring usage with mangohud. Without patch: Min: 52% Max: 60% With patch Min: 21% Max: 27% Garuda Linux (6.0.12-272-tkg-cfs 750HZ - default configs from chaotic-aur), esync and fsync on, performance governor Nvidia 525.60.11-1, GTX 1650 mobile Intel Core i5-9300H lutris-GE-Proton7-34
Cha14ka commented 1 year ago

Everything works great, played all day, also used patch_anti_logincrash.sh, thanks.

OS: Arch Linux x86_64
Kernel: 6.0.6-zen1-1-zen
CPU: Intel i5-7400 (4) @ 3.500GHz
GPU: AMD ATI Radeon RX 6500 XT
Wine: Lutris-GE-Proton7-33
Everything works great, played all day, also used `patch_anti_logincrash.sh`, thanks. OS: Arch Linux x86_64 Kernel: 6.0.6-zen1-1-zen CPU: Intel i5-7400 (4) @ 3.500GHz GPU: AMD ATI Radeon RX 6500 XT Wine: Lutris-GE-Proton7-33
Kyuunex commented 1 year ago

using both patches since day one, no bans. there was one issue after the first launch, the game started a long download and after it was done, it loaded into a black screen, forcing me to terminate the process manually.

arch 6.0.11-zen1-1-zen, rx 480, xorg, proton 7.

also it would be nice if the updater script downloaded the update even when a patch is unavailable, this way, we don't have to waste time not downloading the update until the testing patch is out and after the testing patch is out, i can quickly patch the game, launch it and let it download the rest of the files in game.

using both patches since day one, no bans. there was one issue after the first launch, the game started a long download and after it was done, it loaded into a black screen, forcing me to terminate the process manually. arch 6.0.11-zen1-1-zen, rx 480, xorg, proton 7. also it would be nice if the updater script downloaded the update even when a patch is unavailable, this way, we don't have to waste time not downloading the update until the testing patch is out and after the testing patch is out, i can quickly patch the game, launch it and let it download the rest of the files in game.

using patch.sh only for a day, no bans. there is a crash and exit encountered when gaming, and then apply the patch_anti_logincrash.sh patch and using both patches for two days, also no bans.

machine: arch 6.0.11-zen1-1-zen, ryzen 5600x, RX 6900XT, kde wayland, steam launch with proton-ge(dxvk 2.0-async)

using patch.sh only for a day, no bans. there is a crash and exit encountered when gaming, and then apply the patch_anti_logincrash.sh patch and using both patches for two days, also no bans. machine: arch 6.0.11-zen1-1-zen, ryzen 5600x, RX 6900XT, kde wayland, steam launch with proton-ge(dxvk 2.0-async)
Krock commented 1 year ago
Owner

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


@Kyuunex Please open a new issue for that so that it's not forgotten. If you are interested in working on it, you might find this dummy package helpful. Host it locally and point the update script to it.

Thank you for all test reports. No further issues found. The patch script is now unlocked. --- @Kyuunex Please open a new issue for that so that it's not forgotten. If you are interested in working on it, you might find [this dummy package](https://drive.google.com/file/d/1jwKbo7ctAjlB312keoMW0TkAy9PPICyb/view?usp=share_link) helpful. Host it locally and point the update script to it.
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.