Conversation
|
No blocking issues found. Access persistence: data model and protocol
The RPC rename to Empty-password fast path ( When the local ZDO shows An empty password fails
The anti-spoofing check (
Storage retry loop
The patch calls Live risks (acknowledged, not introduced by the diff) World-save persistence, Harmony patch interaction with the full Season 8 mod set, and ownership-transfer edge cases are called out in the PR body and the test README. None of these are regressions introduced by this diff; they were present before and are left for the live test procedure described in |
|
No blocking issues found. Overview: The PR unifies helm and storage access under a single persistent per-character access record stored in the ship ZDO, adds a new Correctness observations
The verifier echo ( The Protocol compatibility The V2 rename of |
|
No blocking issues found. The implementation correctly persists boat access via a pipe-delimited Access persistence and ZDO lifecycle
Already-authorized helm bypass
The comment correctly explains that
Storage retry loop
Verifier freshness check in
Minor observations (non-blocking)
|
Players currently enter the boat password every time they take the helm, while boat storage has no password check. This change saves access per character on the boat and uses the same access for its helm and storage. Access remains through reconnects, restarts, and password changes until the boat is destroyed. Setting a password also grants the creator access.
Storage prompts for the password and opens after authorization. Owner-side checks protect open, stack, and take-all requests and reject requests using another character's identity. Existing ward and container checks remain in effect. Install this version on the server and participating clients because owner grant payloads use version 2 messages.
Removes
ShipRudderOwnershipPatch.cscompletely. NetworkPerformanceSystem handles ownership through its existing helm patches. Password authorization is saved on the current boat owner before control is granted; NPS transfers that boat data with ownership. No replacement ownership patch or direct NPS dependency is added.Validation on September 30, final commit
b6d9d39:git diff --checkpassed.Known compatibility limitation: an open passenger chest panel can disappear when NPS transfers boat ownership to the player steering. This also reproduced after clearing the boat password. Releasing the helm and reopening storage worked without re-entering a password. Saved authorization remains intact, but this PR does not resolve simultaneous steering/storage behavior.
Log review found no boat-password exceptions. Other issues remain: PieceManager snapshot null-reference errors, a location-unload
ZoneSystem.UnsetLoadingInZoneerror during client setup, a DiscordConnector shutdown null-reference error, rendering/configuration warnings, and candidate hash/audit warnings from ValheimEnforcer. Older duplicate mod DLLs were skipped in favor of the loaded production versions. The server logged the candidate audit without enforcement and both clients remained connected. Setup also needed retries for teleport loading and joining before server readiness.Test boats and helpers were removed. Original profile contents and metadata were restored and verified against backup hashes. Original client profile selections were restored. Both Valnet machines and Valdev were returned to their initial stopped state after checking the restored Valdev profile loads.
Evidence:
/Users/benjmarston/Develop/valheim-validation-evidence/boat-nps-20260930/contains command output, inspected screenshots, server/client logs, candidate file hashes, and restoration results. Earlier evidence remains inboat-access-20260930/. No test or documentation files are included in this PR.