docs: live updates

docs/LiveUpdate.md: how to start one, the order, each kind of instance, the
states, routing, moving players and properties, messages, settings, what a
player sees and the limits. SeamlessTransfer.md, Commands.md and Dashboard.md
point to it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-28 15:01:29 -05:00
parent 109a936798
commit ffcf01e43b
4 changed files with 182 additions and 0 deletions

View File

@@ -209,6 +209,15 @@ All structs are in `dNet/InstanceMigration.h`, together with the pure planning f
`tests/dCommonTests/InstanceMigrationTests.cpp`. The values are appended after `NEW_SESSION_ALERT`; a branch that also
appends there has to put one set after the other when merged.
### Live updates
A live update ([LiveUpdate.md](LiveUpdate.md)) replaces every instance with these migrations
(`MigrationCoordinator::Options::liveUpdate`). It also moves what the commands refuse: character selection (its users
are sent to the new one), private instances (the replacement gets the same password), properties (saved and frozen
first with `MIGRATE_PREPARE`, answered `PREPARED`) and activity zones (after their players had time to finish). The
player's position is carried in `CarriedPlayerState` and applied when the target creates them, so properties and Moon
Base keep it too.
### Controls
* `/replaceinstance [warn seconds, 0-300, default 10] [seamless]`