Documentation / Audiences & Multiplayer Sync
PROPOSED API
API specification — not a released addon. SkCine-specific syntax shown here is proposed and must be implemented and server-tested before use.

Audiences & Multiplayer Sync

API status — PROPOSED, NOT IMPLEMENTED. SkCine is currently a design specification in this conversation; no built SkCine.jar or syntax registry was supplied. All SkCine-specific examples are intended API contracts, not verified runnable .sk. Do not advertise these as tested until each example passes a real Skript reload and runtime test.

Audience modes

  • Single viewer: isolated camera, dialogue, particle visibility, and cleanup.
  • Collection: scene has multiple viewers, shared logical clock and optional per-viewer parameters.
  • Proximity: resolve matching viewers at start or update dynamically using an explicit policy.
  • World/server audience: avoid accidentally broadcasting private camera changes.
set {_audience::*} to players in radius 15 around {_center}
set {_playback} to play cine scene {_scene} for {_audience::*}

The core Skript expression for selecting players by radius needs syntax validation on the targeted version; this line illustrates a collection-valued audience.

Shared vs. per-viewer state

Component Default ownership
Timeline clock Group scene instance
Camera Per viewer
Subtitle language Per viewer
Dialogue choice Per viewer unless group voting enabled
Shared world actor Group scene
Packet actor Viewer session
One-shot gameplay reward Authoritative Skript/player gameplay system

Join/leave behavior

A joining player should not inherit a random scene camera. A disconnecting viewer must be removed from the audience and restored on reconnect if state recovery is required. Group instance may continue, pause, or cancel based on a declared audience policy.

Skip voting

Individual skip: detach viewer only. Group skip: require threshold and apply once to shared instance. Do not allow one viewer to veto the cinematic indefinitely without a timeout.

Performance

Share math and static geometry; deliver only audience-specific outputs separately. Bound packets per viewer and monitor actual server and client load.

© 2026 DHeaven · SkCine documentation design · All scene authoring happens in Skript (.sk).