{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "Minecraft platform configuration v1", "type": "object", "additionalProperties": false, "required": ["schema_version", "pack", "build", "server", "deploy"], "properties": { "schema_version": { "const": 1 }, "pack": { "type": "object", "additionalProperties": false, "required": ["directory"], "properties": { "directory": { "type": "string", "minLength": 1 } } }, "build": { "type": "object", "additionalProperties": false, "required": ["output_directory"], "properties": { "output_directory": { "type": "string", "minLength": 1 } } }, "server": { "type": "object", "additionalProperties": false, "required": ["host", "directory", "memory", "port"], "properties": { "host": { "type": ["string", "null"], "minLength": 1 }, "directory": { "type": ["string", "null"], "pattern": "^/" }, "memory": { "type": "string", "pattern": "^[1-9][0-9]*[MG]$" }, "port": { "type": "integer", "minimum": 1, "maximum": 65535 } }, "oneOf": [ { "properties": { "host": { "type": "null" }, "directory": { "type": "null" } } }, { "properties": { "host": { "type": "string" }, "directory": { "type": "string" } } } ] }, "deploy": { "type": "object", "additionalProperties": false, "required": ["transport", "healthcheck_timeout"], "properties": { "transport": { "const": "ssh" }, "healthcheck_timeout": { "type": "integer", "minimum": 1 } } } } }