Fighting Game · Guides & deep dives

V2 Live Event Content Delivery

Live event content bundles define:

5sections1 minread

On this page

This runbook covers TODOS.phase-72.72.12.2.6: live event content delivery to download event assets on demand, including maps, cosmetics, and NPC dialogue, without a full patch.

The implementation lives in @v2/live-event-content-delivery-service at apps/v2/live-event-content-delivery-service/. Its contract is V2/ue/Content/V2/LiveOps/LiveEventContentDelivery_V2_Contract.json and the validation gate is V2/ue/Tools/check-v2-live-event-content-delivery.py.

Content Manifests#

Live event content bundles define:

  • bundleId
  • eventId
  • requiredClientVersion
  • onDemand
  • fullPatchRequired
  • assets

Each asset includes assetId, assetKind, contentHash, sizeBytes, uri, and mountPoint. Supported asset kinds are map, cosmetic, and npc-dialogue. The service validates duplicate bundles, duplicate asset IDs, content hashes, HTTPS URIs, mount points, asset sizes, asset-kind coverage, and the no full patch requirement before publishing a manifest.

On-Demand Downloads#

buildV2LiveEventContentDeliverySurface publishes the server-authoritative manifest. planV2LiveEventContentDownload compares the requested event bundle against installed content hashes and returns only the missing assets. Download plans always use downloadMode: on-demand, set fullPatchRequired: false, and keep requiresClientPatch: false.

Primary APIs:

  • buildV2LiveEventContentDeliverySurface
  • planV2LiveEventContentDownload

Endpoints:

  • GET /v2/live-ops/events/{eventId}/content-manifest
  • GET /v2/live-ops/events/{eventId}/content/{bundleId}/download-plan
  • POST /v2/live-ops/events/{eventId}/content/{bundleId}/acknowledge

Operator Flow#

  1. Author live event content bundles with map, cosmetic, and NPC dialogue assets.
  2. Publish manifests through buildV2LiveEventContentDeliverySurface.
  3. Request per-account download plans when a player enters the event.
  4. Download only missing event assets on demand.
  5. Reject any bundle that requires a full patch before it reaches production.

Release Gates#

Required gates:

  • live-event-content-delivery-package
  • live-event-content-delivery-on-demand
  • live-event-content-delivery-maps
  • live-event-content-delivery-cosmetics
  • live-event-content-delivery-npc-dialogue
  • live-event-content-delivery-no-full-patch
  • live-event-content-delivery-validation
  • live-event-content-delivery-ci-wired

Verification#

bash
pnpm --filter @v2/live-event-content-delivery-service test
pnpm --filter @v2/live-event-content-delivery-service typecheck
pnpm --filter @v2/live-event-content-delivery-service lint
pnpm --filter @v2/live-event-content-delivery-service build
python3 V2/ue/Tools/check-v2-live-event-content-delivery.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py