{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Serverbrowser_v1_servers",
"type": "object",
"required": [
"servers"
],
"additionalProperties": false,
"properties": {
"servers": {
"type": "array",
"items": {
"$ref": "#/$defs/server"
}
}
},
"$defs": {
"server": {
"type": "object",
"required": [
"name",
"address",
"port",
"description",
"official",
"auth_server"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "Name of The Server"
},
"address": {
"type": "string",
"description": "Hostname or IP of Server"
},
"port": {
"type": "number",
"description": "Port of the Server"
},
"location": {
"type": "string",
"description": "country_code location of the server"
},
"description": {
"type": "string",
"description": "Description of the Server"
},
"auth_server": {
"type": "string",
"description": "FQDN of auth server used"
},
"query_port": {
"type": "integer",
"description": "Port used for server info queries"
},
"channel": {
"type": "string",
"description": "channel of the Server"
},
"official": {
"type": "boolean",
"description": "is the gameserver officially hosted by the veloren developers"
},
"extra": {
"type": "object",
"additionalProperties": true,
"propertyNames": {
"pattern": "^[a-z][a-z_]*$"
},
"patternProperties": {
"^.*": { "$ref": "#/$defs/extra" }
},
"description": "extra fields for the server in various formats"
}
}
},
"extra": {
"type": "object",
"required": [
"name",
"content"
],
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "A human-readable suggested name"
},
"content": {
"$ref": "#/$defs/extra-content",
"description": "The content of the field."
}
}
},
"extra-content": {
"type": "object",
"additionalProperties": false,
"properties": {
"url": {
"type": "string",
"description": "This field's content should be interpreted as a URL"
},
"text": {
"type": "string",
"description": "This field's content should be interpreted as human-readable plaintext"
}
},
"oneOf": [
{
"type": "object",
"required": ["url"]
},
{
"type": "object",
"required": ["text"]
}
]
}
}
}