[
    {
        "DisplayName": "Game Port",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "FieldName": "$GamePort",
        "InputType": "number",
        "ParamFieldName": "port",
        "Hidden": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "World Name",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the world file to load (or create if it does not exist) at startup. Recommended to be a single word",
        "Keywords": "world,name",
        "FieldName": "world",
        "InputType": "text",
        "ParamFieldName": "world",
        "IncludeInCommandLine": true,
        "DefaultValue": "world",
        "Placeholder": "world",
        "Required": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "MOTD",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the message of the day that is displayed when players join. Use \\n for a new line",
        "Keywords": "motd,message,day",
        "FieldName": "motd",
        "InputType": "text",
        "ParamFieldName": "motd",
        "DefaultValue": "Welcome to Necesse",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Password",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the password required to join the server. Empty = no password",
        "Keywords": "password",
        "FieldName": "password",
        "InputType": "Password",
        "ParamFieldName": "password",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Owner Name",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name of a connecting player who will get owner permissions",
        "Keywords": "owner,name,permissions",
        "FieldName": "owner",
        "InputType": "text",
        "ParamFieldName": "owner",
        "IncludeInCommandLine": true,
        "SkipIfEmpty": true,
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Player Limit",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum number of players allowed to join the server at one time",
        "Keywords": "player,maximum,max,limit,slots",
        "FieldName": "$MaxUsers",
        "InputType": "number",
        "MinValue": "1",
        "MaxValue": "250",
        "ParamFieldName": "slots",
        "DefaultValue": "10",
        "Placeholder": "10",
        "Suffix": "players",
        "Required": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Pause When Empty",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, the server will pause when there are no connected players",
        "Keywords": "server,pause,empty,pauseWhenEmpty",
        "FieldName": "pauseWhenEmpty",
        "InputType": "checkbox",
        "ParamFieldName": "pauseWhenEmpty",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Mods",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Mods can be installed via \"Steam workshop items\" under the Updates menu. Update the server to download the mods to the 'workshop' directory. Then copy each relevant jar file to the 'mods' directory to load them on server start",
        "Keywords": "mods,workshop",
        "FieldName": "mods",
        "InputType": "hidden",
        "ParamFieldName": "mods",
        "EnumValues": {}
    },
    {
        "DisplayName": "Language",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the language of the server. Only used for occasional messages in the logs. Must be a valid two-letter [ISO 639-1 language code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)",
        "Keywords": "language,server",
        "FieldName": "language",
        "InputType": "text",
        "ParamFieldName": "language",
        "DefaultValue": "en",
        "Placeholder": "en",
        "EnumValues": {}
    },
    {
        "DisplayName": "Give Clients Power",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "If set, clients will have much more power over what hits them, their position etc",
        "Keywords": "give,client,power,giveClientsPower",
        "FieldName": "giveClientsPower",
        "InputType": "checkbox",
        "ParamFieldName": "giveClientsPower",
        "DefaultValue": "true",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Maximum Client Latency",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the maximum client latency allowed",
        "Keywords": "maxClientLatencySeconds,maximum,max,client,latency",
        "FieldName": "maxClientLatencySeconds",
        "InputType": "number",
        "MinValue": "1",
        "ParamFieldName": "maxClientLatencySeconds",
        "DefaultValue": "30",
        "Placeholder": "30",
        "EnumValues": {}
    },
    {
        "DisplayName": "Unload Levels Cooldown",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the time that a level will stay loaded after the last player has left it",
        "Keywords": "unloadLevelsCooldown,unload,levels,cooldown",
        "FieldName": "unloadLevelsCooldown",
        "InputType": "number",
        "ParamFieldName": "unloadLevelsCooldown",
        "DefaultValue": "30",
        "Placeholder": "30",
        "Suffix": "seconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "World Border Size",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the maximum distance from spawn that players can travel. -1 = no border",
        "Keywords": "worldBorderSize,world,size,travel,border",
        "FieldName": "worldBorderSize",
        "InputType": "number",
        "MinValue": "-1",
        "ParamFieldName": "worldBorderSize",
        "DefaultValue": "-1",
        "Placeholder": "-1",
        "EnumValues": {}
    },
    {
        "DisplayName": "Dropped Items Life",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the time that dropped items will stay in the world. 0 = indefinite",
        "Keywords": "droppedItemsLifeMinutes,dropped,items,life",
        "FieldName": "droppedItemsLifeMinutes",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "droppedItemsLifeMinutes",
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "minutes",
        "EnumValues": {}
    },
    {
        "DisplayName": "Unload Settlements",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "If set, the server will unload player settlements",
        "Keywords": "unloadSettlements,unload,settlements",
        "FieldName": "unloadSettlements",
        "InputType": "checkbox",
        "ParamFieldName": "unloadSettlements",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Maximum Settlements Per Player",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the maximum number of settlements per player. -1 = infinite",
        "Keywords": "maxSettlementsPerPlayer,maximum,settlements",
        "FieldName": "maxSettlementsPerPlayer",
        "InputType": "number",
        "MinValue": "-1",
        "ParamFieldName": "maxSettlementsPerPlayer",
        "DefaultValue": "-1",
        "Placeholder": "-1",
        "Suffix": "settlements",
        "EnumValues": {}
    },
    {
        "DisplayName": "Maximum Settlers Per Settlement",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the maximum number of settlers per settlement. -1 = infinite",
        "Keywords": "maxSettlersPerSettlement,maximum,settlers",
        "FieldName": "maxSettlersPerSettlement",
        "InputType": "number",
        "MinValue": "-1",
        "ParamFieldName": "maxSettlersPerSettlement",
        "DefaultValue": "-1",
        "Placeholder": "-1",
        "Suffix": "settlers",
        "EnumValues": {}
    },
    {
        "DisplayName": "Job Search Range",
        "Category": "Necesse:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the tile search range of settler jobs",
        "Keywords": "jobSearchRange,tile,search,range,settler,jobs",
        "FieldName": "jobSearchRange",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "jobSearchRange",
        "DefaultValue": "100",
        "Placeholder": "100",
        "EnumValues": {}
    }
]