Skip to content

WARDOGCOMMS

Cross-squad radio nets for WARDOGS. The game gives you squad voice and proximity and nothing else, so the supply run, the air net and the command net have nowhere to live. Here they get nine frequencies that each sound different.

In development TypeScript Node Tauri SQLite Earshot

How it's built Get in touch

A tactical map board: a kilometre grid with landmarks and a plotted artillery contact, beside a panel of radio nets showing signal meters.

What it does

Nine nets, on one radio

Command, assault, air, armor, artillery, logistics, medical, recon and staging. Your in-game role tunes you to the matching one by default — roles are defaults, not doors, so anyone may join or leave any net.

Each net sounds like itself

Every frequency carries its own audio character, so with three of them live you know which one is talking before you have parsed the words. A fire mission cuts through a supply run; only command ducks it.

The join code is the product

A squad that forms in a voice room still has to arrive on the same server, so the code gets the top panel — with how long it has been stable, because it rotates whenever the server restarts.

A server list sorted for the gap

The live WARDOGS server list, sorted by populated and joinable rather than by headcount. Community servers are bimodal — barely one percent sit between ten and fifty players — and that band is the whole point.

A map on the audio's partition

The shared board is keyed on server and faction, exactly as the voice is, because a marker reading "two tanks behind the ridge" is worth more to the enemy. Anyone may draw; marks expire after thirty minutes.

Firing solutions that admit what they know

Bearing and range are trigonometry and exact. Elevation is a lookup anchored to readings players took, so every solution is labelled verified or interpolated rather than printed in one confident typeface.

How it's built

A TypeScript control plane on Node decides membership at the moment a player joins, and the client cannot change it afterwards. Voice runs on Earshot: a net is a rule with a partition, a priority and a ducking behaviour, so two factions being unable to hear each other is a property of the rule set rather than of how the media server happens to be deployed. The web client is TypeScript and Vite, and the desktop build wraps that same bundle in a Tauri window that sits over the game — a browser only receives key events while it has focus, so push-to-talk needs a real window rather than a tab. It draws nothing into the game and hooks nothing, which is deliberate in a title that could add anti-cheat in any patch.

Nothing verifies which faction a player is actually on; WARDOGS has no SDK to ask. So membership is marked self-reported in the interface rather than quietly implying a check that does not exist — a room that says what it can promise is better than one that overstates it.

Voice engine
Earshot — nets as partitioned rules, with priority and ducking
Server
TypeScript, Node, SQLite, server-sent events for the map
Web client
TypeScript, Vite
Desktop
Tauri — a frameless, always-on-top window for global push-to-talk
Map and artillery
The game's own kilometre grid and coordinate readout; solutions labelled verified or interpolated
Server list
Live WARDOGS servers from wardogservers.com
Affiliation
An unofficial community project. Not affiliated with or endorsed by the developers of WARDOGS
Status
Early. The rule set is written and tested and the server and clients are being built; nothing is deployed and nobody has used it yet

Back to all projects

Questions about this build?

Happy to go deeper on any part of it — the frequency plan, the ballistics, the rest.

Get in touch