USQL — Ultra Simple Query Language
USQL is the search language used across all log search interfaces in the Fini panel. It is designed to be simple and intuitive while providing powerful filtering capabilities.
Basic Search
Type any word to search across all searchable fields:
explosionUse quotes to search for a phrase with spaces:
"connection timed out"Field Search
Target a specific field using field:value syntax:
type:Join
message:explosion
name:PlayerNameMost text fields perform a contains (case-insensitive) match by default. The type field performs an exact match by default.
Comparison Operators
Add an operator after the colon for precise control:
| Syntax | Meaning | Example |
|---|---|---|
field:value | Default (exact or contains, depends on field) | type:Join |
field:=value | Exact match | message:=exact text here |
field:!=value | Not equals | type:!=Secret |
field:~value | Contains (case-insensitive) | type:~Dis |
field:>value | Greater than | serverid:>100 |
field:<value | Less than | serverid:<50 |
field:>=value | Greater than or equal | serverid:>=10 |
field:<=value | Less than or equal | serverid:<=20 |
Negation
Prefix a field expression with ! or - to negate it:
!type:Secret
-type:LeaveThis returns all logs where the condition is not true.
Boolean Operators
Combine expressions with AND and OR (case-insensitive):
type:Join AND name:Player
type:Join OR type:LeaveAND is the default when two expressions are placed next to each other:
type:Join name:Playeris equivalent to:
type:Join AND name:PlayerGrouping
Use parentheses to control evaluation order:
(type:Join OR type:Leave) AND name:PlayerWithout grouping, AND binds tighter than OR:
type:Join OR type:Leave AND name:Playeris evaluated as:
type:Join OR (type:Leave AND name:Player)Quoted Values
Use double quotes for values that contain spaces or special characters:
message:"player was kicked"
data:"some value with spaces"Searchable Fields
| Field | Default Match | Description |
|---|---|---|
type | Exact | Log type (e.g. Join, Disconnected, Secret) |
message | Contains | Log message text |
data | Contains | Additional log data |
log | Contains | Raw log content |
name | Contains | Player name |
steam | Contains | Steam identifier |
discord | Contains | Discord identifier |
fivem | Contains | FiveM identifier |
license | Contains | License identifier |
license2 | Contains | Secondary license identifier |
xbl | Contains | Xbox Live identifier |
live | Contains | Microsoft Live identifier |
ip | Contains | IP address |
uid | Contains | Unique identifier |
screenshot | Contains | Screenshot reference |
filename | Contains | Source filename |
TIP
When searching without a field (bare text), USQL automatically searches across all fields you have permission to access.
Examples
Find all join events:
type:JoinFind a player by Steam ID:
steam:steam:110000abcdefFind disconnections with a specific reason:
type:Disconnected AND message:"timed out"Find events for a player across join or leave:
(type:Join OR type:Leave) AND name:PlayerNameExclude secret logs:
!type:SecretFind logs containing a keyword in any field:
"gave weapon"Search by exact type match and contains in data:
type:=Join AND data:~lobby