Faction ops · self-hosted

Win wars. Hold chains.
Never race a teammate to a target.

Real-time target coordination for Torn City factions. Race-free claim queue, live chain watcher, group attacks, ranked-war sync — one console, every member on the same page within 100 ms.

Self-hosted Open source Installable PWA Phoenix LiveView
Rollout

How it works

Closed registration by design. Your faction owns the data, decides who gets in, and pays zero SaaS tax.

  1. 01

    Seed your faction

    Spin up the container on your own infra. Super admin creates your faction record and pastes in the Torn IDs you want to allow.

  2. 02

    Members register

    Each member paste-verifies their Public API key. The key is encrypted at rest and never surfaced to teammates or leaders — just usage metrics.

  3. 03

    Coordinate live

    Claim, release, schedule attacks, watch chains. Every member sees the same state within 100 ms over a single LiveView socket.

What's inside

Built for faction ops

Everything a faction needs to coordinate during a war, before a chain break, and after the dust settles.

Race-free claims

An atomic claim queue. Two teammates tapping “claim” on the same target at the same second? Only one wins. Backed by a GenServer and a partial unique index — no doubles, no awkward Discord pings.

Chain watcher & planner

Live MM:SS countdown to your chain break. Threshold alerts pulse the banner and fire a short audio cue at 120 s and 60 s. Schedule main + backup watchers with a rota; after-action reports show who held what.

Group attacks

Coordinate multi-hit kills against a single target. Assign roles (primary, wait, leave-alone), set a fire time, everyone goes on the same second. The target is locked to your faction while scheduled.

War mode

The /war page is purpose-built for ranked wars. Opponent roster auto-seeds from Torn's API. Score tracker, hourly auto-refresh, crimson-pulse navigation when a war is active. Zero config.

Faction key pool

Members opt in to contribute their Public API key. Polling requests round-robin through the pool to stretch the 100/min budget across 20+ members. Leaders see anonymised usage metrics — never the keys themselves.

Push notifications

Web Push alerts for hospital exits, expiring claims, group attacks firing, chain-slot starts. Works on desktop and iOS / Android PWAs. Opt in per kind — or opt out entirely.

Guarantees

What we won't do

  • Never see your plaintext keys

    Keys are AES-GCM encrypted at rest with a per-deploy key. We never log them, transmit them, or surface them to any user — not even leaders.

  • Never touch your data

    You run it. Your Postgres, your infra, your backups. The hosted option is a convenience, not a dependency.

  • Never track you

    Zero analytics, zero fingerprinting, zero ad SDKs. The only outbound calls are to Torn's API (with your own key) and your own push endpoint.

  • Never hide the source

    Every line of what runs on your box is in the public repo. Read it, fork it, patch it, run a diff before every deploy.

Your move

Your faction deserves better than Discord pings.

One-tap install, server-authoritative state, and a UX built by someone who's had to coordinate a 20-person war. Try it on your next ranked war.