JURASSIC WAR NATIVE PORT 1.10O - SPECTATORS
13 September 2026

JOINING AND ROLES
The original-art connection setup in TCP/IP and Co-op offers Host, Join and
Spectate. Hosts enable spectators, set a password if desired and choose a
0-30 second observation delay. The service uses the game TCP port plus one.
Classic, eight-player matches and co-op share this service. All participants
need the matching 1.10Q executable and content; the protocol is 0x0110C017.

Every viewer chooses their own available role. Roles are not host-assigned.
The four-viewer limit remains: two Team viewers, one Streamer, one Commentator.
Each Team viewer chooses a human lobby slot (1-8 in the new lobby); an empty
slot waits for that player instead of showing the host's map. Co-op shares
one campaign tribe. Team visibility cannot be changed by client requests.
Streamer and Commentator can choose the permitted tribe/map scope. If the
host limits exploration, All means the allowed combined human exploration.
AI tribes do not supply separate transported fog knowledge.

CONTROLS
F1          Clean broadcast view; F12 chooses retained overlays
F2          Cycle free camera, actual player camera, follow selected object
F3          Cycle the human player used by player/selection follow
F4          Collapse or restore the control and comparison panels
F5          Commentator team scoreboard
F6          Commentator automatic battle camera (off initially)
F7          Commentator clickable recent battle losses
F8          Hide/show minimap (hiding masks its already-rendered area)
F9          After disconnection, reconnect with the same role/settings
F10         Viewer chat; type, Enter to send, Esc to close the composer
F11         Commentator camera-location ping; click its chat row to visit
F12         Original-art broadcast view options
Arrows      Move camera; manual movement stops following/the director
Ctrl+1..4   Save a camera bookmark for the current map
1..4        Return to a saved bookmark
Space       Pause/play the local viewing buffer
[ / ]       Seek backward/forward ten seconds
L           Return to the permitted live edge (or the end of a saved clip)
R           Save the currently retained spectator clip
PrintScreen Save a screenshot
Alt+Enter   Toggle fullscreen
Esc         Leave viewer (or close its open composer/options first)

Free camera and visibility scope are separate. Actual player camera follows
the chosen human's transmitted camera width/origin and switches to that
player's permitted visibility. Follow selected tracks the viewer's inspected object
while it is visible and its pool generation still matches. This recreates
the battlefield camera, not the player's desktop/cursor or temporary menus.

F12 independently chooses minimap, match clock, player names, Commentator
scores and selection details. It cannot grant additional information.
The eight-tribe scoreboard groups reciprocal allies, sorts by its column
headings, and opens army/building composition when a row is clicked.
Constructors are counted separately; the original group A is labelled
hunting/defence because original maps use that group for both purposes.
Power remains an estimate. Unused tribes do not contribute stored food power.

CHAT, EVENTS AND ENDINGS
Streamer and Commentator share a viewer room. Team messages stay with the
chosen Team-player slot. No spectator chat or ping is sent to game players.
Chat, battle locations, audio and statistics travel with the same delayed
frames. Viewer sends are rate limited. The director waits at least eight
seconds between automatic moves and ignores old battle alerts. Arrow/minimap
navigation or changing camera mode cancels it.

Normal endings drain the delayed final action before the result. An explicit
host/application shutdown or broken connection can still interrupt delivery.
A host reopening with changed delay/access policy waits for the previous
ending to drain. Reconnecting viewers keep camera/UI preferences and wait for
a new match when the service remains open. A failed connection can be retried;
this is not player reconnection or host migration.

Statistics use the simulation clock, so game pauses do not extend match time.
Losses are observed from mission start. Late Commentator joins receive the
permitted history baseline. Older samples are downsampled across the match;
the bounded event log retains the most recent 2,048 notices.

LOCAL REVIEW AND SAVED CLIPS
Pause/rewind never pauses the players. Receiving/acknowledging live frames
continues while reviewing. The buffer retains up to three minutes and 96 MiB;
complex/wide scenes can reach the byte limit sooner. Returning to live means
the host's allowed delayed edge, never a bypass of the configured delay.

R saves that retained buffer as a .jws clip in your Replays directory. It is
a bounded clip, not an automatic whole-match spectator recording. A scene
change starts a fresh buffer. Only received pictures, audio and permitted
metadata are saved; no simulation arena or hidden-world replay is included.
Historical viewing cannot pan to battlefield pixels the viewer never received.

The main-menu Replays browser lists, plays and deletes .jws clips alongside
ordinary .jwr mission replays. Clips work offline with the same review controls.
Pausing freezes clip audio; seeking clears old effects. Delete requires the
browser's confirmation. Interrupted .partial files are not playable clips.
Bad checksums, incompatible layouts and invalid frame bounds are rejected.

OFFLINE AI OBSERVATION
Skirmish > Observe AI battle assigns all active tribes to the chosen AI.
The game retains its normal battlefield/menu with the shared spectator art,
score/composition table, event feed, director and broadcast option panels.
Orders are blocked. Original AI and modern AI are supported. Game saves and
mission replays use their normal facilities; offline observation does not
start a network server. See SKIRMISH-README.txt and REPLAY-README.txt.

VALIDATION
Evidence and detailed results are kept in the working source tree under
win11_port/analysis/spectator_fow_20260913. Network fixtures use separate local
processes. Real WAN play, all-language visual layouts, all DPI configurations
and extended multi-hour maximum-load sessions require further manual coverage.
