Jacob Schmidt 9d789440e0 Enhance documentation and functionality across various server addons
- Updated README.md files for extension, garage, locker, main, organization, phone, store, and task addons to provide clearer overviews, dependencies, main components, and usage notes.
- Improved task module documentation to clarify timer semantics and server task flows, ensuring accurate usage of time limits.
- Adjusted default values for task time limits and IED timers to enforce positive countdown requirements.
- Added new CAD addon for dispatch coordination, including its overview, dependencies, main components, and event handling.
2026-04-18 11:55:19 -05:00

1.4 KiB

Forge Server Store

Overview

The store addon manages server-side storefront entities, catalog hydration, and checkout coordination.

SQF owns Arma-facing storefront discovery and request validation. The Rust extension owns authoritative checkout calculation through store:checkout.

Dependencies

  • forge_server_main
  • forge_server_common
  • forge_server_extension at runtime for checkout calls
  • forge_server_actor, forge_server_bank, and forge_server_org at runtime for checkout context and payment state
  • forge_client_store for response RPCs

Main Components

  • fnc_initStore.sqf marks editor-placed store objects with isStore = true.
  • fnc_initCatalogService.sqf scans live Arma config categories, builds catalog responses, resolves checkout entries, and calculates authoritative catalog prices.
  • fnc_initStorefrontStore.sqf builds hydrate payloads, validates checkout requests, calls store:checkout, syncs client patches, and coordinates related bank/org persistence.

Editor Entities

fnc_initStore matches non-null mission namespace objects whose variable names contain store, mirroring the garage entity initialization pattern.

Checkout Flow

Store checkout can charge cash, bank balance, organization funds, or approved credit lines depending on the hydrated session context. Checkout results can grant locker assets, organization assets, and fleet vehicles through the related domain stores.