Jacob Schmidt 07d5422091 Refactor task management system with object prototypes and enhanced logging
- Updated fnc_extCall.sqf to suppress logging for specific functions.
- Added object model prototypes for task instances in prototypes/taskObjectPrototypes.sqf.
- Enhanced README.md to document the new object model and its purpose.
- Modified XEH_postInit.sqf to improve event handling for defuse tasks.
- Updated various task functions (fnc_attack, fnc_defend, fnc_defuse, fnc_delivery, fnc_destroy, fnc_heartBeat, fnc_hostage, fnc_hvt) to include task acceptance checks.
- Improved fnc_makeHostage and fnc_makeIED to ensure proper task registration and state management.
- Introduced new methods in task object prototypes for better state management and task flow control.
2026-04-28 23:04:22 -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%