Overview
What are Workflows?
Workflows in Squad Aegis provide a powerful automation system that allows you to create custom responses to in-game events. When specific events occur (like a player sending a chat message or a player joining the server), workflows can automatically execute a series of actions such as sending RCON commands, logging messages, or triggering notifications.
Basic Concepts
Workflow Components
A workflow consists of:
- Triggers: Define what events will start the workflow
- Conditions: Optional filters to determine if the workflow should run
- Steps: The actions to execute when triggered
- Variables: Data storage for workflow execution
- Error Handling: How to handle failures
Execution Flow
- An in-game event occurs (e.g., player sends chat message)
- Squad Aegis checks if any workflows have matching triggers
- If conditions are met, the workflow executes its steps in order
- Results are logged and can be used by subsequent steps
Event Types and Available Fields
Chat Message Events (RCON_CHAT_MESSAGE
)
Triggered when a player sends a chat message.
Available Fields:
chat_type
- The type of chat (see Chat Types below)eos_id
- Player's Epic Online Services IDsteam_id
- Player's Steam IDplayer_name
- Player's display namemessage
- The actual message content
Chat Types:
ChatAll
- Public chat visible to all playersChatTeam
- Team-only chatChatSquad
- Squad-only chatChatAdmin
- Admin chat channel
Player Events
Player Connected (LOG_PLAYER_CONNECTED
)
Available Fields:
time
- Timestamp of the eventchain_id
- Unique event chain identifierplayer_controller
- Player controller identifierip_address
- Player's IP addresssteam_id
- Player's Steam IDeos_id
- Player's Epic Online Services ID
Player Disconnected (LOG_PLAYER_DISCONNECTED
)
Available Fields:
time
- Timestamp of the eventchain_id
- Unique event chain identifierip
- Player's IP addressplayer_controller
- Player controller identifierplayer_suffix
- Player name suffixteam_id
- Team the player was onsteam_id
- Player's Steam IDeos_id
- Player's Epic Online Services ID
Player Died (LOG_PLAYER_DIED
)
Available Fields:
time
- Timestamp of the eventwound_time
- When the player was wounded (if applicable)chain_id
- Unique event chain identifiervictim_name
- Name of the player who dieddamage
- Damage amount that caused deathattacker_player_controller
- Attacker's controller IDweapon
- Weapon used for the killattacker_eos
- Attacker's Epic Online Services IDattacker_steam
- Attacker's Steam IDvictim
- Detailed victim information objectattacker
- Detailed attacker information objectteamkill
- Boolean indicating if this was a teamkill
Player Wounded (LOG_PLAYER_WOUNDED
)
Available Fields:
time
- Timestamp of the eventchain_id
- Unique event chain identifiervictim_name
- Name of the wounded playerdamage
- Damage amountattacker_player_controller
- Attacker's controller IDweapon
- Weapon usedattacker_eos
- Attacker's Epic Online Services IDattacker_steam
- Attacker's Steam IDvictim
- Detailed victim information objectattacker
- Detailed attacker information objectteamkill
- Boolean indicating if this was a teamkill
Player Revived (LOG_PLAYER_REVIVED
)
Available Fields:
time
- Timestamp of the eventchain_id
- Unique event chain identifierreviver_name
- Name of the player who performed the revivevictim_name
- Name of the player who was revivedreviver_eos
- Reviver's Epic Online Services IDreviver_steam
- Reviver's Steam IDvictim_eos
- Victim's Epic Online Services IDvictim_steam
- Victim's Steam ID
Admin Events
Player Warned (RCON_PLAYER_WARNED
)
Available Fields:
player_name
- Name of the warned playermessage
- Warning message content
Player Kicked (RCON_PLAYER_KICKED
)
Available Fields:
player_id
- Internal player IDeos_id
- Player's Epic Online Services IDsteam_id
- Player's Steam IDplayer_name
- Player's display name
Player Banned (RCON_PLAYER_BANNED
)
Available Fields:
player_id
- Internal player IDsteam_id
- Player's Steam IDplayer_name
- Player's display nameinterval
- Ban duration in minutes
Admin Broadcast (LOG_ADMIN_BROADCAST
)
Available Fields:
time
- Timestamp of the broadcastchain_id
- Unique event chain identifiermessage
- Broadcast message contentfrom
- Admin who sent the broadcast
Squad Events
Squad Created (RCON_SQUAD_CREATED
)
Available Fields:
player_name
- Name of the squad leadereos_id
- Squad leader's Epic Online Services IDsteam_id
- Squad leader's Steam IDsquad_id
- Unique squad identifiersquad_name
- Name of the squadteam_name
- Team the squad belongs to
Server Events
Server Info (RCON_SERVER_INFO
)
Available Fields:
player_count
- Current number of playerspublic_queue
- Number of players in public queuereserved_queue
- Number of players in reserved queuetotal_queue_count
- Total players in queue
Game Events
Game Event Unified (LOG_GAME_EVENT_UNIFIED
)
Available Fields:
time
- Timestamp of the eventchain_id
- Unique event chain identifierevent_type
- Type of game event (see Game Event Types below)winner
- Winning team/factionlayer
- Current map layerteam
- Team identifiersubfaction
- Subfaction namefaction
- Faction nameaction
- Action performed ("won" or "lost")tickets
- Ticket countlevel
- Map/level namedlc
- DLC informationmap_classname
- Internal map class namelayer_classname
- Internal layer class namefrom_state
- Previous game stateto_state
- New game statewinner_data
- Additional winner information (JSON)loser_data
- Additional loser information (JSON)metadata
- Additional event metadata (JSON)raw_log
- Original log line
Game Event Types:
ROUND_ENDED
- A round has concludedNEW_GAME
- A new game/round is startingMATCH_WINNER
- Match winner declaredTICKET_UPDATE
- Ticket count updated
Show your support! Star us on GitHub ⭐️