# Authoring base mission sites Core loads `Configs/ERR/EveronSites.conf` through the scenario component on its game mode prefab. Definitions describe initial content; `ERR_SiteService` owns physical entities; `ERR_GameMode` alone advances the escape. ## Current Everon route | Site | Position (X/Z) | Initial content | | --- | --- | --- | | Prison | 6090 / 7160 | New prison composition; 5 PM pistols, 8 magazines and a field map; guard squad | | Southern supply cache | 6150 / 7050 | 8 AK-74 rifles, 16 loose magazines, 12 dressings, 2 radio documents; guard squad | | Western supply cache | 5960 / 7220 | 4 AK-74 rifles, 8 loose magazines, 6 dressings, 2 radio documents; guard squad | | Medical stash | 6340 / 7400 | 12 dressings, 6 saline bags, 6 morphine injectors, 3 maps; unguarded | | Radio station | 6500 / 7200 | Radio objective and guard squad | | Eastern guard outpost | 6740 / 7300 | 2 AK-74 rifles, 10 loose magazines, 2 binoculars, 4 dressings, 3 static sandbag barriers; guard squad | | Extraction | 7000 / 7500 | Extraction marker, vanilla helicopter and guard squad | Escape reveals both supply caches by name. Each independently contains enough physical documents to identify the radio; losing one before recovering any clues leaves the other route available. Caches are about 238 metres apart, roughly 125 and 143 metres from the prison. The medical stash and outpost are optional detours. Once the escape has begun, conscious players within 25 metres of the medical stash or 35 metres of the outpost can discover it through a clear native line-of-sight trace. Unknown objective sites cannot be revealed by proximity. The seven sites have 117 explicitly authored stock entities and six six-person guard squads. Vanilla weapons may contain their own magazines or attachments, so recursive inventory totals are larger. The optional AI addon adds its existing finite mortar crew separately. All enemies are initial physical forces; alerts do not spawn reinforcements. All content is newly authored composition data or references to installed vanilla resources. Five finite crates use a vanilla weapon-crate model with 120 litres of storage, an 80 kg limit and 120/40/40 cm maximum item dimensions. They have a generic inventory manager and no arsenal or restocking controller. The Map companion may substitute its shared map for authored vanilla maps; essential progression stays in Core. The new sandbag resource has static collision and no destruction controller; destruction behavior is not implemented. ## Definition fields and limits Each `ERR_SiteDefinition` has a unique `Id`, a nonempty `Label` of at most 64 characters, `Kind`, composition `Prefab`, world `Position`, optional guard group and offset, and optional container and offset. `Stock` entries specify a prefab and finite count. Objective-document entries require `TargetId` naming a radio site. `RevealOnEscape` exposes a supply location after prison escape. `DiscoverRadius` permits visual discovery only for optional DEPOT/OUTPOST sites, is bounded to 60 metres, and defaults to zero. Both disclosure mechanisms are rejected on prison/radio/extraction definitions. `Props` places finite scenery with a prefab, ground-relative offset and angles. There may be at most 12 props per site and 64 overall, with offsets at most 40 metres long. Runtime footprint checks reject obstructed placement rather than clearing existing scenery. Height offsets are applied after terrain sampling. Prop templates must supply appropriate static collision and replication; the service does not construct destruction controllers. The first release requires exactly one prison, radio and extraction site. Definitions are bounded to 32 sites, eight guard groups and 256 authored stock entities, with at most 64 of any stock entry. A starting map is required. `MinimumRadioSources` is two in Everon (authoring range 1–8); each qualifying prison or escape-revealed site must contain at least two radio documents, and qualifying sites must be at least 100 metres apart. Duplicate IDs, dangling/wrong-kind document targets, missing containers and insufficient independent clue routes fail validation before spawning. ## Ownership, discovery and failures Preparation has pending, ready and failed results. Each item is spawned once; rejected inventory insertion retries use that same physical entity. Accepted requests are not resubmitted while awaiting confirmation. The mission stays in preparation until every authored item is present in its destination inventory. A bounded timeout rolls back the authored entities and keeps player spawning disabled instead of starting with incomplete objectives. Once ready, checking preparation again returns the existing result. It does not recreate stock, destroyed containers or guards. Guards register once with the mission so the optional HQ coordinates existing forces. Discovery scans run at most every five seconds and skip known sites; they check conscious player state, horizontal distance, an eight-metre vertical bound and native world/entity visibility. Knowledge changes publish the server-side `OnLocationDiscovered(location, previous, current)` event once per transition. Replicated knowledge and names drive local map labels; the event itself is not a client RPC. End-of-round world teardown disposes of mission entities; mission stop cancels activation and strategic services. Full entity-count and multiplayer ownership soak tests remain necessary. The new sites were chosen with a read-only native terrain/obstruction survey. Across four-metre terrain samples, elevation ranges are 0.375 metres (western cache), 0.15625 metres (medical) and 0.6875 metres (outpost). Runtime checks also reject obstructed crate and prop footprints. This does not establish navmesh access, rendered presentation, fair encounters or manual playability. See the native regression results in [validation](validation.md); medical treatment and multi-client inventory contention remain unverified. Guard population can use `Guarded 1` to select the injected faction catalog's group prefab. An explicit `Guards` resource remains available for specialized compositions, but its runtime faction must match the catalog's enemy faction. Changing faction keys does not retag incompatible assets.