Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How does PUBG build the full Replay? #21

Open
MyriaCore opened this issue Mar 11, 2018 · 8 comments
Open

How does PUBG build the full Replay? #21

MyriaCore opened this issue Mar 11, 2018 · 8 comments

Comments

@MyriaCore
Copy link

Sorry in advance if this is a stupid question, but judging from the current understanding of replay files, PUBG shouldn't be able to create a full video replay from just this. Would the files in events have anything to do with that? IDK it just seems like PUBG isn't giving itself enough information to work with.

@EpicKitten
Copy link
Owner

EpicKitten commented Mar 11, 2018

It's not, I'm currently working on documentation on the replay files. PUBG uses this system to create replay files. To my understanding so far, The header file tells PUBG what app to load, replayinfo and ReplaySummary file in data folder contain information about the match (number of kills, headshots, amount of people, etc), the kill and groggy(DBNO) files in the data folder are kills and knocks that happened within 1km of you. The Demo file is were all the gold lies, it tells PUBG how to reenact the game. Instead of saving a video of what happened, PUBG records all data you send and get from the server and just replays it. This includes all loot picked up, player positions for everyone within 1km of the recorder, the kill feed, etc. But we (as a community, or atleast me), have yet to crack it. It's quite hard, it doesnt match any encoding (Mixes of seemingly random characters and normal words), and replay building in UE4 is very specific to the game so it's all undocumented. This is a picture of parts of the Demo file, they seem to correlate to some kind of class but I've yet to read it, currently (like in the last hour) I've been mulling over the demo file, looking for patterns like this one. Using this a starting point I can read the normal text(PUBG name, SteamID64, and the AccountID)...for 14 players, why 14? No idea.

@numinit
Copy link

numinit commented Mar 15, 2018

It's a serialized UE4 network stream. Lots of radar cheat programs can peek at the network traffic already for nefarious reasons, and this is just the same thing.

@numinit
Copy link

numinit commented Mar 15, 2018

(also, the format is open source, just look at Epic Games' Unreal repository on github)

@flok
Copy link

flok commented Mar 15, 2018

@numinit i looked in the unreal source for 4 hours straight yesterday, and didnt really find anything. Do you got some hints where i could find the system loading the file ?

@EpicKitten
Copy link
Owner

EpicKitten commented Mar 16, 2018

In talks with the owner of this site

@MyriaCore
Copy link
Author

@EpicKitten anything come of it? I've been hanging out in their discord server, so I know that they're there too. It may be a bit faster for access for you 😄
Their usernames @pkdotty and @Rabidbunnylover on the server.

@EpicKitten
Copy link
Owner

Not really, he was willing to help but couldn't give me direct access because of open source concerns of a packet radar. Me and @cywq we're privately developing solutions but our lack of knowledge in C++ and the confusing undocumented functions of UE4 we're unhelpful so I think (atleast I have) we have set that aside for now

@flok
Copy link

flok commented Mar 22, 2018

i have set it aside too at the moment. Got private stuff todo atm but will continue on it when i got time again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants