Files
EscapistsReintroduced/docs/multiplayer-prefab-ids.md
jakub cab998fb64 Combine Workshop addon and fix prison startup
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.
2026-09-20 16:42:52 +02:00

2.8 KiB

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 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.
  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.