Forza Horizon 4

Forza Horizon 4

View Stats:
Michael 👻 Mar 27, 2021 @ 12:03pm
Convoy Multiplayer Fix (PartyXboxLive.dll)
Hi Forza Horizon community!

So, I've searched around to see any workarounds to fix my random crashes to no avail. I noticed that my crashes only happens when you're on a convoy of which the convoy leader plays on a different (non-Steam) platform.

I've recently found a working workaround by updating some DLL files (the PlayFab party ones) that's located in the game directory, and I would love to share it with you guys.

IMPORTANT! Please note that this may or may not work for your case.
Edited this as of 14 Apr, scroll to the bottom for the fix, or post #10 & #12


My workaround:
1. Download the files from one of the following options:
a. Original source from NuGet package manager (it says "Download package" to the right of your screen):
- https://www.nuget.org/packages/Microsoft.PlayFab.PlayFabParty.Cpp.XboxOneXDK/
- https://www.nuget.org/packages/Microsoft.PlayFab.PlayFabParty.Cpp.Windows/
b. Or use my version (please note that this might not be the latest version for future updates, latest as of 2021-03-27): https://drive.google.com/file/d/1FagZm3_aGKQnQFMmT55TfjOkWciwy40C/view?usp=sharing
2. Extract the downloaded files (for nuget ones: they work like your normal ZIP files, or you might want to change the extension first)
3. Make a backup copy of the original DLL files you're going to replace (Party.dll and PartyWin.dll)
4. Replace it with the ones you just downloaded.

EDIT (14 April 2021):
I've also edited assembly instructions of the problematic DLL (PartyXboxLive.dll) using Hex Editor with instructions written on post #12.

