Jacob Schmidt 89169f1e84 Update documentation and add new client usage guides
- Revised README.md for the Forge Client Example Addon to clarify its purpose as a template.
- Enhanced MODULE_REFERENCE.md to categorize guides into Server and Extension guides and Client guides.
- Created detailed usage guides for various client addons including Actor, Bank, CAD, Garage, Locker, Notifications, Organization, Phone, and Store.
- Added a Client Common Usage Guide to outline shared browser UI bridge patterns.
- Introduced a Client Main Usage Guide to define the foundational elements for client addons.
- Established authoritative state notes and usage rules across new guides to ensure clarity on server ownership and client responsibilities.
2026-04-18 13:04:01 -05:00
2026-04-17 17:09:21 -05:00
2026-04-17 17:09:21 -05:00
2025-11-26 18:33:09 -06:00
2025-11-26 18:33:09 -06:00
2026-04-17 17:09:21 -05:00
2026-04-17 17:39:20 -05:00

Forge

Forge is a framework for Arma 3 persistent game servers. It combines SQF addons, a Rust arma-rs extension, shared service crates, and web-based client interfaces for player data, organizations, banking, garages, lockers, phones, CAD, stores, and task workflows.

Storage

Durable persistence is backed by SurrealDB. The server extension loads schema modules at startup and routes domain repositories through the SurrealDB client.

[surreal]
endpoint = "127.0.0.1:8000"
namespace = "forge"
database = "main"
username = "root"
password = "root"
connect_timeout_ms = 5000

Workspace

arma/
  client/      Client-side addons and browser UIs
  server/      Server-side addons and extension crate
bin/
  icom/        Interprocess communication helper
lib/
  models/      Shared domain models
  repositories/ Repository traits and in-memory test stores
  services/    Domain business logic
  shared/      Cross-crate helpers
tools/         Web UI build tooling

Common Commands

cargo test
npm run build:webui
.\build-arma.ps1

Documentation

Extension Status

"forge_server" callExtension ["status", []];
"forge_server" callExtension ["surreal:status", []];

Both commands report the persistence connection state.

Description
No description provided
Readme 288 MiB
Languages
SQF 29.3%
JavaScript 27.8%
Rust 21.1%
cpp 8.7%
Pawn 5.8%
Other 7.1%