Перейти к основному содержимому

Quest Codex Recovery

The Quest Codex Recovery artifact stores a short-lived per-player checkpoint while a Typewriter dialogue or cinematic is active. It is designed for abrupt disconnects: when the player rejoins, Quest Codex waits for the configured delay and triggers the saved interaction again.

For cinematics, the current page and frame are stored. The cinematic is restarted and moved back to that frame. For dialogues, the active dialogue entry is stored and triggered again after reconnect.

Fields

FieldTypeDefaultDescription
artifactIdStringRandom UUIDImmutable identity used by Typewriter storage.

The artifact keeps no permanent history. Snapshots expire after the configured retention period and are removed when the dialogue/cinematic ends.

Configuration

Add the artifact to a static page and reference its entry id from quest_codex:

{
"type": "quest_codex_recovery_artifact",
"id": "questCodexRecoveryData",
"name": "quest_codex_recovery_data",
"artifactId": "74c8760f-8d9f-4e06-a6f7-7f410f8f0df2"
}
{
"type": "quest_codex",
"id": "my_codex_config",
"recoveryEnabled": true,
"recoveryArtifact": "questCodexRecoveryData",
"recoveryRetentionSeconds": 3600,
"recoveryRestoreDelayTicks": 10
}

recoveryRetentionSeconds is clamped to 10 seconds–24 hours and recoveryRestoreDelayTicks to 1–20 ticks. Persistence is asynchronous and versioned so the game thread is not blocked by artifact I/O.

Identity rule

Generate artifactId once and keep it unchanged on a live server. Changing it creates a new storage location and makes existing recovery snapshots unreachable.

Test procedure

  1. Start a dialogue or cinematic while the recovery artifact is configured.
  2. Disconnect during the interaction.
  3. Reconnect before the retention period expires.
  4. Confirm that the dialogue is triggered again, or that the cinematic resumes near the saved frame.

Recovery is intentionally limited to active dialogues and cinematics; quest tracking remains managed by Quest Codex tracking facts and its own artifact.