-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Matthew Barker edited this page Aug 8, 2026
·
12 revisions
A3SQL is an embeddable SQL database engine for Arma 3. Think SQLite for Arma: a Rust callExtension that gives your mod, mission, or server a real SQL database at runtime. Store player stats, log events, track progression, and persist everything across missions, all with plain SQL from SQF. Mission makers use it for persistence and analytics, mod developers embed it as a dependency, and server admins query it from external tools over TCP.
["CREATE TABLE players (uid STRING PRIMARY KEY, name STRING, score INT)"] call a3sql_fnc_execute;
["INSERT INTO players VALUES ('76561198000000001', 'Scarface', 1500)"] call a3sql_fnc_execute;
_result = ["SELECT name, score FROM players WHERE score > 1000 ORDER BY score DESC"] call a3sql_fnc_execute;
// _result = [0, "OK", [["name","score"],["Scarface",1500]]]Every query returns the same envelope: [code, status, data]. Code 0 with status "OK" means the statement ran; anything else is an error code with a message you can read. See Getting Started for the full walkthrough.
- In-memory engine: a few thousand rows is nothing, 10k to 100k rows is comfortable. Keep your tables under 100k rows.
- No silent truncation: a SELECT that would overflow the 30KB response buffer fails loudly and tells you to page the result with cursors.
- Safe by default: parameterized queries stop SQL injection, and the TCP listener binds to loopback and requires LOGIN by default (fail-closed).
- Autosave hooks hold the database mutex only briefly, so mission-end saves do not stall gameplay.
- Getting Started: build your first stats-persistence mod, step by step
- SQL Dialect: supported SQL syntax
- SQL Compatibility Report: test your mod's SQL against the real engine
- Production Readiness: deployment status, gaps, and the 30-minute production checklist
- CBA Settings: addon configuration options
- Security: parameterized queries, TCP authentication
- TCP Connector: external query access
- Standalone Server: run without Arma, remote mode
- Plugins: extend A3SQL with Rust, C, or SQF plugins
- Development Setup: full dev environment guide
- Building: compiling the extension and addon
- Patch Framework: dynamic live-patching system (weapon values, textures, materials, config overrides, rule groups)
- Module Guide: integrating mods with a3sql (analytics, loadouts, persistence, progression, multi-server sync)