Jacob Schmidt 27c3c5e502 Route sync and notifications through event bus
- add EventBus-backed notification and sync requests with direct RPC fallback
- centralize org notification/sync dispatch and reuse notification helpers
- update economy, store, garage, locker, bank, and CAD flows to emit events
2026-05-15 20:17:19 -05:00
..
2025-11-26 18:33:09 -06:00
2025-11-26 18:33:09 -06:00
2025-11-26 18:33:09 -06:00
2025-11-26 18:33:09 -06:00

Forge Server Bank

Overview

The bank addon owns the SQF bridge for player accounts, cash and bank balances, PIN/session handling, transfers, checkout charging, earnings deposits, and credit-line repayment.

Account truth lives in the extension hot cache. SQF handles Arma-facing validation, client messaging, session state, and payment integration with other server addons.

Dependencies

  • forge_server_main
  • forge_server_common
  • forge_server_extension at runtime for bank extension calls
  • forge_server_org at runtime for credit-line repayment
  • forge_client_bank and forge_client_notifications for response RPCs

Main Components

  • fnc_initBank.sqf initializes all bank stores and helpers.
  • fnc_initModel.sqf defines account defaults and migration behavior.
  • fnc_initPayloadBuilder.sqf builds UI, checkout, and organization payment context.
  • fnc_initSessionManager.sqf manages PIN and authorization session state.
  • fnc_initMessenger.sqf sends account syncs, alerts, and notifications.
  • fnc_initStore.sqf wraps hot bank calls and account mutations.

Supported Operations

  • initialize and hydrate player bank state
  • deposit, withdraw, transfer, and deposit earnings
  • validate PIN-backed sessions
  • charge checkout previews and committed purchases
  • repay organization credit lines with rollback on failure
  • save hot bank state to durable storage

Runtime Notes

forge_server_main_fnc_saveHotState saves bank hot state on disconnect and mission shutdown. Store checkout and task rewards use this addon for authoritative player balance changes.