JURASSIC WAR v1.11E: MULTIPLAYER FOR UP TO EIGHT PLAYERS AND CO-OP CAMPAIGN
Native Windows version of the original game

Shared match rules (v1.11E)
-------------------------
The host can set Fog of war to Classic (original exploration), On (modern
line-of-sight fog), or Off (whole map revealed). Everyone receives the same
choice. The eight-player lobby and Classic two-player map setup both offer it.
Equal AI start is available only with Modern AI: computer tribes receive the
shared Starting units count and normal starting stats, without prebuilt bases.
Original AI retains its authored forces. Changing rules clears Ready or asks
the other Classic client to acknowledge them before continuing.
The fog choice is on the Rules tab in the eight-player lobby and on the
map setup screen in Classic two-player TCP/IP. Off reveals the whole map.
In production buildings, click an active training icon to stop or resume it;
Ctrl+click cancels that unit and refunds food already spent on it.
Harmful orders targeting your own or allied units are blocked; beneficial
spells remain available. A team wins when no hostile tribe has living forces;
dying units no longer hold the match open. All peers need matching v1.11E builds.

Starting a game
---------------
Open Multiplayer Game, choose TCP/IP, then
Play - 2 to 8 players. One person chooses Host game. Everyone else chooses
Join by IP and enters the host's address. The default TCP port is 27015.

The match lobby is drawn inside the game. It has eight player slots, a map
preview, tribe selection, ready indicators, and the host's match settings.
Each human chooses a different tribe. The host chooses a controller for each
unoccupied slot: Open admits a joining player, AI activates a computer tribe,
and Closed prevents joining. Connected players appear as Human. Open slots
that remain unoccupied and Closed slots do not spawn a tribe or delay Start.
For example, two humans and two AI can play with four active tribes, leaving
the other four slots Open or Closed. One host can also start against AI.

The host chooses one of the 20 maps, starting units (2-20), starting food
(0-9999), AI difficulty, and each empty slot's controller, tribe and team. Shuffle
randomizes the start assignments. The numbered preview markers identify
player slots; their colors identify tribes. The white border marks you.
Both human and AI starts are marked on the multiplayer preview.

Every connected human presses Ready, including the host. The host can then
press Start game once at least two opposing sides are active. A map, tribe,
controller, team, start-position, or rule change clears everyone's Ready
flag. A player joining or leaving the lobby also requires renewed readiness.
Selections of a tribe already occupied by another human are rejected.

Original AI remains the default for fresh installations. The host's saved
Advanced-menu preference initializes the lobby's AI selector. The host can
change it there before the match. All participants use that match choice,
regardless of their local Advanced-menu preference or language.
The six lobby levels are Original AI Easy, Medium, Hard and Modern AI Easy,
Medium, Hard. Original AI defaults to Medium. The host's choice controls both
AI mode and the original engine difficulty, and changing it clears Ready.
All participants must use the same build. The public v1.11E name is retained;
older protocol builds are rejected before joining.

Names and lobby chat
--------------------
Type your name in Your name, then press Enter, Apply, Tab, or select another
field. The player list updates on your computer and the other participants'
computers. Names accept 1-16
UTF-16 characters, including accented and Chinese text. Only your own name
can be changed. It is saved in MultiplayerSettings.ini under the current
storage directory (or selected profile) for the next lobby.

Type a message below Lobby chat, then press Enter or Send. Messages support
up to 96 UTF-16 characters and show the sender's slot and name. The latest
64 messages are retained for the current lobby; scroll over the chat panel
to read older messages. Joining players receive this recent history.
Names and chat do not clear Ready. Match settings still do. Chat is available
before Start in the 2-to-8-player lobby; it does not add battlefield chat.

Teams
-----
Choose Solo to fight independently, or choose a numbered team. Players and AI
with the same nonzero team number are allies. Each player chooses their own
team; the host chooses the teams for AI and unoccupied slots. A joining player
inherits the slot's tribe and team and can change those before Ready.

Original and modern AI exclude allies from ordinary enemy targeting and
attack planning. Each tribe keeps its own units, food, construction, and fog
of war; team selection does not give shared control or a shared economy.
Harmful orders against your own or allied units are blocked. Victory is
shared by the last surviving team, including its eliminated members. A lobby
containing only one team cannot start until an opposing side is activated.

Playing and leaving
-------------------
The original unit controls, combat, inventory, spells, gathering, production
and construction handlers are retained. Orders are synchronized for all
players. Each player controls only their selected tribe.

Use MENU (F10), Exit, Yes to leave. If a joining player leaves or disconnects,
the remaining players continue and that tribe transfers to the selected AI.
A stalled client is removed after the host's 30-second turn timeout. There
is no mid-match joining, reconnection, or host migration. If the host leaves,
the match ends for everyone. Eliminated players remain connected until the
match finishes or they leave. The match ends when at most one side remains.

Compatibility and Classic mode
------------------------------
Every computer must use this same release and matching game data. Different
languages are allowed. Older executable/protocol versions and mismatched
content are rejected. A ninth connection or a connection after Start is
rejected with an explanation in the game.

