Files
EscapistsReintroduced/docs/dedicated-resource-audit.md

42 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Dedicated resource error diagnosis
The four error lines from the first successor Linux dedicated startup have two missing-resource causes in installed vanilla prefabs. No corresponding successor-authored helper entity or direct reference was found. A minimal successor gameplay patch is not justified by the source evidence: it would require changing inherited terrain content, replacing normal particle definitions or shadowing vanilla identities.
## Exact installed references
The read-only extraction uses the installed stable server's `addons/data/data002.pak`, not original Escapists content:
| Native error | Installed source evidence | Successor relationship |
| --- | --- | --- |
| Wrong GUID/name for `TransparentMat.emat` | `Prefabs/Structures/Cultural/Calvaries/CalvaryLarge_01.et:8`, `MeshObject` material assignment for `SourceMaterial "Decal"` refers to `{45ECF6B1797D3CD9}system/wbdata/PreviewWindow/TransparentMat.emat`. | Successor `Worlds/ERR_Everon.ent:2` inherits installed `worlds/Eden/Eden.ent`. Native stack identifies inherited Calvary entity 1104061 at approximately 8831/2673, outside the authored escape route. |
| Material file missing and default-material fallback | The same inherited Calvary's native creation subsequently requests that same missing material. | These are the third and fourth error messages for the first missing resource, not two independent successor defects. |
| Wrong GUID/name for `Gizmo3D/sphere.xob` | `Prefabs/Particles/Blasts/Blast_small_Invisible_Trigger.et:4–6` has a `MeshObject` with `Enabled 0`, but still sets `Object` to `{FF35BE9795BA3797}system/wbdata/Gizmo3D/sphere.xob`. | Installed vehicle/helicopter explosions, rotor destruction, grenade effects and mortar effects reference this particle contact trigger. The native log observes resource preloading, not creation of an authored visible editor sphere. |
The disabled mesh is paired with a real `SCR_ParticleContactComponent` configured for BLAST effects at lines 8–13. Removing the entire trigger would remove intended particle-contact behavior. A disabled mesh property does not prevent the resource resolver from validating its reference, as the actual native error demonstrates.
The installed particle scan found direct trigger references in `Particles/Vehicle/Helicopter/Helicopter_Explosion.ptc:1059`, `Helicopter_MI8_rotor_destruction.ptc:1394`, `Particles/Vehicle/Vehicle_explosion_small_01.ptc:914`, `Particles/Weapon/Explosion_RGD5.ptc:180` and `Particles/Weapon/Muzzle_Mortar.ptc:292`, among others. The source scan does not establish which one caused the first shared preload; the native stack names only the shared trigger.
All seven installed server PAK indices were searched. Neither `system/wbdata/PreviewWindow/TransparentMat.emat` nor `system/wbdata/Gizmo3D/sphere.xob` is present. Both referenced prefab files themselves are present with exact source hashes in the audit. Thus this is a packaged-runtime dependency mismatch, not merely a guessed wrong material name.
## Successor audit boundary
A scan of 133 frozen addon text files (`.c`, `.ent`, `.layer`, `.et`, `.conf`, `.layout`, `.emat`, `.gproj`) found no direct `system/wbdata`, Calvary, shared blast-trigger or affected GUID reference. The authored Everon layer has only seven top-level mission services: game mode, AI world, perception, factions, loadouts, radio manager and chat. Dynamic successor compositions are not implicated by the direct reference scan. Parent-world and vanilla prefab inheritance remain intentional.
The frozen sources and native log already prove these exact references are vanilla. The separate no-successor native control reproduced the same errors in the installed Everon Game Master scenario. This distinction matters: merely identifying a vanilla parent does not prove that a particular successor request could not have exposed a previously unused path.
Scan metadata is archived in [the resource audit](evidence/dedicated-resource-audit/installed-reference-scan.json). Extracted vendor assets remain outside Git under `/tmp/erri-dedicated-native-build/resource-audit`: read-only extracted source, `installed-reference-scan.json`, `authored-source-audit.json`, and the scanner. Raw first-run errors remain untouched in `attempt-02-header/profile/logs/logs_2026-09-19_08-32-13/console.log`. Copied vendor assets are evidence only and are not successor release resources.
## Repair decision
No gameplay/resource patch is made. Do not delete inherited Calvaries, replace broad explosion graphs, reassign vanilla GUIDs, add Workbench as a production dependency or suppress resource errors to obtain a clean-looking result. An upstream corrected runtime asset reference would address the common cause. If a future scoped compatibility replacement is necessary, it needs separate ownership/resource design and visual/particle validation; it is not an implied harmless fix from these logs.
## Vanilla control result
[The vanilla control log](evidence/dedicated-2026-09-19-084040-vanilla/profile/logs/logs_2026-09-19_08-40-40/console.log) records the regular Linux dedicated executable with no `-addons` or `-addonsDir`. Lines 29–31 list only native core `5614BBCCBB55ED1C` and ArmaReforger `58D0FB3206B6F859`; no successor project is loaded. Line 86 resolves installed `Missions/21_GM_Eden.conf` to header GUID `59AD59368755F41A`. Line 98 initializes its authored `GameMasterSystems.conf`. This control uses the vanilla scenario's systems, not successor MissionSystems.
The same missing material and sphere references reproduce at lines 92 and 95, with the same Calvary and blast-trigger prefab stacks. Lines 120–121 reproduce the material-not-found/default-material pair. Native mode enters GAME with zero players. The control also logs additional vanilla vehicle-property and empty-resource errors; those remain in the complete raw log and are not claimed to be successor errors or an entirely clean control.
The enumerated `vanilla-everon` route in the disconnected runner uses only `-server Missions/21_GM_Eden.conf` alongside the normal private profile/backend-disabled/native diagnostic options. It does not change JSON hosting, enable networking, override world systems or load successor source. Both preflight and immediate pre-exec namespace checks remain mandatory. Four source-local launcher tests pass, including rejection of network escape conditions and ensuring the vanilla control has no successor-loading arguments.
The control reached its 90-second supervision deadline and exited via owned-group SIGTERM. The follow-up host check found no owned supervisor or native server process remaining. The archived source-copy manifest was unchanged. All 21 control `(E)` lines are retained; four match the original two missing-resource causes exactly.