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

34 lines
1.3 KiB
Markdown

# 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_main`
- `forge_server_common` at runtime for online player lookup
- `forge_server_extension` at runtime for phone extension calls
- `forge_client_phone` for response RPCs
## Main Components
- `fnc_initPhoneStore.sqf` coordinates the phone facade.
- `fnc_initContactStore.sqf` manages contacts.
- `fnc_initMessageStore.sqf` manages SMS messages and threads.
- `fnc_initEmailStore.sqf` manages email messages.
- `fnc_initPlayer.sqf` initializes phone data for a player.
## Persistent Extension Tables
- `phone_user`: owner row for an initialized phone profile
- `phone_contact`: per-owner contact rows keyed by owner UID and contact UID
- `phone_message`: shared message records
- `phone_message_index`: per-owner message visibility and read state
- `phone_email`: shared email records
- `phone_email_index`: per-owner email visibility and read state
- `phone_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.