Harden portal persistence, protection, and multiplayer behavior #78

Closed
opened 2026-10-12 15:16:21 -04:00 by dnorberg · 2 comments
Owner

Goal

Make the new crystal-portal system safe and reliable after its core behavior is implemented in the portal issue.

Acceptance criteria

  • Persist and recover portal endpoints/links across full server restart and Age reload without duplicating or orphaning portals.
  • Verify simultaneous multiplayer travel, cross-dimension return paths, cooldown/loop protection, and safe arrival footing.
  • Respect block protection events and existing instability protection for frames, portal surfaces, and arrival areas.
  • Release any temporary chunk tickets and avoid unattended permanent force-loading.
  • Cover invalid/removed destinations, broken frames, and old worlds lacking portal data with focused and manual regression checks.

Depends on the core crystal-portal issue.

## Goal Make the new crystal-portal system safe and reliable after its core behavior is implemented in the portal issue. ## Acceptance criteria - [ ] Persist and recover portal endpoints/links across full server restart and Age reload without duplicating or orphaning portals. - [ ] Verify simultaneous multiplayer travel, cross-dimension return paths, cooldown/loop protection, and safe arrival footing. - [ ] Respect block protection events and existing instability protection for frames, portal surfaces, and arrival areas. - [ ] Release any temporary chunk tickets and avoid unattended permanent force-loading. - [ ] Cover invalid/removed destinations, broken frames, and old worlds lacking portal data with focused and manual regression checks. Depends on the core crystal-portal issue.
dnorberg added this to the Milestone 7 — Structures and polish milestone 2026-10-12 15:16:21 -04:00
Author
Owner

Source audit: Milestone 7 Legacy audit. Keep receptacle/book ownership and connected-path behavior through restart, while adding modern protection checks, bounded chunk activity, loop prevention, multiplayer, and invalid-destination handling.

Source audit: [Milestone 7 Legacy audit](https://truenas-scale.tail180fb1.ts.net:8443/dnorberg/rivencraft/src/branch/main/docs/LEGACY_M7_AUDIT.md). Keep receptacle/book ownership and connected-path behavior through restart, while adding modern protection checks, bounded chunk activity, loop prevention, multiplayer, and invalid-destination handling.
Author
Owner

Implemented and verified in V0.6.3.4 (commit 4a87c9f). The restart failure came from reading a saved BlockPos as a compound tag instead of an integer array; existing ownerless portal cells now recover from their intact book receptacle. The player confirmed an in-game pass, and all 62 GameTests pass.

Implemented and verified in V0.6.3.4 (commit 4a87c9f). The restart failure came from reading a saved BlockPos as a compound tag instead of an integer array; existing ownerless portal cells now recover from their intact book receptacle. The player confirmed an in-game pass, and all 62 GameTests pass.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dnorberg/rivencraft#78