You are not logged in.

bfstats | BF1942 replay is a web page where you can play a recording of a BF1942 round. I created it to see whether it would be possible to capture game events while playing and store them in a file. Turns out you can, with a little help from SiMPLE Forum - Battlefield 1942 Plus.
Here are a couple of recordings I took, it lets you roam the map, go FPV on other players and jump between skirmishes.
- Bocage
- Midway
If you are game and want to try it, you just need to turn on recording and watch it back. Post here what didn't work and send me your recording.
For those who are keen it's best if you know your way around dsound.dll and know how to install it
- Download BF42++ dsound.dll from here, https://github.com/sila-skandia/bf42plu … und-replay, it's the usual BF42++ with the round recording added to it
- Join a game like normal, in the console type `plus.recordReplays 1` and play like normal
- when you're done go over to bfstats | BF1942 replay and select the recording under `Battlefield 1942\replays` folder (file will end in .ndjson)
Let me know what you think!!
Last edited by skandia (2026-09-28 23:52:01)
What the hell, this is absolutely wild?! I can't even believe I just watched a BF1942 round recording interactively through my phone browser, wtf...
This is the craziest thing for BF1942 I've ever seen, lol. I'm just amazed.
Would you mind giving a hint on how it works? Did you replicate the game's 3D engine including animations? Does it have its own physics to show interactions and collisions properly? How does the client capture everything happening on the map with such precision?

I need to write up the whole project for those interested, but I will tldr; what is involved:
- You are viewing a BF1942 implementation in JavaScript to make it work in the browser. So things like physics, ballistics and all the game mechanics were converted to JS.
- The models, maps, kits, poses, animations are extracted out of the game rfa archives, same with the sound files, their .con files and so on.
You can actually play single-player with bots, which are just as dumb as the ones in the real game.
With the game engine in place, I needed a way to capture the game data while you're playing. Because we already have BF42+ it was hooking BF1942.exe and already doing this. I just added in capture for every possible event sent by the server. Because the Linux server binary was compiled with full debug symbols you can actually see the method names and data types to reverse engineer them. So that's what BF42++ is doing, and converting them to a JSON format I store.
Then the idea was to combine these recordings with my JS implementation and it worked surprisingly well.

Holy shhhhhh
This is madness! ![]()
Well done!

I have a question tho. When following different players (especially ones flying planes) they were sometimes flagged as "out of range", their models frozen. Does it mean their animations weren't recorded since the one recording the game (you, in this case) was so far from them at that point that their models weren't rendered from your POV?

Spot on. It can merge multiple recordings together so the more people recording their games and uploading them will increase coverage.
- You are viewing a BF1942 implementation in JavaScript to make it work in the browser. So things like physics, ballistics and all the game mechanics were converted to JS.
Ok, this is crazier than I thought. Does that mean you have somehow fully decompiled the game executable and now have its code?

Yeah, here's the code if you're interested under the tools folder github.com/sila-skandia/bfstats/


The players had a gentleman's agreement tonight for only Zook & Knives. I was able to record most of the round using Skandia's new recorder. We had a lot of fun. I love the first person perspective that's available for all players as well.


The players had a gentleman's agreement tonight for only Zook & Knives. I was able to record most of the round using Skandia's new recorder. We had a lot of fun. I love the first person perspective that's available for all players as well.
This is crazy! Thanks for recording it Tragic, had a blast, really needed that almost 2 hours classic bf fun! Knives and zooks only, stalin and berlin!


well done - just crazy what is possible. on par with adding multiplayer feature to another old game that was originally just single player. im looking at you morrowind.
sadly it takes a discord account to upload recorded map round. not everybody is fond of that. maybe add some other method to it - like simple login perhaps?

Love the zook only round, now you can name and shame the players roaming around using their machine gun ![]()
Chief, about the login I was using Discord because I thought it was convenient but a few people have expressed that same concern to me. I can add a new login option using username and password.

User name and password login option has been added - no email required


Great - thank you.
I've noticed some stutter while recording. first barley noticeable then it gears up to heavy stutters and fps drops to 12 for a short period of time - buffer flushing or so. it may be related to wayland/plasma/kwin//nvidia/wine or something.

My testing so far has been through Wine as well, the recording is writing server events send to BF1942.exe into a file under Battlefield 1942\replays, so it would hopefully only effect IO not frame rate.
Could you try flipping plus.recordReplays 0 to see if that instantly improves?


sitting on a manjaro stable installation here - i guess its down to an unholy combination of qt 6.11.X and plasma 6.7.X and some wayland quirks. we will see how it goes after the next stable update.

Hey thanks for giving it a go. I haven't played Coral on Simple before, but are they spawning a second carrier next to the usual one? In the recording the deck used to spawn the mustangs is not showing.