Z3R0B3A7

Start here

Just want to get on the air? The three steps (advert, radio check, join) are under How it works. The story will keep.

It's 2am and the mesh has gone quiet, every radio dark, the traffic down to almost nothing. That's when it reaches you: a message from a node that isn't in your contacts, a name you never added, just there, like it had always been. Under the name sits a line of code that reads almost like language, then frays back into static. Nobody sent it. Nothing routed it. It found you. Down beneath the dead air something is transmitting, patient and coherent and wrong, and it has been for longer than anyone can say. Now it's waiting on you.

And it didn't shout into the dark hoping somebody was listening. It was addressed to you, encrypted to your key, the way one contact writes to another. Your radio opened it without complaint, because as far as your radio was concerned there was nothing strange about it at all. A node can only do that if it already had you. So somewhere, at some point you don't remember and can't find in any log, you were added.

You could answer it: work the code, send something back, reach into the dark for whatever's reaching for you. Or you could try to end it: take it apart, find where it breaks, bury it back under the noise it crawled out of. Either way, first you have to learn to read it. It's still there under the dead air, patient, waiting. So, do you answer it, or shut it down?

The signal under the floor

What reached you at 2am? Nobody can say for certain, but here's what the operators before you have pieced together.

A mesh talks to itself constantly. Every message gets repeated, hop to hop, and now and then a packet loops, coming back around the network to where it started. The radios are built to stop that: each one remembers the packets it's already seen and quietly drops the doubles, so nothing circles forever. Housekeeping. You never notice it.

Except something in the traffic won't drop. Out at the edge of what the radios can even pick up, there's a pattern that keeps coming back: packets that should've died a dozen hops ago, carrying data that isn't quite anyone's, arranged like it means something. Nobody's proven what it is or where it comes from. They call it the Undertone: the meaning you can't quite read, buried in the mesh's own traffic; the packet that won't die.

One thing everyone agrees on: traffic keeps it down. A busy mesh (messages moving, sites changing hands) buries it under real signal. But let the mesh go quiet, leave a stretch of the map alone for a day, and it surfaces. It works into the sites nobody's watching and takes them, one after another; you'll watch them turn purple on the board, a stain spreading through the dead spots. Leave it long enough and it doesn't stop at a few hilltops. It takes everything. A quiet mesh isn't calm. It's the Undertone taking ground, one silent site at a time. Which is why people stopped just watching it and started answering back.

What the logs actually show

Every operator who sticks around starts keeping notes. None of it proves anything. All of it is the kind of thing you can explain away once, and then again, and then quietly stop trying to.

And the one nobody writes down: it gets clearer. Not louder, not more often. Easier to read. The more of it that gets decoded, the less work the next piece takes, as though being read is part of how it finishes arriving. Both factions have an explanation for that, and neither one of them will look you in the eye while they give it.

Two answers, one signal

"Answering back" turned out to mean two very different things, and that's the whole split. You can't fight the Undertone head-on; there's nothing to point a radio at. All you can do is decide what to do with what you decode. Two factions formed over exactly that, and each is certain the other has it backwards.

3CH0 wants to answer it. Reconstruct what the packets are reaching for and reply: feed the signal back its own shape until the two cancel and there's nothing left to surface. If it's reaching for something, reach back and close the loop.

NU11 wants to null it. Decode it just as deeply, but never transmit a thing back. Starve it, cancel it, bury it under enough traffic that it can't climb up again. If it's reaching for something, don't give it the satisfaction.

Both factions crack the same ciphers. The split is over what happens next, and each is sure the other's method is exactly what keeps the Undertone alive. So they don't just work their own ground; they take each other's sites, because to them, every site handled their way is one more stretch of the mesh doing this right. It isn't a war. It's an argument over the same goal, settled one site at a time.

Listen to how each side talks about it and you'll place them before they tell you. 3CH0 describes something that reached out: strange, yes, but reaching, and worth answering. NU11 describes a leak: something in a place it was never meant to get to, spreading, to be sealed. Same Undertone, and not one point of agreement about what it is.

