← Return to topic

My browser port of Quake 3 just passed 1 million recorded frags and 12000 players

Ghostfox · 10 Sep 2026 at 02:37 · permalink

A few months ago I posted an update here about Q3JS, my browser port of Quake 3.

Since then I've mostly just kept building, fixing things, and watching people play it.

Q3JS has now passed 1 million recorded frags, with over 12,000 players on the scoreboard.

https://q3js.com

It's pretty wild to see those numbers for something that started as an experiment to see how well Quake 3 could run in a browser.

The part I've enjoyed most is seeing Q3JS turn into an actual little Quake 3 community rather than just a browser port. People are hosting their own servers, playing CPMA and CTF, loading custom maps, climbing the rankings, and coming back to play.

One of the bigger additions recently is push-to-talk voice chat. It's optional, but if you're playing with other people you can now talk directly in-game without needing Discord or anything else running alongside it. It makes jumping into a server and playing together feel a lot more complete.

There are also mobile controls now, so you can actually play Quake 3 on a phone or tablet, as questionable as playing Quake 3 on a touchscreen might sound.

I've kept working on the less visible parts too. Server hosting is easier now, there's a Docker image and hosting documentation, and I've continued improving networking, compatibility, and the general experience of jumping into a game.

The stats side has grown quite a bit too. Player profiles now track weapons, maps, victims, nemeses, and activity, with rankings across different time periods.

It's been great watching this go from a technical experiment into something people actually come back and play.

The project is open source:
https://github.com/lklacar/q3js

Feedback, bug reports, and contributions are always welcome. If you enjoy the project, a GitHub star helps other people discover it.

Just to clarify, Q3JS only uses demo files and does not distribute any original game files that it shouldn't.

Happy fragging.

xXLashkeXx · 10 Sep 2026 at 02:37 · permalink

cool

howveryGracie · 10 Sep 2026 at 02:38 · permalink

Congrats!

filooss · 10 Sep 2026 at 02:38 · permalink

Yes totally awesome. Will try this out asap! Congrats on your milestones!

Alexzanderj14 · 10 Sep 2026 at 02:38 · permalink

And I'm struggling to get people play my Extraction Quake mod. Still happy for you tho!

Ghostfox · 10 Sep 2026 at 02:39 · permalink

Come host a server on q3js, I added support for custom mods

Alexzanderj14 · 10 Sep 2026 at 02:39 · permalink

Seems like ultrawide support is off(

Alexzanderj14 · 10 Sep 2026 at 02:40 · permalink

It’s q1 🥲

kodykapow · 10 Sep 2026 at 02:40 · permalink

Great feeling - seeing a community spring up around it and the project taking a life of its own. Congratulations!

ziguadongnange · 10 Sep 2026 at 02:40 · permalink

New challenge: make it run in a browser so there is zero setup for players.

Alexzanderj14 · 10 Sep 2026 at 02:41 · permalink

Yeah

dragon5layer972 · 10 Sep 2026 at 02:41 · permalink

I joined on my phone thinking it wouldn't work and holy shit it works. You are a legend.

vch23626 · 10 Sep 2026 at 02:41 · permalink

q3 is legendary for having every little community in their own version of the game. does this use a net protocol unique to it, or does it allow play between some other version of the game?

vch23626 · 10 Sep 2026 at 02:42 · permalink

Holy shit. I just tested it for 5 mins and it works so incredibly well. Great job!