Asset Distribution and Late-Join Behaviour
Intended scope
Section titled “Intended scope”- What goes in
AssetDirectory— textures, bundles, overrides; filename-to-hash mapping. - Manifest generation —
ServerAssetManagerwalks the directory at startup, hashes each file, publishes toFileManifestMessage. - Delivery —
FileTransferSessionstreamsFileChunkMessagepayloads; client ACKs withFileTransferCompleteMessage. - Late joiners — manifest is pushed on connect regardless of round phase; in-flight chunks resume mid-round without interrupting gameplay.
- Override workflow — per-round or per-player asset swaps via
AssetOverrides. - Hot reloading —
AssetFileWatcherpicks up file changes; what clients see mid-session.
Sources
Section titled “Sources”Anomaly.Server\FileTransfer\ServerAssetManager.cs— manifest build.Anomaly.Server\FileTransfer\FileTransferSession.cs— chunk loop.Anomaly.Server\Assets\AssetOverrides.csandAssetFileWatcher.cs.- Reference → Asset Lifecycle.