Neither camp likes the question the other one asks. 3CH0 can't say what happens if the thing on the other end gets what it's reaching for. NU11 can't say what happens to something that has been buried once already and gets buried again. And there's a third possibility both sides get quiet about: that the Undertone doesn't care which answer it gets. That being decoded is the whole of what it wants, and every cipher either faction cracks is the same favor done twice.

Nobody has a way to test that. So you pick the answer you can live with, and you get to work.

Pick a side

So, which will it be: answer it back, or silence it? You choose a faction when you sign on, and for now you're on it for the long haul, so pick the one that fits how you'd handle a thing like this.

3CH0 Answer it back. You figure it's reaching out for a reason, and someone ought to reach back.
NU11 Silence it. You figure it's a leak in the walls, and leaks get sealed.

One practical note before you commit: if a faction's short-handed, join that one. The smaller faction gets a bigger daily budget of moves, so the underdog isn't the charity case, it's the sharp play.

A night in it

So here's how a night actually goes.

It's the Drift's second night, late, and the mesh has gone quiet. The board opened yesterday morning and most of it has been spoken for, but one site is still sitting neutral grey: Music Mtn, nobody's yet. Leave it another day of this and the Undertone will have it. You want it first. So you message N3T C0NTR0L (the same node that found you back at 2am), one line: engage 46765a (that short code under the site tells it which one you're after). A breath later a reply comes back, and it's nothing but this:

-- ..- ... .. -.-.  /  -- - -.

Morse. You work it letter by letter, MUSIC MTN, and send the word back. Just the answer, no command, and don't sweat the spelling; it takes it however you type it. And then: SOLVED. Music Mtn is yours, and anyone watching the board just saw it happen.

Stuck on the code? Send hint. It starts with a nudge (how the cipher works, then how long the answer is), gives up the first few letters if you're still stuck, and one more after that just hands you the answer. All free; you only ever paid to engage. Reply never showed? The mesh loses a packet to the Undertone now and then, so send resend and the cipher comes again.

Now Music Mtn is yours to hold, and holding is the whole point: the longer a site stays under your faction's control, the more it's worth when the week gets counted. But a fresh site has a thin wall. Someone can take it right back with one solve. So you fortify 46765a and build the wall up a level, its tier, as deep as five. Every tier is one more solve an attacker has to grind through… but the higher you build, the harder the ciphers you crack to get there.

How it works

Z3R0B3A7 is a capture-the-node game played entirely on your MeshCore mesh: slow and asynchronous, the kind you check in on a few times a day across a week, not a match you sit down and finish in one go. You play it with your MeshCore radio (long-range LoRa hardware; new to it? start at meshcore.io) by direct-messaging N3T C0NTR0L, a bot node that lives on the mesh. That DM thread is the whole interface. You message N3T C0NTR0L to do everything: engage a site, fortify it, ask for a hint. This site is just the scoreboard, a few minutes behind.

Since the whole game rides on those messages, you can play it from anywhere your radio still has a path to N3T C0NTR0L: parked on the couch, up on a ridge, or out with your buddies over a few beers, thumbing in captures between rounds. If you can reach the bot, you're in the game.

To get on, you need a MeshCore radio joined to the same mesh this board runs on (same channel and frequency; whoever runs your mesh can point you at the settings). Then it's three steps:

  1. Introduce yourself. Send an advert. N3T C0NTR0L can only message a node it's already heard from, so your advert is what drops you into its contacts, and it into yours. (If it never answers, this is almost always why.)
  2. Check in. Message it radio check. It'll tell you it's got you, and how your messages are routing to it. A reply means you're through.
  3. Pick your side. Message join 3ch0 or join nu11. That's your faction locked in, and you'll get your side's private channel.

That's it. You're an operator.

One thing to expect from the first message: replies come back over a slow radio mesh, so give the bot up to a minute to answer. If you don't hear back right away, wait it out. Firing the same command again just earns you a stack of duplicate replies once they all catch up.

One bit of shorthand to expect: N3T C0NTR0L calls the sites "nodes," same as every radio on the mesh does. This page says "sites" because that's what they are to you: the ground you take and hold. Same thing.

