Skip to content

What is a trigger

A trigger is a rule that watches for something to happen on your server, checks whether it matches a set of conditions, and then runs one or more actions in response. It’s heliana’s automation building block: it connects what’s happening in the game (or a schedule, or an admin pressing a button) to a consequence — an RCON command, a ban, a webhook, a note on a player’s profile.

The mental model: what starts it → conditions → actions

Section titled “The mental model: what starts it → conditions → actions”

Every trigger has three parts.

What starts it — the event or moment that activates the trigger. That’s either a game event arriving from the live server log, a schedule that fires on a time expression or a fixed interval, or a button an admin presses in the app.

Conditions (the If section) — filters the event must satisfy before the trigger fires. Conditions test the event’s details: the weapon used in a kill, the text of a chat message, how many players are on the server, which team the attacker was on. Every condition in the list must match (AND). Within the list you can add an OR-group — a set of alternatives where any one of them is enough.

Actions (the Then section) — what heliana does when an event passes all conditions. Actions run in order and can include: sending an RCON command, issuing a ban, calling a webhook, adding the player to a roster group, adding a note to the player’s profile, warning everyone in the player’s squad in-game, writing a notification to the audit log, or pausing for a set number of seconds before the next step. There’s no “flag” action — tagging a player means adding them to a group.

The Type you pick when you build a trigger decides what starts it: Event, Manual, or Scheduled.

An event trigger is bound to one event type from the live server log — Chat, Join, Leave, Death, Teamkill, Map, Round, Broadcast, or Ban. When heliana detects that event on the server, it checks the trigger’s conditions against the event’s details. If they all pass, the actions run.

This is the type that reacts to what’s happening in the game: auto-warning a teamkiller, responding to a keyword in chat, banning after a third kill with a particular weapon, announcing a round result.

Event triggers can be rate-limited: require several matching events inside a time window before firing, or enforce a cooldown so the trigger can’t fire more than once per player (or once overall) within a set number of seconds. That keeps noisy events from spamming.

A scheduled trigger fires on a timer instead of a game event. The schedule is either a time expression (for rules like “every day at 18:00 UTC”) or a fixed interval (for “every 5 minutes”).

A scheduled trigger can act on the whole server — for periodic broadcasts, say — or run once for every player online at the moment it fires. In the per-player mode it checks conditions against each online player’s current state (their role, squad, team, squad-leader status) and runs the actions for each one that matches.

A manual trigger is a button in the app — either in a server’s status panel or on a player’s profile. An admin clicks it, optionally fills in a short form (a reason, a ban duration, a value from a list), and the actions run immediately.

Manual triggers bring the calls that need human judgement into the same action model as the automated ones. Each one can be permission-gated on its own, so a junior moderator can run a “warn” trigger but not a “permanent ban” trigger.

heliana keeps a live connection to each server: it reads the Squad log over SFTP and keeps the player roster current over RCON. Game events flow from that connection into the trigger engine, where each one is matched against every enabled event trigger for that server. Conditions are checked against the event’s details; if they all pass, the actions run in order.

The event types and the details each one exposes are in the Event types reference.


For a step-by-step walkthrough of building your first automation, see Create an event trigger. The full condition and action reference is in Trigger conditions and Trigger actions.