Skip to content

Instantly share code, notes, and snippets.

@fredimachado
Last active December 7, 2022 05:51
Show Gist options
  • Save fredimachado/19a489f6dccdb9e2d18b482bed87059d to your computer and use it in GitHub Desktop.
Save fredimachado/19a489f6dccdb9e2d18b482bed87059d to your computer and use it in GitHub Desktop.
Fix/Convert Fortnite Replays to 8.30
# Big thanks to the original creator of this script, IamLukeVice: https://www.reddit.com/user/IamLukeVice
#
# Copy all this content, paste in notepad and save as a ps1 file, example: Fix-Fornite-Replays.ps1
# Then, open the folder containing the script, right click it and choose: Run With Powershell
# If it doesnt run, follow this: https://superuser.com/questions/106360/how-to-enable-execution-of-powershell-scripts
#
# Script to delete duplicate replay files: https://gist.github.com/fredimachado/1a3d36f34e786a423328a347ff11215a
$LocalAppDataFolder = "$env:LOCALAPPDATA"
$FortniteReplaysFolder = $LocalAppDataFolder + "\FortniteGame\Saved\Demos"
$count = 0
Get-Childitem $FortniteReplaysFolder -Filter *.replay |
Foreach-Object {
$bytes = [System.IO.File]::ReadAllBytes($_.fullname)
$offset = 0x10
if($bytes[$offset] -ne 0x49){
"Fixing: " + $_.Name
$bytes[$offset] = 0x49
$bytes[$offset+1] = 0xfb
$bytes[$offset+2] = 0x58
[System.IO.File]::WriteAllBytes($_.DirectoryName + "\fixed-" + $_.Name, $bytes)
$count++
}
else{ "Already correct version: " + $_.Name }
}
"Fixed " + $count + " Files."
"Press a key..."; $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
@fredimachado
Copy link
Author

I'll try to find out if there's a way to resolve this.

@fredimachado
Copy link
Author

Updated to latest 8.20
@AwesomeSauce1212 @TidStorm @xXPsychoNinjaXx I guess those versions changed the format of the data inside the replay files.
I've just updated to latest 8.20 and it works fine with previous version replay files.

@LoolzRules
Copy link

Thanks for what you're doing man, you're the best

@Yahiamice
Copy link

Tysm dude! You're a lifesaver

@neonerz
Copy link

neonerz commented Mar 31, 2019

Did it change again? Still getting the This client is not compatible with the currently deployed server. error.

Edit: I see the bytes you are changing, and when I compare it against a working replay, I can see they are the same (offset 0x10 changing it to 0x86, 0xd6, and 0x55) but I'm still getting the error. Is there something else I'm supposed to be doing? If I'm reading this right, everything past 210 is data, so I doubt anything needs to be changed there.

Edit2: It definitely seems to be related to 8.20.1 patch that was released yesterday, I just can't figure out what exactly changed.

@ChetdeJong
Copy link

They added a server side check for replays, so this fix will not work anymore.

@neonerz
Copy link

neonerz commented Apr 18, 2019

Does this still work? I see that @fredimachado updated to 8.30. Is there a way to get around the server side check?

@AwesomeSauce1212
Copy link

I have replays from version 8.10, is there still a way to fix those replays? The newest command isn't working for me.

@BlueClouDragon
Copy link

@fredimachado Is there a way to decrypt crypted replay data?

@ItsNatoriousB
Copy link

I'm sure it's out-dated now - Please can we get an update?

@yeetyoot1
Copy link

is it possible to get another update?

@BlueClouDragon
Copy link

still, look no way to decrypt encrypted data. but can get public data the same as before

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment