Skip to content

Ban federation model

Bans in heliana come from a few places, and it helps to know which does what. There are bans you issue yourself, bans you import from an outside source, an automatic signal about bans in other communities, and exceptions that let a specific player through. This page is the map.

A ban you hand out is a record of its own: a reason, a duration (a fixed length or permanent), a scope (all your servers or one), and when it was made. There is no “issued by” on it — see Who issued it. You create one either with the Ban player button on the player’s Bans tab, or by running the Ban player automation against a player — the automation carries the duration and scope, and you type the reason at run time. These bans show up in the player’s Bans tab, and you revoke them there. See Ban a player.

You can also pull bans in from an outside source instead of typing them by hand. Attach a connector — BattleMetrics or a Remote Ban File, which also reads a Community Ban List export — to a ban source on the Bans → Sources tab, then sync it in. Each sync brings that source’s entries up to date inside heliana’s own ban records: an entry that is new is written in as a ban of its own, an entry already there keeps its record and the identities it was decided against while its reason and expiry are refreshed, and an entry that has dropped off the list is marked absent rather than deleted. The source data is a read-only copy, so heliana matches connecting players against it but never writes back. See Sync an external ban source.

heliana also matches a player against ban lists kept by every other heliana community. A match is automatic and read-only — an advisory signal, not enforcement. There’s no opt-in, no sharing step, and no consent: every community’s bans are visible to every other. It follows the person rather than one ID, but only as far as the identities the other community decided against reach: identities linked later are not among them. See How bans are structured and Cross-community ban visibility.

Sometimes a player matches a ban you don’t own but you want to allow them anyway — a false positive, or an old entry from a different community that came in with a source. An exception — Exclude on the ban row — lets that player past a matching imported ban. It doesn’t touch the ban record itself; it’s a local override on enforcement. It never applies to a ban you issued yourself: that one is yours to lift, and you lift it by revoking it. An exception has identities of its own — the player’s current ones, read on every check — and it suppresses a ban when they share at least one identity with the ban’s — an overlap, not one set containing the other. See Manage exceptions.

For a player trying to join one of your servers, the picture is:

  • Does any active ban on them match — one you issued yourself, or one you imported and no exception clears?
  • Separately, are they banned in other heliana communities? That’s shown to you as context, but it’s yours to act on or ignore.

There’s one enforcement path, not two: heliana checks the joining player’s identities against the identities recorded on each active ban, and a matching exception suppresses the imported ones. A ban you issued yourself is never suppressed that way — revoking it is the only way to stop it. Cross-community visibility is separate and informational — it never blocks a join on its own.