| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- {
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "$id": "https://raw.githubusercontent.com/GameServerManagers/LinuxGSM/master/lgsm/data/servers.schema.json",
- "title": "LinuxGSM server metadata",
- "type": "object",
- "required": ["schemaVersion", "servers"],
- "additionalProperties": false,
- "properties": {
- "$schema": { "type": "string" },
- "schemaVersion": { "const": 1 },
- "servers": {
- "type": "object",
- "propertyNames": { "pattern": "^[a-z0-9]+server$" },
- "additionalProperties": { "$ref": "#/$defs/server" }
- }
- },
- "$defs": {
- "server": {
- "type": "object",
- "required": ["ports"],
- "additionalProperties": false,
- "properties": {
- "ports": {
- "type": "array",
- "items": { "$ref": "#/$defs/port" }
- }
- }
- },
- "port": {
- "type": "object",
- "required": ["label", "variable", "default", "protocols"],
- "additionalProperties": false,
- "properties": {
- "label": { "type": "string", "minLength": 1 },
- "variable": { "type": "string", "pattern": "^[a-z0-9]+$" },
- "default": {
- "oneOf": [
- { "type": "integer", "minimum": 1, "maximum": 65535 },
- { "type": "null" }
- ]
- },
- "protocols": {
- "type": "array",
- "minItems": 1,
- "uniqueItems": true,
- "items": { "enum": ["tcp", "udp"] }
- },
- "note": { "type": "string", "minLength": 1 }
- }
- }
- }
- }
|