{
  "panel": {
    "console": {
      "send": "socket",
      "regex": "(?:.+(?=m)m)?(\\d+:\\d+:\\d+) \\[\\w+ (\\w+)\\] (.*)",
      "levels": {
        "map": [
          {
            "name": "Info",
            "match": "(Notification|Event)",
            "type": "regex",
            "colour": "white"
          },
          {
            "name": "Warn",
            "match": "Warning",
            "type": "string",
            "colour": "yellow"
          },
          {
            "name": "Error",
            "match": "Error",
            "type": "string",
            "colour": "red"
          },
          {
            "name": "Debug",
            "match": "(.*)",
            "type": "regex",
            "colour": "cyan"
          }
        ],
        "replace": false
      },
      "map": {
        "timestamp": 1,
        "level": 2,
        "message": 3
      }
    },
    "connectPort": ""
  },
  "files": [
    {
      "name": "config",
      "path": "vintage/serverconfig.json",
      "handler": "json",
      "default": true
    }
  ],
  "type": "object",
  "title": "Vintage Story Config",
  "properties": {
    "WorldConfig": {
      "type": "object",
      "title": "World Config",
      "properties": {
        "Seed": {
          "type": "string",
          "title": "Seed",
          "description": "World generation seed",
          "default": ""
        },
        "WorldName": {
          "type": "string",
          "title": "World Name",
          "default": "A new world"
        },
        "AllowCreativeMode": {
          "type": "boolean",
          "title": "Allow Creative Mode",
          "description": "Is creative mode allowed?",
          "default": true
        },
        "PlayStyle": {
          "type": "string",
          "title": "Play Style",
          "default": "surviveandbuild"
        },
        "PlayStyleLangCode": {
          "type": "string",
          "title": "Play Style language code",
          "default": "surviveandbuild-bands"
        },
        "WorldType": {
          "type": "string",
          "title": "World Type",
          "default": "standard"
        },
        "WorldConfiguration": {
          "type": "null",
          "title": "World Configuration",
          "default": null
        },
        "RepairMode": {
          "type": "boolean",
          "title": "Repair Mode",
          "description": "Enable world repair mode",
          "default": false
        }
      }
    },
    "ServerLanguage": {
      "type": "string",
      "title": "Server Language",
      "default": "en"
    },
    "ServerName": {
      "type": "string",
      "title": "Server Name",
      "default": "CreeperHost Vintage Story Server"
    },
    "ServerUrl": {
      "type": "string",
      "title": "Server URL",
      "description": "A link to the website of the server",
      "default": "https://creeper.host"
    },
    "ServerDescription": {
      "type": "string",
      "title": "Server Description",
      "default": "A CreeperHost Vintage Story Server"
    },
    "WelcomeMessage": {
      "type": "string",
      "title": "Welcome Message",
      "default": "Welcome {0}, may you survive well and prosper"
    },
    "Port": {
      "type": "integer",
      "title": "Server Port",
      "description": "Port used to connect to the server",
      "default": 42420
    },
    "AdvertiseServer": {
      "type": "boolean",
      "title": "Whether the server is advertised in the master server list",
      "default": true
    },
    "MaxClients": {
      "type": "integer",
      "title": "Max Clients",
      "Description": "The maximum number of players permitted to connect to the server",
      "default": 16
    },
    "Password": {
      "type": "string",
      "title": "Password",
      "default": null
    },
    "MaxChunkRadius": {
      "type": "integer",
      "title": "Max Chunk Radius",
      "default": 12,
      "description": "The number of chunks to load around each player. Lower = less ram"
    },
    "DefaultRoleCode": {
      "type": "string",
      "title": "Default Role",
      "description": "The default role a new player will join with. See serverconfig.json for more details",
      "default": "suplayer"
    },
    "AntiAbuse": {
      "type": "integer",
      "enum": [
        "Off",
        "Basic",
        "Pedantic"
      ],
      "title": "Anti Abuse level. Disabled by default due to issues",
      "default": 0
    },
    "OnlyWhitelisted": {
      "type": "boolean",
      "title": "Only Whitelisted",
      "description": "If to only allow whitelisted players to join",
      "default": false
    },
    "VerifyPlayerAuth": {
      "type": "boolean",
      "title": "Verify Player Auth",
      "description": "Whether to verify the identity of players",
      "default": true
    },
    "AllowPvP": {
      "type": "boolean",
      "title": "Allow PVP",
      "description": "Is PVP Enabled on the server",
      "default": true
    },
    "AllowFireSpread": {
      "type": "boolean",
      "title": "Allow Fire Spread",
      "description": "Is fire allowed to spread",
      "default": true
    },
    "AllowFallingBlocks": {
      "type": "boolean",
      "title": "Allow Falling Blocks",
      "description": "Are Falling Blocks enabled",
      "default": true
    }
  }
}
