Skip to content

How heliana parses the Squad log

The Squad game server writes a detailed log of everything that happens during a session — every player connection, death, teamkill, revive, FOB hit, round outcome, and tick-rate sample. This file lives on the game server’s filesystem. heliana reads it continuously over SFTP and turns each line into a structured event that the rest of the platform — analytics, triggers, the Live feed — can act on.

Squad doesn’t offer a plugin API or an event-streaming endpoint. The only two channels for reaching a Squad server remotely are RCON (a command interface) and direct file access. SFTP is the standard way to reach a game server’s files without installing anything on the server itself.

heliana connects over SFTP and follows the log file, picking up only what’s new since the last check, so it stays cheap to run even on a busy server. The polling cadence is fixed — it isn’t something you configure per server.

SFTP does double duty. heliana also uses the same connection to push your whitelist to the server, so a roster group with whitelist access always matches what’s live on the server. That’s why the SFTP account you give heliana needs write access, not just read.

RCON is heliana’s other channel, and the two are complementary.

RCON gives heliana a live roster snapshot: who’s online right now, which squad they’re in, who’s the squad leader, and the current layer and player count. It’s also how heliana runs admin commands from triggers — kicks, warnings, layer changes, and anything else you send as an RCON command.

What RCON can’t give you is a continuous record of what happened. It can tell you who’s on the server right now, but it has no memory of what happened between checks. It carries no combat data — no kills, wounds, revives, weapon detail, round tickets, or tick rate.

The log is the other half: a complete, timestamped record of everything that happened, in order, with nothing missing.

Every line in the Squad log follows one of a few dozen known shapes. heliana recognizes each one and pulls out the useful details — what happened, when, who was involved, what weapon, how much damage, what IP address, and so on. A player death becomes a structured death event with an attacker and a victim; a teamkill is recognized by cross-checking the log against the live roster from RCON to confirm attacker and victim were on the same team.

Some details need both sources together. A join event comes from the log, which carries the player’s IP address and exact timestamp; that player’s squad and role at that moment come from the RCON roster, if it has refreshed by then.

The event types heliana produces are: join, leave, chat, death, teamkill, map, round, and broadcast. For what each one carries, see the Event types reference.

Tools that only talk to Squad over RCON can tell you who’s online and what’s said in chat. They have no access to kills, weapon data, teamkills, revives, round outcomes, tick rate, or player IP addresses. Everything heliana does beyond a basic player roster — combat analytics, teamkill detection, round history, IP-based alt detection, triggers on in-game events — depends on reading the log.


To connect your server’s SFTP credentials so heliana can start reading the log, see Get SFTP access.