Files

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-run remains 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.build or 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