Add cancellation and cleanup for native server creation
This commit is contained in:
@@ -400,3 +400,29 @@ remain enforced at command admission.
|
||||
Older completed operations whose progress snapshots were already discarded
|
||||
cannot recover missing check results from this change. Their surviving events
|
||||
and host command records remain available without inventing verification times.
|
||||
|
||||
### Cancel an unfinished creation
|
||||
|
||||
On the native creation operation page, **Cancel creation and remove server**
|
||||
stops the launch and queues removal of its exact instance and generation. It
|
||||
also works when readiness checks are stuck or the creation failed. This explicit
|
||||
cancellation skips player-count checks on both the controller and agent, even
|
||||
if players have joined. Completed creations use the normal safe removal flow.
|
||||
|
||||
The cancelled operation links to a durable cleanup operation with agent receipts
|
||||
and progress. An unsubmitted launch releases its reservations immediately. Once
|
||||
an agent command was queued, ports and the instance identity remain reserved
|
||||
until the agent confirms container and instance-file removal. Shared game
|
||||
libraries, runtime images, saved server keys, and operation history are retained.
|
||||
Repeated cancellation requests return the same cleanup operation. A queued
|
||||
normal removal waiting for occupancy is superseded by this cleanup.
|
||||
|
||||
Remote cancellation requires agent 1.3.0 or later (`instance.cancel-create`
|
||||
capability). An older agent is never sent the unsupported cleanup command;
|
||||
the cleanup page explains that it is waiting for an update. Offline or disabled
|
||||
hosts retain the cleanup request until they reconnect or are enabled. Heartbeats
|
||||
notify an executing create to stop between Docker commands; an already executing
|
||||
Docker command must return or time out before cleanup can run. Cancellation
|
||||
does not require the original creation to acknowledge completion. The agent
|
||||
records a removal tombstone before cleanup so a delayed creation command cannot
|
||||
recreate the instance, and resumes interrupted cleanup under the same operation ID.
|
||||
|
||||
Reference in New Issue
Block a user