- Add missing forge_server_actor runtime dependency to phone module (critical) - Clarify that garage and locker are event bus listeners, not emitters - Document economy runtime-only dependencies (bank, org) - Add TaskStore public API documentation (27 methods organized by category) - Update task module event emissions and hooks documentation All documentation now aligns with actual implementation verified against codebase.
1.4 KiB
1.4 KiB
Forge Server Locker
Overview
The locker addon is the server-side bridge for player item storage and owner-scoped arsenal unlock storage.
Locker hot state is owned by the extension. SQF handles client events, payload validation, synchronization, and save calls.
Dependencies
forge_server_mainforge_server_commonforge_server_extensionat runtime for locker extension callsforge_client_lockerfor response RPCs
Main Components
fnc_initLocker.sqfinitializes locker world objects.fnc_initLockerStore.sqfmanages player locker hot state.fnc_initVAStore.sqfmanages owner-scoped arsenal unlock state.
Supported Operations
- initialize player locker data
- save player and owner-scoped locker state
- override locker data from trusted server-side callers
- initialize and save owner-scoped arsenal storage
Runtime Notes
forge_server_main_fnc_saveHotState saves both LockerStore and VAStore on
disconnect and mission shutdown. Store checkout and task rewards can grant
assets into organization-owned storage through the org addon.
Locker listens for sync events through the event bus:
locker.sync.requested- updates client item storage when granted by store/task checkoutlocker.va.sync.requested- updates client arsenal unlocks when grantednotification.requested- storage and item modification alerts
The store module emits these events when granting items; locker applies the changes to player state.