Task: TODOS.phase-72.72.14.2.13
V2 mod multiplayer compatibility is a join preflight for modded sessions. The host specifies required mods, the client compares that list against local mod state, and the join plan auto-downloads missing mods, updates mismatched mods, enables installed disabled mods, or blocks join when requirements cannot be satisfied.
Policy#
FV2ModMultiplayerCompatibilityPolicy is created by
BuildDefaultModMultiplayerCompatibilityPolicy and enables:
- exact host/client version matching
- auto-download for missing required mods
- auto-update for mismatched installed mods
- auto-enable for installed disabled required mods
- join blocking until required mods are ready
- size limits for auto-downloads
Host And Client State#
FV2ModMultiplayerRequiredMod records the host-required mod id, display name,
required version, provider, provider id, package hash, estimated download size,
and required flag.
FV2ModMultiplayerClientMod records the client's installed version, provider,
provider id, installed state, and enabled state.
Join Plan#
EvaluateModMultiplayerCompatibility returns an
FV2ModMultiplayerCompatibilityReport. The report exposes whether the client
can join now, can join after downloads, requires auto-download, or requires
client action. It also includes warning/blocking counts, issues, and actions.
Missing required mods with downloadable providers create DownloadRequiredMod
actions. Version mismatches create UpdateInstalledMod actions when the
provider can supply the host version. Disabled installed mods create
EnableInstalledMod actions. Missing session ids, malformed host mod entries,
unavailable providers, oversized downloads, or disabled auto-download settings
create BlockJoin actions.
Verification#
Run:
python3 V2/ue/Tools/check-v2-mod-multiplayer-compatibility.py
python3 -m json.tool V2/ue/Content/V2/Modding/ModMultiplayerCompatibility_V2_Contract.json
The focused checker verifies runtime types, host required mods, client mod
comparison, auto-download on join, auto-update before join, auto-enable before
join, join blockers, automation assertions, docs, CI/Horde wiring, and TODO
evidence for 72.14.2.13.