diff --git a/games/satisfactory/game.yaml b/games/satisfactory/game.yaml new file mode 100644 index 0000000..c6fc46b --- /dev/null +++ b/games/satisfactory/game.yaml @@ -0,0 +1,102 @@ +# yaml-language-server: $schema=../../schema/game.schema.json +id: satisfactory +name: Satisfactory +defaultDockerImage: robtme/satisfactory-server +defaultStartupCommand: rm -rf /config && ln -s /server /config && /init.sh +requiredMemoryMb: 16384 +requiredDiskMb: 40960 +defaultPorts: + - 7777/udp + - 7777/tcp + - 8888/tcp +installMethod: STEAMCMD +installConfig: + appId: "1690800" +defaultConfig: + AUTOSAVENUM: "5" + DISABLESEASONALEVENTS: "false" + LOG: "false" + MAXOBJECTS: "2162688" + MAXPLAYERS: "4" + MAXTICKRATE: "30" + MULTIHOME: '::' + SERVERSTREAMING: "true" + SKIPUPDATE: "false" + STEAMBETA: "false" + STEAMBETAID: "" + STEAMBETAKEY: "" + TIMEOUT: "30" + VMOVERRIDE: "false" +configSchema: + properties: + AUTOSAVENUM: + category: System & General + description: Number of auto-save slots to keep. Older saves beyond this count are rotated out. + title: Auto-Save Count + type: string + DISABLESEASONALEVENTS: + category: Gameplay & Rules + description: Set to "true" to disable in-game seasonal events (holiday decorations, special items, etc.). + title: Disable Seasonal Events + type: string + LOG: + category: System & General + description: Set to "true" to retain old log files across restarts instead of clearing them on each start. + title: Keep Logs + type: string + MAXOBJECTS: + category: World & Environment + description: Maximum number of objects the world can contain. Increase for very large factories; lower values can help performance on constrained hardware. + title: Max Objects + type: string + MAXPLAYERS: + category: Gameplay & Rules + description: Maximum number of players that can join the server at the same time. + title: Max Players + type: string + MAXTICKRATE: + category: System & General + description: Server tick rate in ticks per second. Higher values improve responsiveness but increase CPU usage. + title: Max Tick Rate + type: string + MULTIHOME: + category: System & General + description: Network interface address for multi-homed servers. Leave as "::" to listen on all interfaces. + title: Multi-Home Address + type: string + SERVERSTREAMING: + category: System & General + description: Enable server-side streaming for improved performance when multiple players are in the same area. + title: Server Streaming + type: string + SKIPUPDATE: + category: System & General + description: Set to "true" to prevent the server from checking for and applying game updates on start. + title: Skip Auto-Update + type: string + STEAMBETA: + category: System & General + description: Set to "true" to join the Satisfactory experimental/beta branch. Requires a valid Beta Branch ID. + title: Steam Beta Branch + type: string + STEAMBETAID: + category: System & General + description: Steam beta branch identifier (e.g. "experimental"). Only used when Steam Beta is enabled. + title: Beta Branch ID + type: string + STEAMBETAKEY: + category: System & General + description: Steam beta access key. Only required if the beta branch is access-restricted. + title: Beta Branch Key + type: string + TIMEOUT: + category: System & General + description: Timeout in seconds for player connections before they are dropped. + title: Connection Timeout + type: string + VMOVERRIDE: + category: System & General + description: Set to "true" to skip the CPU model check. Only use if your hypervisor presents a generic CPU (e.g. QEMU) that would otherwise block startup. + title: VM CPU Override + type: string + type: object diff --git a/games/satisfactory/test.yaml b/games/satisfactory/test.yaml new file mode 100644 index 0000000..2cb50bf --- /dev/null +++ b/games/satisfactory/test.yaml @@ -0,0 +1,6 @@ +# yaml-language-server: $schema=../../schema/test.schema.json +# Values CI uses to boot-test this game. Never put real credentials here: map them under 'secrets'. +config: {} +secrets: {} +settleSec: 120 +timeoutSec: 3600