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_platformbefore 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.