{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Lobby server set",
  "description": "A set of lobby servers",
  "type": "array",
  "items": {
    "title": "Lobby server",
    "description": "A lobby server",
    "type": "object",
    "properties": {
      "version": {
        "description": "The lobby server engine version",
        "type": "string",
        "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$"
      },
      "host": {
        "description": "The lobby server host",
        "type": "string",
        "anyOf": [
          { "format": "host-name" },
          { "format": "ipv4" },
          { "format": "ipv6" }
        ]
      },
      "port": {
        "description": "The TCP port on which the lobby server accepts connections",
        "type": "number",
        "minimum": 0,
        "maximum": 65535
      },
      "message": {
        "description": "The message displayed when a user connects to an available lobby server",
        "type": ["string", "null"]
      },
      "error_message": {
        "description": "The message displayed when a user connects to an unavailable lobby server",
        "type": ["string", "null"]
      }
    },
    "required": ["version", "host", "port", "message", "error_message"],
    "additionalProperties": false
  }
}
