Files

2.6 KiB

ADDED Requirements

Requirement: Run synchronizes a frozen DLL plan before server start

Run SHALL synchronize a declared UE4SS DLL extension before executing the associated process.start command. It SHALL compare the local managed-release marker against the frozen version/checksum, skip unchanged releases, and otherwise download, checksum-verify, stage, and atomically activate the declared DLL path within the scoped server workspace.

Scenario: Changed approved DLL updates before launch

  • WHEN a start job carries a valid extension plan whose release differs from the managed marker
  • THEN Run verifies and activates the new DLL before launching the server process.

Scenario: Unchanged approved DLL is reused

  • WHEN a start job carries the same version and checksum as the managed marker
  • THEN Run does not download the DLL again and proceeds to server launch.

Requirement: Run preserves DLL deployment safety boundaries

Run SHALL require HTTPS, a SHA-256 checksum, bounded content length, a safe logical target, and a declared .dll path. It SHALL write only managed extension files, retain one previous DLL for rollback, redact sensitive generated configuration, and never execute the DLL, inject a running process, load arbitrary libraries, or expose raw local paths/credentials through Platform-facing results.

Scenario: Invalid or mismatched payload does not activate

  • WHEN download fails, exceeds its byte limit, has a checksum mismatch, or the declared DLL path is unsafe
  • THEN Run keeps the prior managed DLL intact and returns a safe failed start result.

Requirement: Run explicitly rejects Linux UE4SS DLL activation

Run SHALL reject a ue4ss-dll extension plan when its local platform is not Windows amd64. It SHALL not attempt to map the DLL, invoke a shell loader, or substitute LD_PRELOAD.

Scenario: Linux extension start fails closed

  • WHEN a Linux Run receives a UE4SS DLL extension plan
  • THEN it returns unsupported_extension_platform before any download or process launch.

Requirement: Extension synchronization does not block independent channels

DLL download and verification SHALL run inside the claimed lifecycle job with bounded context while Run control heartbeat, job acknowledgement/result, cancellation polling, log spool upload, and artifact transfer remain independently scheduled.

Scenario: Slow DLL download preserves control and log traffic

  • WHEN a DLL download is blocked or slow during a start job
  • THEN Run continues its control heartbeat and durable log upload within their configured deadlines.