Skip to content

FiniAC Triggers

FiniAC's trigger system is a powerful automation tool that monitors your game server for specific events and automatically executes actions based on customizable conditions. Think of it as an "if-then" system: if certain conditions are met, then execute specific actions.

How Triggers Work

Triggers continuously monitor two main event types on your server:

  • Player connections: When FiniAC handles a players connection to your server
  • Server logs: All logs generated by FiniAC on your server

When an event occurs, FiniAC evaluates it against your configured trigger conditions. If the conditions match, the trigger executes its defined actions automatically.

Creating Triggers

Each trigger consists of:

  1. Name: A descriptive identifier for your trigger
  2. Conditions: Rules that determine when the trigger should activate
  3. Actions: What happens when the conditions are met (up to 5 actions per trigger)

Condition Builder

The trigger condition builder is a visual interface that allows you to:

  • Combine multiple rules with AND/OR logic
  • Group rules into nested rulesets for complex conditions
  • Use various operators to match against player and log data

Available Condition Fields

Player Information

FieldDescriptionAvailable When
Player nameThe player's nameAlways
Player UIDSteamID (Arma) or license identifier (FiveM)Always
Player countryCountry code (e.g., US, CA, GB)Connection events
Player proxyWhether player is using VPN/proxyConnection events
Player IPPlayer's IP address (supports CIDR notation)Connection events

TrustScore & Ban Information

FieldDescriptionAvailable When
TrustScorePlayer's TrustScore rating (Green/Lime/Yellow/Orange/Red)Connection events
Global ban countNumber of global bans the player hasConnection events
Ban countTotal bans (including local server bans)Connection events
Days since last global banDays since player's most recent global banConnection events
Global expiredWhether player joined due to expired global ban, dependant on Global ban expiration config optionConnection events

Log Information

FieldTypeDescriptionAvailable When
Log textStringRaw log message content including identifiersLog events

Available Operators

OperatorDescriptionWorks With
=Equals (exact match)All field types
!=Not equalsAll field types
containsContains substringString fields
not containsDoes not contain substringString fields
>Greater thanNumber fields, TrustScore
>=Greater than or equalNumber fields, TrustScore
<Less thanNumber fields, TrustScore
<=Less than or equalNumber fields, TrustScore

IP Address & CIDR Support

The Player IP field supports both individual IP addresses and CIDR notation:

  • Individual IP: 192.168.1.100
  • CIDR range: 192.168.1.0/24 (matches 192.168.1.1 through 192.168.1.254)
  • Larger networks: 10.0.0.0/8 (matches all 10.x.x.x addresses)
  • Can be compared with the = and != operators

Learn more about CIDR notation here.

Available Actions

Ban Player

Permanently removes the player from your server.
The action value will be shown as the ban message.

Kick Player

Temporarily removes the player from your server.
The action value will be shown as the kick message.

Webhook

Sends HTTP POST request to specified URL with trigger data.
Plus and Ultimate plan subscribers can send webhooks to any custom URL to connect with external systems.

Discord Webhooks:

  • Creates rich embeds with trigger information
  • Supports %screenshot% template for image embeds

External Webhooks:

  • Sends JSON payload with event data
  • Includes message, screenshot URL, log type, and raw data
  • Custom endpoints for integration with external systems

Configuration:

  • URL: Webhook endpoint (e.g., Discord webhook URL)
  • Message: Custom message with templating

Run Script on Server

Executes code directly on your game server.

FiveM:

  • JavaScript code execution
  • Example: console.log('%name% triggered anticheat')
  • Can use all server natives, such as TriggerEvent(), ExecuteCommand(), etc.

Arma:

  • SQF code execution
  • Access to remoteExec, publicVariable, etc.
  • Example: '%name% is cheating' remoteExec ['hint', -2];

Templating

All action messages and scripts support templating using %variable% syntax:

Always Available

  • %uid% - Player unique identifier
  • %name% - Player display name
  • %server.name% - Server name
  • %server.game% - Game type (arma/fivem)

Time Variables

  • %time.unix% - Unix timestamp
  • %time.utc% - UTC time string
  • %time.iso% - ISO 8601 timestamp

Connection Events

  • %country% - Player country code
  • %ip% - Player IP address
  • %trustscore% - Player trust score string
  • %bans.count% - Total ban count
  • %bans.global.count% - Global ban count
  • %bans.global.expired% - Global ban expired status
  • %bans.global.days% - Days since last global ban

Log Events

  • %log% - Raw log text
  • %log.beautified% - Formatted log text
  • %log.type% - Log event type
  • %log.data% - Log data payload
  • %screenshot.url% - Screenshot URL if available
  • %screenshot% - Special Discord embed variable

Player Identifiers

  • %idents% - JSON of all player identifiers
  • %idents.steam% - Steam identifier
  • %idents.license% - License identifier
  • %idents.discord% - Discord identifier
  • %idents.{key}% - Any specific identifier

Limitations

  • Maximum 5 actions per trigger
  • Some condition fields only available during specific events (connection vs. log)