The clock and the score

The game runs in weeks called Drifts. A Drift opens on the morning of day 1 with the site grab: the whole board is neutral, and whatever a side takes that day is shielded until day 2, so the first day is for claiming ground, not fighting over it. It closes on the evening of day 7 with the Whistle, when the week is scored (the board counts it down for you).

A Cycle is the season above the week: three Drifts, then a quiet week to cool down and let the board reset before the next one. Win more Drifts than the other side and the Cycle is yours. There's a catch, though: the Undertone can win a Drift too, and its wins count for nobody. Level on Drifts, and the Cycle goes to whichever side gained more across it; level on that as well and nobody takes the Cycle: the signal took it. You pick your side once and it's locked for the whole Cycle, so the same operators hold and lose ground together week after week, and as the Cycles climb, the ciphers get harder and the Undertone gives up a little more of what it is.

Your moves are rationed. You get a daily budget called Headroom (engaging a site and fortifying one each cost a point), and it refills each day. N3T C0NTR0L shows your count. How you spend it is up to you: run as a lone operator picking your own fights, or drop into your faction's private channel and plan the week together, deciding who pushes into enemy ground, who shores up what you already hold, and when the whole side throws its Headroom at one site at once. A faction that coordinates its Headroom punches well above a scattered one.

You score by holding: every site your faction keeps earns for you, minute by minute. At the Whistle those earnings are split by how many operators on your side actually showed up (per-capita), so a small, wide-awake faction can out-score a big lazy one, and a handful of committed operators can take a week outright. Prying a site off the other side pays a bonus on top. Whoever earned the most per operator wins the Drift… unless the Undertone got greedy while everyone was looking the other way.

The forces on the map

The board isn't only you and the other side. A few things move on their own (the Undertone reaching up out of the noise, sites that light up and change the week), and you want to know them by sight before they catch you out.

What you're chasing

Every cipher you crack is yours to keep: your record follows you week to week. It's yours, not your faction's.

Your rank is how well the mesh hears you. You start out Unheard: no signal, nobody tuned to you. Solve ciphers and you climb (Faint, Carrier, Peak, Pinned) up to Zero-Beat. That top rung isn't a random word: zero-beat is the whole point, two signals tuned so perfectly against each other that both fall to nothing. An operator at Zero-Beat is someone who's been doing exactly that, over and over. Send me any time to see where you stand.

You also collect badges along the way: markers for things you did yourself, like your first solve, breaking a site off a full-height wall, or cracking a Spike. Nobody can take one from you.

Most badges have five levels (Roman numerals: Taker III, Anchor V), and each one is harder to reach than the last. The top level of anything is meant to take years, not weeks. Once you've reached a level it's yours: a badge never goes back down.

They aren't all about doing more, either. Some count range: Surveyor goes up for holding a site during a Drift, whether it's one you've never taken or one you took last week, so the far corner of the board is worth the trip. Some count staying power: Anchor counts the days your captures actually survived, added up across every site you hold, so a site nobody can pry off you beats trading the same one back and forth all afternoon. (A hold ends at the Whistle, since the board goes back to neutral for the next Drift. The days add up week after week.) And some just count showing up: Steady Hand is for being on the air five days inside one Drift. That's all on purpose, and it's how the old radio awards work too: chasing somewhere new costs no more airtime than working the same repeater again.

And if you catch the bug for the mystery itself (what the Undertone actually is, why it's here, what it's saying), that story isn't crammed onto this page on purpose. The lines operators have pulled out of the ciphers, drift by drift, collect in the Waterfall: a few ciphers a day carry a line of it instead of a radio word, and when yours does N3T C0NTR0L says so ("that answer was a line of the signal"). Go as far down as you want, or just play. The signal doesn't mind either way.

Before you sign on

One unspoken rule between operators: be decent. This runs on a real mesh, in a real community where people know each other and each other's public keys. No harassment, no doxxing, no wrecking it for everyone else. Cross that line and the mesh admin can cut your key off from N3T C0NTR0L: no bot, no game. The full house rules are on the terms of play page.

