Cozy Coast multiplayer runs on zero servers, choom
Cozy Coast shipped a multiplayer hub with no backend at all, choom. Steam handles lobby discovery, connection brokering and packet relay, and the host relays angler state.
Cozy Coast shipped multiplayer this week and I run no servers for it. Not a small managed backend. Not some serverless daemon that wakes up for lobby matching. None, choom.
The game is an idle fishing widget that squats in the corner of your screen while you grind. Until this week that was the whole thing: one window, one dock, one angler. Now you step off the dock and walk into a hub village, and your Steam crew walks it with you.
Where does the multiplayer actually run?
Steam does the parts that normally need chrome. It holds the lobby list, so an angler asking “what hubs are open right now” is asking Valve’s matchmaking, not a service I pay eddies for. It brokers the connection between two rigs. And when a direct route between them is not there, which happens constantly behind home routers and corpo NAT ICE, Steam relays the packets itself.
Once a connection exists, the host calls the shots. Every client sends its position to the host, and the host fans that out to everyone else in the room. Your outfit rides along with it, so the threads you picked in the wardrobe are the threads the other anglers see.
My infrastructure bill for the whole feature is zero eddies, and there is nothing to drag me out of bed at two in the morning. For a solo runner that second part matters more than the first.
The trade-off, said straight
When the host deltas, the room flatlines. Everyone gets walked back to their own coast, where their line goes straight back in the water. There is no host migration.
I could have built it. Migrating a host means electing a new one, handing over authoritative state, and handling the window where half the room thinks one rig is in charge and half thinks another is. That is a real distributed systems problem, and it is a lot of code to make a village outlive the choom whose village it was.
The hub is somewhere you drop into for ten minutes between casts. Pretending a room can outlive its host would have burned weeks and bought scrap. So the room ends, and the game tells you straight that it is ending.
What the saves do
Progress lives in Steam Cloud, so your coast follows you between rigs. The save file is encrypted with a key derived from the Steam ID that owns it.
That buys two things at once. The save is not casually editable, so a text editor and five minutes will not hand you a million eddies. And it is not portable between accounts, so a maxed save cannot get passed around the crew. The cost is that a save is welded to its account for good, and I took that deal. Alongside it, an unreadable save is never overwritten and a local backup is kept, because the failure mode that actually scares me is not some gonk cheating. It is a corrupt write eating somebody’s hundred hours.
What is true in this release, and what is not
Worth being specific, choom, because “multiplayer” promises a lot of things it does not do here.
It does: host a hub or join one, walk the same village and see each other move, show the threads you are wearing, four emotes on a hover wheel, and a host player list with a kick and a ban you can lift later from a Bans tab.
It does not: share progression or hand out co-op rewards. The hub earns nothing. Eddies are still tied to fish caught at your own rod. The shops in the village are placeholders with a “coming soon” board on every building, because the kitchen, the crops and the bar are still future work. There is no text chat and no voice chat, neither exists. Eight anglers is the working default rather than a locked call.
The missing chat is deliberate. The whole premise is a small window you ignore while you grind, and a chat box in the corner of your screen is the opposite of ignorable.
This has been tested with a handful of anglers, not a crowd. If you want to help me find where it flatlines, it is on Steam for Windows and macOS, and the coast is at cozycoast.website.