Merge owned systems into one addon while preserving resource identities. Gate player admission on the replicated prison scene, restore the original framed door, and hold enemy AI until escape. Correct scenario branding and author metadata, include publishing assets, and retain regression and native verification evidence.
49 lines
2.8 KiB
Markdown
49 lines
2.8 KiB
Markdown
# RKS #2 replication kick, 2026-09-20
|
|
|
|
The client connected to RKS #2 with Workshop version 0.0.1 and failed at
|
|
13:59:59 local time. Its log names Patrol, SupplySite, Radio and Extraction:
|
|
the server's root entity ID does not exist in the client's copy of the prefab.
|
|
The final kick is `REPLICATION / SYSTEM_FAILURE`.
|
|
|
|
SSH inspection of `RKSserver201` confirmed the game process remained running,
|
|
the mission was `{C1E20667DCE324ED}Missions/ERR_Everon.conf`, and the installed
|
|
mod was `2528466DE220D91C`. AMP recorded successful BattlEye RCON login after
|
|
the corrected mission started; its logs did not record the client-side kick.
|
|
Client and server SHA-256 hashes matched for `data.pak`, `addon.gproj` and
|
|
`resourceDatabase.rdb`. The old package's `data.pak` hash was
|
|
`fa63eb4214133b55dd24d527e8654f42a9dc8599a8f9369808804b2f52fb5f97`.
|
|
|
|
Nineteen authored prefabs lacked a serialized root `ID`. Each now has a fixed,
|
|
nonzero 64-bit ID in the prefab source. The shared field map already had one
|
|
and remains unchanged. Existing child IDs, component IDs and resource GUIDs
|
|
remain unchanged. `tools/check.py` now rejects missing or duplicate root IDs;
|
|
the regression also rejects child-only IDs, malformed IDs and zero IDs.
|
|
|
|
`python3 tools/check.py` passes all repository checks, including the new identity
|
|
regression. An initial `core/victory` Workbench attempt loaded the new prefabs
|
|
but hit the obsolete assertion that no companion HQ/support controller is loaded.
|
|
That isolation assumption no longer holds for the merged project. Its runner also
|
|
reported a transient process-classification failure during cleanup; a subsequent
|
|
prefix-idle check passed. This attempt is not counted as passing native evidence.
|
|
|
|
The subsequent combined `chat/hq-memory` fixture completed with 101 passed
|
|
assertions, no script/runtime failures, unchanged source and confirmed cleanup.
|
|
The [archived report](evidence/native-2026-09-20-prefab-ids/report.json) retains
|
|
the four existing RHS/WCS localization errors, so its strict overall native
|
|
verdict remains failed. This verifies local loading and scripted gameplay with
|
|
the new IDs, not a remote multiplayer join.
|
|
|
|
## Apply the update
|
|
|
|
1. Reopen `addons/core/addon.gproj` in Workbench to reload the changed resources.
|
|
2. Publish an update to the existing Workshop item `2528466DE220D91C`, using
|
|
version `0.0.2` and [the prepared changelog](../publishing/changelog-0.0.2.txt).
|
|
3. Stop RKS #2, update/download the Workshop mod, and start it again. Keep the
|
|
current mission ID and Workshop item ID.
|
|
4. Update the client mod and join again. Confirm both sides use the new version,
|
|
then check for the previous prefab-ID errors and test reconnect/late join.
|
|
|
|
Saving IDs in local source does not change the existing Workshop package.
|
|
A successful join with the updated package is still required to verify the
|
|
multiplayer fix.
|