Phaethon

news / / 8 min read

Bringing Jak X online, the direct way

Jak X's online menu has been a dead end on Phaethon since the first build. Its racing code starts as the disc has it, the layer under it is new, and on October 22nd two machines raced over LAN for the first time.

Six PCs running Jak X, each linked to a relay server in the middle marked as the default, and two of them also joined directly by a gold dashed line arcing over it
By default every race goes through the relay; two players who both choose it go direct.
a network layer of Phaethon's own
Homegrown
direct play skips the server's hop
Performance first
the relay keeps every address hidden
Private by default
on this page
  1. Direct or relayed: your choice
  2. The pieces
  3. How this differs from Horizon
  4. Past what the PS2 did
  5. How we are testing it
  6. Where it stands today
  7. What is left

Jak X shipped with online racing, and for a few years people raced each other over Sony's service. That service has been gone for a long time. The community brought it back with replacement servers such as Horizon, which the original disc can still reach today from a PS2, or from a PC through the PCSX2 emulator. This port is a different thing: Jak X running natively on a PC, with no emulator and no disc, and here its online menu has been a dead end since the first build. We are bringing it back, and we are doing it in a way that can be faster than the original and does not have to depend on anyone's server staying up, including ours.

Here is the shape of it. The part of Jak X that keeps six cars in sync, the code that decides who owns which car, predicts where everyone is between updates and settles a collision when two players see it differently, is still in the game. Naughty Dog wrote it, it ran every race on the PS2, and it is where we start: online play comes back on that code as the disc has it. What died with Sony's service was the layer underneath it: the library that carried every packet to a server in the middle and back out to the other players, and ran the lobbies. That layer is what we are replacing, with one of our own.

Direct or relayed: your choice

The new layer can connect players to each other directly. On the PS2 every packet went to Sony's server and back, which added a hop to every message. Ours can go straight to the other players, and a race between players who choose that has less lag than the original ever did. It also means that race does not care whether our service is reachable. If our server goes down in the middle of it, the race keeps going.

Direct connections come with a catch that anyone who has played a peer-to-peer game knows: the other players can see your address. So by default a race goes through our relay instead, which keeps every player's address private, and the game plays the way it did on the PS2, with a server in the middle. Anyone who wants the lowest lag can turn the relay off in the launcher. When two players have both turned it off, they connect to each other directly; everyone else in the race stays on the relay. You choose, per player, and the default is the private one.

The pieces

  • The game's own racing code, as the disc has it for now, on top.
  • Our layer under it: the connection, the shared clock the cars run on, and the bridge into the game's code. This is the part that replaces Sony's library.
  • The launcher, which signs you in. Online play uses the same Phaethon account the launcher already has, so there is no second login and nothing to type in the game.
  • Our service: the lobby that lists games and lets you join one, and the relay above. It never has to be in the path of a race unless you leave it there.
  • LAN play, two machines on one network, which never touches our service at all, and joining a friend by address, which does not either.

One more thing you will not see: the PS2 asked you to pick a network configuration from your memory card before any of this, and checked for the network adapter. A PC has one network connection and the game simply uses it. There are no setup screens.

How this differs from Horizon

There is already a way to race Jak X online today, on a PS2 or on a PC through the PCSX2 emulator: community projects such as Horizon rebuild Sony's servers so that the original disc, unchanged, can log in and play as it did in 2005. That is the right design for a console, and for an emulator running the console's disc, because nothing on the disc can be altered, and those projects deserve the credit for keeping the PS2 games alive online and for documenting how Sony's service spoke, which helped us read our side of it.

It also means they inherit the service's shape whole. Every packet of every race passes through the server in the middle, the race ends if that server goes away, and the lobby is the one the disc had, down to the account you sign into. We are in a different position: we have the game's code, so instead of rebuilding Sony's side we replaced the layer under the game. The relay is a choice rather than the only road, LAN play and direct play work with no server anywhere, the account is the one you already have in the launcher, and the lobby is ours to grow. One honest consequence: a PS2 or PCSX2 on Horizon and Phaethon cannot race each other, because they no longer speak the same wire. For the foreseeable future, Phaethon players race Phaethon players. That could change if we and those projects can work together on a proper bridge between the two. What we will not do is make Phaethon act like a PS2 to reach their servers: that would bring back the network adapter setup and the redirected DNS servers a console needs, and a native PC game should never ask anyone for either.

