Far Signaldevlog

Room for everyone (eventually)

6 October 2026

Far Signal's going to start out on one server box, so this one's about what happens when that box fills up, and the groundwork for spreading the universe over more than one box later on.

The universe is full

The server has a player cap now that can be changed while it's running, and when the universe is full newcomers aren't just turned away, they wait in a queue on the same connection and can see their place in it:

Universe full: you are next in the queue
Universe full: you are next in the queue

As soon as there's room the first in line comes straight in, nobody gets to jump the queue, and admins (so me) can always get in, which means I can still sort things out on a busy night.

Measuring the real box

I've started running the benchmarks on the actual server box too, limited to 4 of its 6 cores so it keeps serving while it's being measured, and with test players it carries about 2,650 players in a one-second tick. The network's got loads of room to spare on top of that, since the box has a 2 Gbit/s connection and a player joining costs a burst of about 270 KB and then almost nothing while nothing around them changes, so it's the CPU that'll decide how many fit. The dashboard shows the queue, the cap and the network traffic now as well, so the call to add a second box can get made early and calmly rather than in a panic.

Moving between servers, cheaply

Space is split into regions with each one run by a shard of the server, and when your ship crossed from one into the next it used to get re-sent to you from scratch, its layout and every part and cable. Now your game keeps what it's already got and the new shard only sends what's actually new:

Moving between servers
Moving between servers

So a small ship's layout costs about a dozen bytes instead of 20 KB, its parts and cables don't get sent at all, and the only thing that goes again is its marker on other players' scanners. Nothing in the game gets rebuilt either, the ship you're standing in just gets a new number. I also found and fixed a bug along the way that would've stood you up and plonked you at your own airlock every time your ship crossed into another region, which would've been a fun one to find mid-flight haha.

Ready for a second box

When one box isn't enough, the server can already send a player on to another one, and the game connects to the new box while the old one keeps serving, switches over once it's ready and then lets go of the old one. In testing a switch takes a fraction of a second, anything you do during it waits and goes to the new box, and your crewmates don't vanish. I've also planned how to make the switch invisible, by having it happen during a warp and keeping region borders well clear of stations so it never interrupts docking.

← all posts