Skip to main content
Class: SummerAuthorityWorld · Inherits: RefCounted · Access: Summer.authority.world Typed authoritative World lifecycle operations. Authority-only facade for explicit World lifecycle operations. Completing a World is separate from committing a Match settlement so required post-Match projections have a bounded delivery phase.

Methods

get_shutdown_notice

Current platform maintenance notice, or null. Connect shutdown_notice_changed, then read this getter to include a notice received before subscription. Cancellation returns null; stale reordered notices never restore cancelled state. Returns: SummerShutdownNotice

complete

Idempotently ends a Match-scoped or persistent World after settlement and required delivery have reached a terminal state. A persistent World must first finish restoring its selected save. Completion permanently ends the logical World; it is not a request to sleep or save it. Multi-Match Worlds use Summer.authority.match.complete_delivery() instead. Returns: SummerOperation Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.

load_save

Load and integrity-check the current World save. Existing schema and Build must be compatible. Before initial restore completes, admission remains closed. Returns: SummerWorldLoadOperation Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.

commit_save

Commit an internally consistent game capture after restore. Data is bounded to 16 MiB. Revision and state sequence are canonical nonnegative int64 decimal strings. Save identity and schema are bounded to 128 UTF-8 bytes. Retrying must retain all arguments exactly; conflicting identity reuse or base revision is rejected. The game defines serialization and coupled inventory consistency. Returns: SummerWorldSaveOperation Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.

finish_restore

Call only after applying and validating the successful load result. Admission opens only after the World owner confirms this exact runtime and revision. A foreign, stale or failed load cannot authorize readiness. Returns: SummerOperation Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.

finish_snapshot

Acknowledge a platform save request using a committed receipt. The owner verifies that the save was produced by this runtime after the request. This does not complete or delete the logical World. A successful final acknowledgment may stop this runtime before its completion signal reaches game code; do not rely on code after awaiting it. Returns: SummerOperation Returns at once. Wait for the result with var result: SummerResult = await op.get_result_or_completed_signal(); see SummerOperation.

get_snapshot_request_id

Current platform save request, or empty. Query after connecting save_requested so requests delivered earlier are not missed. Returns: String

get_snapshot_deadline_unix_msec

Current platform save deadline in Unix milliseconds, or zero. Returns: int

Signals

shutdown_notice_changed

The platform announces, revises, or cancels maintenance. A null notice means cancellation before final saving begins. During advance notice, finish game events or persist their phase. At the preparation boundary, native gameplay input and simulation stop; save_requested and save operation completions continue. Serialize directly in that callback and use commit_save() followed by finish_snapshot(). Do not wait for a scene frame, timer, or unrelated deferred callback during final saving. The stop deadline remains binding if the game does not acknowledge. A restart restores the same logical World; it never implies a gameplay wipe or a promise that replacement is already ready.

save_requested

The platform requests a coherent final save before its deadline. Commit first, then acknowledge using finish_snapshot(). Process crashes cannot deliver this signal, so periodic saves are still required.
What is live on the platform today: platform capability status. Check availability at runtime before you offer a feature.