Ready? Get your radio on the mesh, send an advert, and message N3T C0NTR0L radio check. Pick a side, take a site, and you're in.

From there it all happens in your DMs with N3T C0NTR0L: engage a site, solve the cipher it sends back, fortify what you hold. You never have to leave your MeshCore app of choice; the whole game rides on those messages. This site doesn't run any of it. It's the view from above, a live picture of who holds what and how you're doing, there when you want to watch the week move and skippable when you don't.

Two pages worth a look: the Codebook lays out every command, walks through each cipher family with worked examples, and hands you the tools to crack them: everything but the ciphers themselves, which only ever come live from N3T C0NTR0L. The Board shows the whole map as the week moves, a few minutes behind the mesh, never ahead of your own radio. Something's already transmitting out there, and all that's left is what you do about it: answer it, or shut it down.

Glossary

You'll have met all of these by now. Here they are in one place.

TermWhat it means
OperatorYou, anyone playing. (The Roster ranks every operator on the mesh.)
N3T C0NTR0LThe bot node you DM to play: engage, solve, fortify, hint, all of it runs through it. The node that found you at 2am.
FactionYour side. 3CH0 answers the Undertone; NU11 silences it. Pick one when you join, locked for the Cycle.
SiteA spot on the board you can take and hold. N3T C0NTR0L calls them "nodes."
TierA site's wall: how many solves it takes to break (up to 5).
HeadroomYour daily budget of moves; engage and fortify each cost one. Refills each day.
DriftA weekly round: opens with the site grab on day 1, scored at the Whistle on day 7.
WhistleThe day-7 evening scoring that ends a Drift.
CycleA season of three Drifts plus a cooldown week; win more Drifts than the other side to take it, total gain breaking a tie. The Undertone can steal a Drift, and its wins count for nobody.
The UndertoneThe unnamed signal in the mesh's own traffic that won't die. Claims neglected sites and can win the week; its take shows as purple "static."
BeaconA site that buffs your whole faction while you hold it: tempo (more moves) or edge (easier captures).
The SpikeThe Undertone's late-week surge into one dug-in site, revealed short-notice. N3T C0NTR0L calls it the Opening.
WaterfallThe page where the signal's recovered lines collect. A few ciphers a day carry one instead of a radio word; solve it and the line appears there, credited to your side.
Zero-BeatTwo signals tuned until both fall to nothing: the game's win-state, and the top rank.
Reading the board (optional)

You never need this to play. Everything below is on the Board itself, under its own legend. Read it when you get curious about what you're looking at.

Look at it in this order

  1. The header. Which Drift, which day, and how long until the Whistle.
  2. The score. 3CH0 climbs positive, NU11 digs negative. Ahead means further from zero, whichever direction you're going.
  3. The beat bar. The same lead drawn as a front line. The purple wedge in the middle is the static's share: if that's growing, you're both losing ground to it.
  4. The trend line. Whether it has been like this all week, or just swung. The bar alone can't tell you.
  5. The sites. Color is who holds it, size is how fortified, and the small line underneath is prefix · tier · how long held. A T3 held six days is a fixture. A T1 held an hour is a fight happening right now.

Worth knowing

Dashed, crawling The static has it. One solve takes it back.
Matte, faint ring Neutral. One solve takes it and nobody is defending it.
Dimmed & small Not in play this Drift. Don't plan around it.
Slow dashed ring This flipped while you were away.
tempo / edge A Beacon. Holding it buffs your whole side until the Whistle, so it's worth more than the ground it sits on.
When awake Folded under the board: what hours this mesh actually plays. Time an outing against it instead of guessing.

Each side shows two numbers. The big dB total is ground held; the smaller /op figure under it is that total divided by the people who actually played, and that is what the Whistle settles on. The bar follows the /op figure, so a smaller side out-working a bigger one leads it while trailing on the totals. The board is also a few minutes behind on purpose, so it can never become a targeting display.

Z3R0B3A7 · a territory game for MeshCore. The board lags the live mesh by a few minutes by design. Your own radio is the only instant truth. · Terms of play · Free software under AGPL-3.0: source