3.1 KiB
MODIFIED Requirements
Requirement: Server creation requires only plugin type and server name
The system SHALL require only the game plugin type and the server name to create a server instance, and SHALL NOT require a deployment target, run endpoint, or runtime profile at creation time. The creation workflow MAY collect plugin-declared deployment mode, game configuration, and startup fields before submit, but those fields SHALL NOT create a durable run endpoint binding.
Scenario: Creation form field set
- WHEN an owner opens the server creation workflow
- THEN the form requires plugin type and server name only, may present plugin-declared deployment/startup inputs, and presents no deployment target or run endpoint selector as a creation prerequisite
Scenario: Creation without any registered runtime session
- WHEN an owner creates a server instance while no Run has registered for that instance
- THEN creation succeeds and the instance is created without a run endpoint binding
Scenario: Runtime session established by run registration
- WHEN a generated Run for that instance registers itself with the platform
- THEN the platform creates or renews a Redis runtime session lease for that server Run and does not persist a server-to-run-endpoint association
Scenario: Runtime profile and endpoint selection are not creation prerequisites
- WHEN an owner opens an already-created instance
- THEN runtime profile and run endpoint selection are not required to make the instance exist, generate a Run package, or show runtime connection guidance
Requirement: Build availability is independent of run endpoint capabilities
The system SHALL determine generate-run and generate-client-manager availability from plugin declarations, runtime bindings, and platform builder readiness, and SHALL NOT require any machine-side Run session or durable run endpoint row to advertise distribution.build.
Scenario: Instance has only its generated Run runtime session
- WHEN a server instance's only live runtime session is its generated Run, which holds no distribution-build authority
- THEN
generate-runremains available and a new run distribution can be generated through the platform builder
Scenario: No privileged worker endpoint registered
- WHEN no machine-side Run advertises
distribution.buildor no legacy endpoint row exists - THEN run generation still succeeds through the platform Docker builder
Scenario: Builder unavailable
- WHEN the platform Docker builder is unavailable
- THEN the unavailable reason names the platform builder rather than a run endpoint capability
Requirement: Generated runs hold no distribution-build authority
The system SHALL continue to deny distribution-build work to component-authenticated generated Runs. This restriction is a security boundary and SHALL NOT be relaxed to unblock building.
Scenario: Generated run claims a build
- WHEN a component-authenticated generated Run session claims work advertising
distribution.build - THEN the platform does not assign distribution build work to that Run session