Giter Club home page Giter Club logo

fortnitereplaydecompressor's Introduction

FortniteReplayDecompressor

FortniteReplayReader Nuget Chat Build Documentation Status

C# parser for your Fortnite replays.

Getting Started

.NET 6.0 or .NET 8.0 is required.

dotnet add package FortniteReplayReader
var replayFile = "your-amazing-fortnite.replay";
var reader = new ReplayReader();
var replay = reader.ReadReplay(replayFile);

Documentation

Available at readthedocs.org. For any other question you can join our Discord server!

Alternatives

Special thanks

Special thanks to Kuinox for the collaboration to figure out the compression and structure of the replay file.

Special thanks to ApertureC for the collaboration to figure out the UE4 network packets.

Special thanks to AlpaGit for seeing the bits I did not see.

Special thanks to SL-x-TnT for his amazing work on the NetFieldParser (among other things).

Special thanks to SL-x-TnT because he deserves to be mentioned twice.

License

Licensed under the MIT License.

fortnitereplaydecompressor's People

Contributors

alpagit avatar aperturec avatar chrisai-dev avatar diopolgg avatar razfriman avatar shiqan avatar sl-x-tnt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fortnitereplaydecompressor's Issues

How to track some elements of replays without massively increasing processing time?

Hey, i run a project that analyzes large amounts of replays using the replaydecompressor, and i currently use the "Minimal" searching for its speed. I was however wondering if it would be possible to add a few elements to minimal.

i expect i'd need to fork it, and i did attempt to do it before but i failed to get it to compile and got stuck.

Things i want to parse are the MapData -> Safezones & Llamas.

Apologies if this is an improper use of the issues, but i've seen repo's use it for support kind of before so im giving it a try.

Some elimination assignments not registering

It seems like the new Kamehameha weapon doesn't register a kill i.e. the player just "dies".
I've attached 2 replay files that show this. In the first game I was #2 and died from the Kamehameha and in the second game I won by eliminating the other player with the Kamehameha. In both cases the in-game replay says "x killed y" but the kill feed in the replay file doesn't contain a record of this.

UnsavedReplay-2022.08.20-20.59.33.replay.zip
UnsavedReplay-2022.08.20-21.21.52.replay.zip

Reporting a vulnerability

Hello!

I hope you are doing well!

We are a security research team. Our tool automatically detected a vulnerability in this repository. We want to disclose it responsibly. GitHub has a feature called Private vulnerability reporting, which enables security research to privately disclose a vulnerability. Unfortunately, it is not enabled for this repository.

Can you enable it, so that we can report it?

Thanks in advance!

PS: you can read about how to enable private vulnerability reporting here: https://docs.github.com/en/code-security/security-advisories/repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository

Replay Stats not loading for custom maps

When trying to access Stats class in replay files on custom maps I get null pointer exception error:
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.

Can't set breakpoints in FortniteReplayBuilder or FortniteReplayReader

I did a pull today for the first time in a couple of months.
I can run debug and set breakpoints in Program.cs but not in the FortniteReplayReader cs files. It's acting like FortniteReplayReader is being built release/optimized but the settings show debug.
Maybe something changed in the csproj or sln files?

Visual Studio Version?

What Visual Studio version are you guys using? I currently have VS 2017 but when I open the solution I get errors like "The current .NET SDK does not support targeting .NET Core 3.1. Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 3.1.". I have .net core 3.1 installed.

Sorry, I'm a C++ guy not a C# guy.

Question about external data

Hi Shiqan,

This is just a question not an issue. What is the external data feature that was just added? How can I access the external data?

HttpNetworkReplay

Hey, awesome project digging through it taught me a few new tricks.
I was wondering if it was possible to perhaps add support for HttpNetworkReplayStreaming, I've been trying to get it working for a while now myself, created my own replay server from which I can serve the streaming chunks to help analyze what's exactly going on in the files.
However the only thing that I was able to get working was the replay.header.
image

The way the engine seems to handle HTTP Replays is by making the following requests

Please let me know if I can in anyway help or assist you.

The files do not appear to be compressed nor encrypted.

Nuget package is missing dependencies

When I tried using the FortniteReplayReader Nuget package in a simple command line application, I got a runtime error telling me it couldn't find the assembly for Unreal.Encryption version 1.0.0.

Hopefully this is just a build configuration issue that can be fixed easily, or at the very least, turned into a compile time error.

PlayerData no longer includes EpicId or PlayerId

This is probably a client update that has changed the replay file format, but I am now receiving null values in PlayerData on both EpicId and PlayerId. Client version is 26.00. Example item:

            {
                "epicId": null,
                "id": null,
                "isBot": false,
                "kills": null,
                "placement": 4,
                "platform": "WIN",
                "playerId": null,
                "playerName": "El_Jenio19",
                "teamIndex": 3,
                "teamKills": null
            },
[UnsavedReplay-2023.09.08-11.13.31.zip](https://github.com/Shiqan/FortniteReplayDecompressor/files/12561836/UnsavedReplay-2023.09.08-11.13.31.zip)

We use the Epic ID from playerId to perform some automation and account linking on our end.

Sample replay file attached

Crashing in Oodle.cs, same replay file

The replay file I uploaded in issue #12 is still crashing in Oodle.cs line 23: "System.OverflowException: 'Arithmetic operation resulted in an overflow.'"
I think one of the size variables like uncompressedSize has overflowed signed 32 bits. These maybe should all be unsigned long instead of int.
I've uploaded a debugger screenshot.
Capture

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.