You may either:
1. Patched the DLL by following the instructions, or download one already patched here:
https://drive.google.com/file/d/1afn0EzKyRAK2VekfcalVS2iYHQHMOiNn/view?usp=sharing
VirusTotal scan: https://www.virustotal.com/gui/file/049e5bbdc4424c6a21146a44099609b0b530b1ba06f73e6d3ceafe917ea061c5/detection
2. Update the DLL from the original version since they recently updated their libraries (credits: https://steamcommunity.com/app/1293830/discussions/0/3167694551647680298/)
Follow the steps above (or the one in his/her thread) and download from here: https://www.nuget.org/packages/Microsoft.PlayFab.PlayFabPartyXboxLive.Cpp.Windows/

Thank you,
MichaelIce
Last edited by Michael 👻; Apr 14, 2021 @ 8:22am
< >
Showing 1-15 of 15 comments
Michael 👻 Mar 27, 2021 @ 10:19pm 
Oh right, if you're downloading it from NuGet, the DLL is located deep within its' subfolders:
build\native\lib\(x64 or durango)\release

Also if you're on Windows 10 and can't connect to play multiplayer (but has no crash issues) you might want to:
1. Open the new Windows Settings App
2. Search for Xbox Networking
3. Wait until the "Fix it" button is available and click on it
4. After the Fix progress is done, press "Check again"

A good Xbox Networking shouldn't state "Teredo is unable to qualify" for NAT Type and the Server connectivity should be "Connected"
Michael 👻 Apr 1, 2021 @ 11:34am 
After hours of trying to get it right, I finally resorted to Cheat Engine and simply replace the faulty PartyXboxLive.dll assembly opcodes with code that does nothing. I referred to the crash events in Windows Event Viewer which tells you exactly "PartyXboxLive.dll"+27F59 and "PartyXboxLive.dll"+35312 is the faulty ones.

The following guide uses CheatEngine (or a variant of it).
This is a high-risk application, use it at your own discretion.
YOU HAVE BEEN WARNED.

I am not responsible for any liabilities, bans, etc. and nor do I encourage cheating in any form (my code is open-source and auditable).


If you are a techy and likes to do it manually:
Open Cheat Engine, press Ctrl + Alt + L (Table > Show Cheat Table Lua Script) and enter the following script: https://pastebin.pl/view/30878600

I've also compiled a binary version which you are able to download at my drive: https://drive.google.com/file/d/1RsYEB-EAqKb3CO_LYdTWE5oidvgpwMq6/view?usp=sharing
VirusTotal scan: https://www.virustotal.com/gui/file/c989a8c764894418fdd04396646da869d5dea55f5f51fc9c52ab0ed0679faa4b/detection
drowningsinking Apr 12, 2021 @ 2:17pm 
How the hell this thread did not gain any traction? This is the only method that ACTUALLY works. You MichaelIce are a mad scientist.
Dee-Jay Apr 12, 2021 @ 3:54pm 
I've bought this game and suffered the friend convoy crashes. I have to say that it is stone cold bllshit that people have to resort to stuff like cheatengine just to achieve basic functionality in a AAA game.
DriftMonkey336 Apr 12, 2021 @ 5:22pm 
Originally posted by drowningsinking:
How the hell this thread did not gain any traction? This is the only method that ACTUALLY works. You MichaelIce are a mad scientist.
Did you try this ? and is it working?
Scorp721 Apr 12, 2021 @ 9:20pm 
Just downloaded the 2 .dll files and swapped them in, ran convoy races for about 2 hrs with no problems at all. Will play some more tomorrow but so far it seems like it fixed it for me.
drowningsinking Apr 13, 2021 @ 12:05am 
Originally posted by DriftMonkey336™:
Originally posted by drowningsinking:
How the hell this thread did not gain any traction? This is the only method that ACTUALLY works. You MichaelIce are a mad scientist.
Did you try this ? and is it working?
It's working.
I'll be keeping this thread afloat so more people could play the damn game.
drowningsinking Apr 13, 2021 @ 11:55am 
Bump I guess.
Jozefik Apr 13, 2021 @ 12:35pm 
Originally posted by drowningsinking:
Bump I guess.
How did you made it work ? i downloaded the .dlls and it is still crashing
Michael 👻 Apr 13, 2021 @ 2:39pm 
Hi!
It's been so long already I've already found the fix, but since no one seems interested in the discussion (or maybe it's just me who crashed in convoys) so I've forgotten about this.

For those not interested in CheatEngine and stuff, I've actually patched my own PartyXboxLive.dll using crash dump from Event Viewer, disassembly, and hex editor tools.

Here's the only file you need to replace: https://drive.google.com/file/d/1afn0EzKyRAK2VekfcalVS2iYHQHMOiNn/view?usp=sharing
VirusTotal scan: https://www.virustotal.com/gui/file/049e5bbdc4424c6a21146a44099609b0b530b1ba06f73e6d3ceafe917ea061c5/detection
Though you may be required to replace this file every single time there's an update to this game.

This fix only works if your crash dump in Event Viewer shows PartyXboxLive.dll with offset either 27F59 or 35312. For other types of crashes, please refer to the pinned thread in this discussion instead.
PartyXboxLive.dll just gets replaced by windows instantly for malware but the other two fixes were working perfect for me but now my games just crashing out the menu.

Ill respond if i get my game working without crashing but for now ill give you a +1
Michael 👻 Apr 13, 2021 @ 7:59pm 
Welp alright, then I'll put short instructions to modify the DLL yourself using a Hex Editor.

1. Download hex editor tools (I used HxD)
2. Optionally, make a backup of PartyXboxLive.dll (with HxD, it is done automatically)
3. Open the PartyXboxLive.dll with it (Make sure you're currently not running Forza)
4. Now as mentioned, there are 2 offset that causes crashes. The thing is, a loaded DLL in memory often has different offset addresses than unloaded ones. In our case, the unloaded ones has a difference in the order of 0xC00 lower.
4.a. Go to offset 27359 and overwrite 4 (FOUR) bytes by simply writing 90 90 90 90
4.b. Go to offset 34712 and overwrite 3 (THREE) bytes by simply writing 90 90 90
5. Save the file and you're good to go. Enjoy multiplayer!

To go to offset (for example 27359), you would want to check the left-hand side for the nearest value (in this example that means 00027350) and then choose the column that adds to it (in this example, that means to pick the 09 column resulted in 0x27350 + 0x9 which is 0x27359).
I recommend to not resize the windows of most Hex Editors, since it is easier that way.

References:
[1] 0x90 is a no-op short of no operation. https://en.wikipedia.org/wiki/NOP_(code)
[2] The difference in addressing might be the alignment from its' PE headers. https://stackoverflow.com/questions/26957285/offsets-mismatch-between-dll-loaded-in-the-memory-and-on-the-hdd
Last edited by Michael 👻; Apr 14, 2021 @ 8:25am
Michael 👻 Apr 13, 2021 @ 8:29pm 
As per this thread: https://steamcommunity.com/app/1293830/discussions/0/3167694551647680298/

I've just checked and it seems PlayFab/Xbox actually updates their PartyXboxLive.dll after 10 months hiatus. You might want to try replacing it following my #1 instructions or theirs (it is the same anyway).
I haven't tested yet though, but their thread seems to result in positive result so far.
Download: https://www.nuget.org/packages/Microsoft.PlayFab.PlayFabPartyXboxLive.Cpp.Windows/
Last edited by Michael 👻; Apr 13, 2021 @ 8:30pm
Originally posted by MichaelIce:
Hi!
It's been so long already I've already found the fix, but since no one seems interested in the discussion (or maybe it's just me who crashed in convoys) so I've forgotten about this.

For those not interested in CheatEngine and stuff, I've actually patched my own PartyXboxLive.dll using crash dump from Event Viewer, disassembly, and hex editor tools.

Here's the only file you need to replace: https://drive.google.com/file/d/1afn0EzKyRAK2VekfcalVS2iYHQHMOiNn/view?usp=sharing
VirusTotal scan: https://www.virustotal.com/gui/file/049e5bbdc4424c6a21146a44099609b0b530b1ba06f73e6d3ceafe917ea061c5/detection
Though you may be required to replace this file every single time there's an update to this game.

This fix only works if your crash dump in Event Viewer shows PartyXboxLive.dll with offset either 27F59 or 35312. For other types of crashes, please refer to the pinned thread in this discussion instead.


This is ITTTTTT
drowningsinking Apr 14, 2021 @ 3:25am 
Originally posted by MichaelIce:
Hi!
but since no one seems interested in the discussion (or maybe it's just me who crashed in convoys)[/b]

The game crashes for everyone, it's just people percieve it as normal. Yes, a very expensive piece of software from the richest company in the world lacks basic functionality after three years of release and people are just okay with it.
I mean read the positive steam reviews for this game: "I played for 4 hours and the game crashed just 4 times. So far so good, can recommend".
< >
Showing 1-15 of 15 comments
Per page: 1530 50

Date Posted: Mar 27, 2021 @ 12:03pm
Posts: 15