Skip to content

Event types

An event trigger fires on exactly one event type, chosen in the trigger builder. The event type determines which condition fields and template variables ({player.name}, {message}, …) are available on it.

Nine event types are available:

Ban, Broadcast, Chat, Death, Join, Leave, Map, Round, Teamkill

heliana adds these server/match fields to every event before checking conditions:

Field Description
server.layer Current map layer (e.g. Yehorivka_RAAS_v1)
server.players Current online player count
server.maxPlayers Server player slot capacity
server.teamOne Faction code of team 1
server.teamTwo Faction code of team 2
match.minutes Minutes elapsed since the current match started
match.number Sequential match number on this server

These events have a subject player, so the trigger’s ban/note/group actions have someone to act on.

Field Description
message Text of the chat message
channel Chat channel the message was sent to (ChatAll, ChatTeam, ChatSquad, ChatAdmin)
player.name Sender’s in-game name
player.eosID Sender’s EOS ID
player.steamID Sender’s Steam ID
Live player fields See Live player fields
Field Description
player.name Joining player’s name
player.eosID EOS ID
player.steamID Steam ID
player.ip Player’s IP address at join time
Live player fields See Live player fields
Field Description
player.name Leaving player’s name
player.eosID EOS ID
player.ip Player’s IP address at disconnect time
Live player fields See Live player fields

Fires on any death. The subject for a ban/note/group action is the attacker — on a suicide or bleed-out death there’s no attacker, so those actions are skipped.

Field Description
attacker.name Attacking player’s name (empty on suicide / bleed-out)
victim.name Player who died
weapon Weapon or damage source

A death where the attacker and victim were on the same team. The subject for a ban/note/group action is the attacker.

Field Description
attacker.name Teamkiller’s name
victim.name Player who was teamkilled
weapon Weapon used
Live player fields Live fields of the attacker — see Live player fields

Fires when a ban with a specific server (not an org-wide, all-servers ban) is created. This event ignores the cooldown/threshold rate-limit — every qualifying ban fires it.

Field Description
player.name Banned player’s name
player.steamID Banned player’s Steam ID
reason Ban reason text
admin.name Name of the admin who created the ban

These events have no player subject — a trigger on one of these can’t use the ban, note, or group actions (there’s no one to apply them to).

Field Description
message Broadcast text
admin.name Name of the broadcasting admin
Field Description
layer New layer classname (e.g. Yehorivka_RAAS_v1)
dlc DLC identifier of the new layer
Field Description
layer Layer the round was played on
winner.faction Winning faction
winner.team Winning team number
winner.tickets Winner’s remaining tickets
loser.faction Losing faction
loser.tickets Loser’s remaining tickets

When the RCON roster is available and the player is currently online, these fields are added on top of the Chat, Join, Leave, and Teamkill events. For Teamkill, the live fields describe the attacker.

Field Values Description
player.online 'true' Present (and always 'true') when the player is in the live roster
player.isSquadLeader 'true' / 'false' Whether the player is a squad leader
player.role string Player’s current role name
player.squad string Name of the player’s squad
player.squadIndex string (number) Squad index number
player.team string (number) Team number

If the player isn’t in the live roster (offline, or the server’s live status is unavailable), these fields are simply blank rather than set to 'false' — a condition on player.online only matches once the player is confirmed online.


A handful of fields aren’t part of the raw event — heliana looks them up when an action runs. Because of that, you can only use them in a per-action condition (the condition attached to one action), not in the trigger’s top-level conditions:

Field Description
player.bans.count Number of active bans on record for the player in this organization
player.firstSeen Date/time the player was first seen
player.game.timePlayed Total recorded play time
player.groups Comma-separated list of the roster groups the player belongs to — use $has / $lacks to check membership
counter.<name> A windowed teamkill counter you define on the trigger

See Trigger conditions for how per-action conditions work.