04 · Development note · FrostZero

How online play works over the relay.

From a third party address to our own relay server: the background of online sessions in FrostZero.

Online sessions in FrostZero run on a player host architecture: one player sets up the table and the others join. We used to connect over a third party relay address (bore.pub); now we route through Cardlab's own relay server instead.

The relay runs on a Raspberry Pi and is exposed behind Tailscale Funnel over TLS. When you host a room you get a code shaped like FZ-RXXX-XXXX-XXXX to share with the others; the guest does not need to install or configure anything, and no ports need to be opened.

We tested this setup between two separate computers over a real internet connection: one hosted the room, one joined as a guest, and across an automated match all 132 states we tracked matched exactly between host and guest.

Even if you are on the same Wi-Fi network, there is nothing extra to set up: the connection still goes through the same relay, so sharing the room code the normal way is enough. When we move to Steam later on, Steam's own network will take the relay's place; the rules of the game will not change because of it.