Past what the PS2 did

Bringing back what Sony's service did is the first job, not the last one.

The relay will grow past the disc. Today it carries the races the game always had. Later it will host game modes the original never shipped, and races with more players than the PS2 ever allowed.

The racing code gets a pass of its own. It was written for a 2005 console on 2005 connections, and it plays like it. Once online play works the way it did, that code gets a modern update: the other cars easier to follow and smoother on screen, and the PS2 era's network rough edges gone. That is a change the revival projects cannot make, because it lives in the game, not on the server.

How we are testing it

Every piece under the game is checked the way the rest of Phaethon is, by automated tests that run on every change, including a simulated network that loses and reorders packets on purpose. The game itself is tested by running two copies on one machine, which is how the first join and then the first race happened, and then on two machines on one network, which is how the first LAN race happened.

The order from here: LAN play in your hands first, since it already works; then the internet, once its transport and the relay are built, in a closed test with people who volunteer, before it opens to everyone. Each step gets its own post, with what worked and what did not.

Where it stands today

The pieces under the game are built and tested: the connection, the shared clock the cars run on, and the bridge between our code and the game's. The game's own online road is back from the disc, from the menus all the way to the finish: one copy hosts a game, the other finds it in the game list and joins, both sit in the ready room together, and the race starts on both. This week two copies of Jak X on one machine raced each other for the first time, every car moving on both screens, the AI drivers included, with shots and hits crossing between them and the pause menu working on each. Getting there meant finding and fixing a handful of pieces the original only ever ran with a second console on the other end, which is exactly what this kind of testing is for.

Then we raced two machines on one network, each with its own copy of the game. A laptop hosted, its game showed up in the desktop's game list on its own, and the desktop joined it. Both cars drove on both screens, the AI drivers with them, and the two race clocks agreed to within a few hundredths of a second.

Two machines racing Jak X over LAN, the desktop on the left and the laptop on the right, both on lap 1 at the one-minute mark
The first LAN race on October 22nd: the same race on two machines, one minute in, lap 1 of 3 on both screens.

That race found one more piece of the same kind: a weapon fired by a car on one machine crashed the other, because a PC reads one value wider than the PS2 did. The cause is found, and the fix is under way.

What is left

LAN play works today, end to end: a game hosted on one machine is found by another on the same network, joined, and raced. That part is done.

What is left is the internet. The transport that carries a race between two homes is still being built, and so is the Phaethon relay that sits in the middle of it by default, with the lobby beside it. Alongside them go smaller fixes like the weapon crash above, in parts of the game that only run with another player on the other end and so never ran once in single player. LAN play comes to you first, while that work goes on.

No dates. When it is ready you will be the ones testing it.

Alex (maintainer, and a mechanical engineer by trade)

Oct 22, 2026 · games · onlineEvery post
Phaethon

Built with AI in the loop. Phaethon uses AI assistance for speed and accuracy, and holds it to the same bar as every other contribution: every change is read, tested and checked against the console before it lands.

develop 6332c399 CI green v0.2.1 Nov 4, 2026

Phaethon is an unofficial fan project. It is not affiliated with, endorsed by or associated with Sony Interactive Entertainment, Naughty Dog or the OpenGOAL project. Jak and Daxter is a trademark of Sony Interactive Entertainment. You need your own copy of each game. Icons from Lucide, ISC; JetBrains Mono under the SIL Open Font License.

Under construction

This site is still being built.

Nothing links to playphaethon.com yet, so you have found it before it is ready. Some of what it says may be wrong, out of date or attributed to the wrong source. Treat it as a work in progress until this notice is gone.