Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
@@ -0,0 +1,59 @@
{
"console_path": "/tmp/erri-dedicated-packed-20261002-objective-map/profile/logs/logs_2026-10-02_10-54-47/console.log",
"console_sha256": "24334306ef7690e6c45f2968f84dfcd940ae65a5d3d98da80668c827f346f432",
"loaded_addon_ids": [
"5614BBCCBB55ED1C",
"58D0FB3206B6F859",
"1337C0DE5DABBEEF",
"BADC0DEDABBEDA5E",
"595F2BF2F44836FB",
"629B2BA37EFFD577",
"5E389BB9F58B79A6",
"5E524E4FEECCA92B",
"65930CB4CD0237B2",
"2528466DE220D91C"
],
"scenario": "{C1E20667DCE324ED}Missions/ERR_Everon.conf",
"world": "$ERR_Core:Worlds/ERR_Everon.ent",
"mission_ready_rows": [
"10:55:43.726 SCRIPT : Reintroduced [mission]: phase 0 -> 1",
"10:55:43.726 SCRIPT : Reintroduced [prison]: one intact successor lock in owned prison"
],
"game_compile_complete": true,
"script_error_count": 0,
"all_error_count": 11,
"error_categories": {
"RESOURCES": 4,
"WORLD": 7
},
"script_warning_count": 22,
"all_warning_count": 24,
"retained_errors": [
"10:54:47.618 RESOURCES (E): Wrong GUID/name for resource @\"{0AFDD005CD669892}Language/rhs_localization.st\" in property \"StringTableSource\"",
"10:54:47.618 RESOURCES (E): Wrong GUID/name for resource @\"{41FA2A08B6971D4C}Language/wcs_armament_localization.st\" in property \"StringTableSource\"",
"10:54:47.618 RESOURCES (E): Wrong GUID/name for resource @\"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st\" in property \"StringTableSource\"",
"10:54:47.618 RESOURCES (E): Wrong GUID/name for resource @\"{E50E557B468C7073}Language/wcs_bmp1_localization.st\" in property \"StringTableSource\"",
"10:54:59.158 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)",
"10:54:59.158 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)",
"10:54:59.159 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)",
"10:54:59.159 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)",
"10:54:59.159 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)",
"10:54:59.159 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)",
"10:54:59.250 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)"
],
"result": {
"reason": "mission-started-observed-15s",
"exit": -15,
"supervisor_reaped": true,
"elapsed_seconds": 72.03,
"real_players": 0,
"multiplayer_proven": false,
"release_qualified": false
},
"preservation": {
"package_unchanged": true,
"external_unchanged": true,
"binary_unchanged": true
},
"scope": "Exact packed successor +7authorized external addons +2vanilla addons compiled and reached PRISON on isolated Linux dedicated runtime; empty server only. No MP/FPS/release qualification."
}
@@ -0,0 +1,34 @@
{
"scope": "Bounded dedicated-server assumptions in admission, scene handoff, objective snapshots and restart, distinct from owner-hint/radio review",
"verdict": "No demonstrated production defect; no proposed patch",
"tests": {
"test_local_admission.py": 0,
"test_spawn_scene.py": 0,
"test_spawn_scene_lease.py": 0,
"test_native_end_lifecycle.py": 0,
"test_failure_result_refresh.py": 0,
"test_view_distance.py": 0
},
"hashes": {
"ERR_GameMode.c": "ea6e80333cc8b6561fc4b76dd7811a7a539007cf60b4d85dfe4943ff7994f317",
"ERR_SpawnLogic.c": "47a39c951be71bfcf1cc50526d507d0f9d8ef2fc09408697b6fe6b0dc5a529e2",
"ERR_LocalAdmission.c": "a076922d1ae966cf5cc67b198166ca6b1288358fb7f641207a4681e6a610a2ae",
"ERR_SpawnClientScene.c": "b56f99a91cdc53bdb93d320d10839339022d7e61e6b101eee8296271abd7d3cb",
"ERR_Objectives.c": "b9cd5bb3b193c20401175c4328405be1b121e8a60b7b5999910b6a71f834af8a",
"ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
"ERR_Location.c": "5b0b058130ccac02bdc1dcd6474d51a6f45da4dd52ed6c37906692fca3f194b1"
},
"findings": [
"GameMode initializes authoritative scenario/services/ticks on Replication.IsServer independently of any local controller. Console checks exclude only local observer/camera distance work.",
"LocalAdmission snapshots offline RplMode.None; Listen/Dedicated Resolve returns original native identity and Validate true without requiring a local controller.",
"SpawnLogic resolves per-player controllers through PlayerManager; SpawnClientScene uses the request owner controller and reliable owner/server RPC acknowledgement, never global local controller for dedicated admission.",
"Objectives create native replicated tasks server-side; Tick repeats assignment for current player IDs so later-created task executors can acquire existing phase task. Description comes from authoritative services, while guide reads replicated phase/feedback.",
"Location identity/knowledge, mission phase/factions/recovery and personal escape result/mission identity are replicated; reconnect result publication remains server-owned.",
"OnGameModeEnd/StopServices remove authority callbacks and close services; late tickets pin original mode/controller, personal result getter rejects a mismatched mission RplId."
],
"limits": [
"No actual dedicated-server or remote multiplayer client was launched.",
"Offline harnesses cannot prove network delivery, JIP replication timing or real remote owner behavior.",
"Native task creation failure is logged but no reproducible ordinary missing-task sequence was established; no speculative retry policy added."
]
}
@@ -0,0 +1,21 @@
{
"runner_sha256": "1f0b10b9067ba9d6e3a457e8f6b0439f75856657b53fb6826cf608961328d97f",
"package_files_exact": 416,
"binary_hash_matches_archive": true,
"external_addons": 7,
"external_fingerprint_records_changed_since_package_cache": [],
"native_processes_at_review": [],
"verdict": "No launch blocker found for bounded isolated empty-server startup; recheck run-time gates at launch",
"review": [
"Package and binary are read-only mounts and hash-verified before launch; current external records exactly match cached package fingerprints.",
"Home/tmp/run are masked, environment cleared, private writable run directory only; network/PID namespaces, loopback-only preflight and noBackend/noSound prevent ordinary network/display/audio activity.",
"Nonblocking shared dedicated lock, prelaunch native process scan, parent serialized execution;110s run with owned process-group cleanup5s TERM then5s KILL and PID namespace child containment.",
"Result correctly marks0real players and multiplayer/release unproven."
],
"limitations": [
"Existing process check is a snapshot, not a universal cross-runner lock; parent serialization remains necessary.",
"Mounted vanilla game data is read-only but not comprehensively hashed by this script.",
"Source bindings external_addons.py and dedicated_native.PROBE are imported from working tree; script archives itself but not those helper hashes.",
"Cleanup result records supervisor reap rather than separate post-run descendant inventory; parent should verify process absence after run."
]
}
@@ -0,0 +1 @@
PASS: late authoritative failure reason refreshes open result; detach, mode change and success subscriptions preserved
@@ -0,0 +1 @@
PASS: actual local admission context/selection/latch, same-round late identity, replacement/mode failure, fresh round and untouched network path
@@ -0,0 +1 @@
PASS: actual native-end shutdown, existing terminal snapshots, reentrancy, unchanged native end data and stale preparation guards
@@ -0,0 +1 @@
PASS: delayed scene/inventory arrival, deferred preload, identity checks, stale replies, timeout and observer cleanup
@@ -0,0 +1 @@
PASS: spawn scene remains held through final acknowledgement and nearby use; leaving, reassignment, disconnect and teardown release it
@@ -0,0 +1 @@
PASS: view-distance bounds, default, save failures, command parsing, temporary ownership, server/platform limits and lifecycle wiring