- 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 Phone
Overview
The phone addon is the server-side bridge for contacts, SMS messages, and email. Phone runtime state is owned by the extension. SQF stores preserve the event-facing API and synchronize client UI state.
Dependencies
forge_server_mainforge_server_commonat runtime for online player lookupforge_server_actorat runtime for contact and player lookupsforge_server_extensionat runtime for phone extension callsforge_client_phonefor response RPCs
Main Components
fnc_initPhoneStore.sqfcoordinates the phone facade.fnc_initContactStore.sqfmanages contacts.fnc_initMessageStore.sqfmanages SMS messages and threads.fnc_initEmailStore.sqfmanages email messages.fnc_initPlayer.sqfinitializes phone data for a player.
Persistent Extension Tables
phone_user: owner row for an initialized phone profilephone_contact: per-owner contact rows keyed by owner UID and contact UIDphone_message: shared message recordsphone_message_index: per-owner message visibility and read statephone_email: shared email recordsphone_email_index: per-owner email visibility and read statephone_sequence: global sequence state for generated message and email IDs
Event Surface
The addon handles client requests to initialize phone state, add/remove/refresh contacts, send/read/delete messages, send/read/delete emails, and remove phone state.