Add SCUM Source RCON transport

This commit is contained in:
npc0-hue
2026-07-23 10:55:31 +08:00
parent ec96c22e4c
commit 742f96ea02
33 changed files with 1297 additions and 19 deletions
+17
View File
@@ -187,6 +187,23 @@ describe("plugin manifest validation", () => {
expect(errors).toEqual([]);
});
it("declares Source RCON for the Windows local lifecycle without activating the unpublished DLL", () => {
const manifestPath = path.join(pluginsRoot, "examples/scum-server-plugin/manifest.json");
const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf8")) as {
runtimeProfiles?: {
lifecycleProfiles?: Array<{ key: string; capabilities?: string[]; transportKeys?: string[]; dllExtensionRefs?: string[] }>;
dllExtensions?: Array<{ key: string; releaseState: string }>;
};
};
const local = manifest.runtimeProfiles?.lifecycleProfiles?.find((profile) => profile.key === "run-local");
const extension = manifest.runtimeProfiles?.dllExtensions?.find((candidate) => candidate.key === "scum-simple-rcon-ue4ss");
expect(local?.capabilities).toContain("remote.run.rcon.command");
expect(local?.transportKeys).toContain("rcon");
expect(local?.dllExtensionRefs).toBeUndefined();
expect(extension?.releaseState).toBe("unpublished");
});
it("rejects unpinned, unsafe, or unpublished SCUM UE4SS DLL activation", () => {
const missingPins = validateTemporaryScumCompanionManifest((manifest) => {
const extension = manifest.runtimeProfiles.dllExtensions[0];