Classic - 2 players preserves the previous two-player lobby and transport,
including synchronized checkpoints, multiplayer cheats and role-based
spectators. Eight-player matches also support host-controlled cheats,
shared checkpoints and spectators through the game-drawn connection setup.
Eight-player checkpoints restore inside an active matching lobby; there is
currently no title-menu Continue entry for them.
Mission recordings and spectator clips can be watched offline.
Co-op campaign is available at Multiplayer Game > Co-op, replacing Com
Setting. It uses a two-player pre-lobby, original campaign selection screens
and shared control of one tribe. Progress saves at mission starts. See
COOP-README.txt. Offline Skirmish and single-player campaign remain available.

Networking
----------
The host must be reachable on the chosen TCP port. Use the host's local
address on a LAN, or configure the appropriate firewall/router port access
for players outside the LAN. No matchmaking server or relay is supplied.
The connection dialog accepts an IP address or DNS name. Only the host needs
to accept incoming game connections; joining players connect to the host.

Command-line shortcuts (still enter Multiplayer Game, TCP/IP in the game):
  JurassicWarWin11.exe --tcp-host 27015
  JurassicWarWin11.exe --tcp-join 192.168.1.50:27015
For Classic, add --tcp-classic to both commands. Spectator clients connect
to the spectator service regardless of the host's lobby type. Spectator
launch flags and --allow-multiplayer-cheats work with eight-player hosts too.
The existing Two Players Local shortcut starts an ordinary
two-human match in the new lobby; further players may join that host.
See SPECTATOR-README.txt for role selection, viewer ports and controls.

Implementation notes
--------------------
The engine already has eight tribe slots, but the old connection assumed two
human owners. The new loader preserves independent tribe ownership and gives
every selected human their own start and initial economy. Original map data
and artwork are unchanged.

The host coordinates a bounded, nonblocking TCP connection to each client.
It distributes the lobby and start seed, verifies the loaded state, then
collects one batch of original engine commands per player per simulation
turn. All peers apply the same batches in player-slot order. A canonical
state digest checks RNG, economy, ownership and active entity state each turn.
Local selection, camera, visibility, inventory cursors and render-only
highlights are excluded. Building animation bytes are treated separately
from the unit experience fields that share their storage offsets.
The session stops with a diagnostic if canonical states diverge.

The command bridge includes compiler barriers around calls into the relocated
engine: its command-buffer writes must be re-read after collection. The
transport validates frame sizes, phase, sequence, membership and count bounds;
the engine applies commands only to units owned by the submitting slot.

See AI-README.txt for the original AI audit and the optional modern planner.

Lobby fixes (1.10X, 14 September 2026)
Valid Ready messages already in transit when a match starts no longer drop
the player. Repeated name edits keep the latest name, with broadcasts limited
to twice per second per player after the first immediate edit. Starting a
match commits any pending names. Wholly unsent lobby snapshots are coalesced
without altering partial frames or chat/start/turn ordering. A full lobby
output queue removes only the slow connection. AI preview markers now use
authored AI bases instead of human party starts.
All players must use matching 1.10X executables (protocol 0x0110C019).

v1.11E lobby and checkpoint update
--------------------------------
Players, Map, Rules and Lobby chat have separate tabs with larger controls.
Allow cheats (NEXT disabled) is available in the host connection setup and
in the Rules tab. It defaults off; clients see and obey the host's choice.
When enabled, cheats execute through the shared command stream. NEXT is
blocked. MATCHLESS targets the sender's selection and FOOD affects their tribe.

The host can press Ctrl+F5 to save one shared multiplayer checkpoint, then
Ctrl+F4 to restore it. All connected players must close gameplay menus so the
shared command turn can proceed. Each computer receives and validates the
same checkpoint, including fog memory. Restoring retains each player's tribe
and camera, clears the host's saved selection, and resumes the command relay.
The file is _JWMP8.CP in the game folder or selected profile. Saving replaces
that checkpoint only after all participants validate the data. Clients cannot
initiate a save or restore. If any restore fails after changing a world, the
match stops instead of resuming mismatched states.

Checkpoints require the same player slots, tribes, teams, starting positions,
map and rules. There is no eight-player Continue button or saved-lobby browser;
this release verifies restoration within the running match. Departure or
changed lobby settings can make an older checkpoint incompatible.

Shuffled original maps retain tribe-specific production and convert foreign
starting specialist buildings/armories to buildings that tribe can use.
Custom maps retain the author's setup and do not offer position shuffling.
All computers must use the same v1.11E build.

CUSTOM CONTENT DOWNLOADS (v1.11E)
The host selects a custom map, or Custom campaign in the co-op lobby.
Joining players who lack the exact content see an in-game Download / Not now
prompt. Download transfers the required map, campaign, artwork and sound files
from the host, with a progress bar. Nothing downloads before consent. You can
cancel and use Refresh (or Download campaign) to try again. Ready remains
unavailable until the required content is verified. Both multiplayer lobbies
support custom-map downloads; custom campaigns use the two-player co-op lobby.
Downloads are limited to 256 MB and use content-checked caches. They do not
replace authored source maps, install executables, or change retail archives.
Keep the cache folders when moving the game or preserving its custom saves.
