[
    {
        "DisplayName": "Server Name",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name of the server as it appears publicly in the server browser",
        "Keywords": "server,name,servername,steamservername",
        "FieldName": "ServerName",
        "InputType": "text",
        "ParamFieldName": "ServerName",
        "DefaultValue": "AMP Powered Operation: Harsh Doorstop Server",
        "EnumValues": {}
    },
    {
        "DisplayName": "Initial Map",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the map for the server. If \"Custom\" is selected, Custom Map Name must also be set",
        "Keywords": "map",
        "FieldName": "Map",
        "InputType": "enum",
        "ParamFieldName": "Map",
        "DefaultValue": "AAS-TestMap",
        "EnumValues": {
            "AAS-TestMap": "AAS Test Map (default)",
            "Argonne": "WWI: Argonne",
            "SaintQuentin": "WWI: Saint Quentin (expansion)",
            "Carentan": "WWII: Carentan (expansion)",
            "Montecassino": "WWII: Monte Cassino",
            "OmahaBeach": "WWII: Omaha Beach (expansion)",
            "LamDong": "Vietnam: Lam Dong",
            "Tan_Binh": "Vietnam: Tan Binh (expansion)",
            "Khafji_P": "Gulf War: Khafji",
            "Risala": "Modern Era: Risala",
            "{{CustomMap}}": "--Custom--"
        }
    },
    {
        "DisplayName": "Custom Map Name",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a custom map for the server. \"Custom\" type must be selected under Map, and the map files included in HarshDoorstop/Mods",
        "Keywords": "custom,map",
        "FieldName": "CustomMap",
        "InputType": "text",
        "ParamFieldName": "CustomMap",
        "DefaultValue": "",
        "Placeholder": "AAS_Trainyard",
        "EnumValues": {}
    },
    {
        "DisplayName": "Map Cycle",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "List of [proper names](https://operation-harsh-doorstop.fandom.com/wiki/Server_Install_Instructions#MapCycle.cfg) of maps to run in sequence on the server after the initial map, in the order to be run",
        "Keywords": "map,cycle,list,mapcycle",
        "FieldName": "MapCycle",
        "InputType": "list",
        "ParamFieldName": "MapCycle",
        "DefaultValue": "",
        "Special": "listfile:./operation-harsh-doorstop/950900/HarshDoorstop/Saved/Config/WindowsServer/MapCycle.cfg",
        "EnumValues": {}
    },
    {
        "DisplayName": "Custom Gamemode",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the path to a modded gamemode for the server to run",
        "Keywords": "game,gamemode",
        "FieldName": "game",
        "InputType": "text",
        "ParamFieldName": "game",
        "IncludeInCommandLine": true,
        "SkipIfEmpty": true,
        "DefaultValue": "",
        "Placeholder": "/pathToGamemode/GameModeBPname.GameModeBPname_C",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Admins",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "List of [Steam64 IDs](https://steamid.io/) for server admins",
        "Keywords": "admins,adminlist",
        "FieldName": "AdminList",
        "InputType": "list",
        "ParamFieldName": "AdminList",
        "DefaultValue": "",
        "Special": "listfile:./operation-harsh-doorstop/950900/HarshDoorstop/Saved/Config/WindowsServer/Admins.cfg",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Password",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the password for players to join the server. Don't include a question mark",
        "Keywords": "server,password,serverpassword",
        "FieldName": "Password",
        "InputType": "Password",
        "ParamFieldName": "Password",
        "IncludeInCommandLine": true,
        "SkipIfEmpty": true,
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "RCON Password",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "See the Security and Privacy menu for configurable options for the server's RCON password",
        "Keywords": "rcon,password",
        "FieldName": "RCONPassword",
        "InputType": "hidden",
        "ParamFieldName": "RCONPassword",
        "IncludeInCommandLine": false,
        "EnumValues": {}
    },
    {
        "DisplayName": "Whitelisted Players",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "List of [Steam64 IDs](https://steamid.io/) for whitelisted players. Empty = whitelist disabled",
        "Keywords": "player,whitelist",
        "FieldName": "Whitelist",
        "InputType": "list",
        "ParamFieldName": "Whitelist",
        "DefaultValue": "",
        "Special": "listfile:./operation-harsh-doorstop/950900/HarshDoorstop/Saved/Config/WindowsServer/Whitelist.cfg",
        "EnumValues": {}
    },
    {
        "DisplayName": "Banned Players",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "List of [Steam64 IDs](https://steamid.io/) for banned players",
        "Keywords": "player,ban,banlist",
        "FieldName": "BanList",
        "InputType": "list",
        "ParamFieldName": "BanList",
        "DefaultValue": "",
        "Special": "listfile:./operation-harsh-doorstop/950900/HarshDoorstop/Saved/Config/WindowsServer/Bans.cfg",
        "EnumValues": {}
    },
    {
        "DisplayName": "Player Limit",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum number of players able to join the server at one time",
        "Keywords": "max,maximum,players,limit,maxplayers",
        "FieldName": "$MaxUsers",
        "InputType": "number",
        "MinValue": "1",
        "ParamFieldName": "MaxPlayers",
        "IncludeInCommandLine": true,
        "DefaultValue": "16",
        "Placeholder": "16",
        "Suffix": "players",
        "EnumValues": {}
    },
    {
        "DisplayName": "Minimum Players To Start",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the minimum number of players required to start a match",
        "Keywords": "min,minimum,players,minplayers",
        "FieldName": "MinPlayers",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "MinPlayers",
        "IncludeInCommandLine": true,
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "players",
        "EnumValues": {}
    },
    {
        "DisplayName": "Auto Assign Human Team",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the team (if any) that human-controlled players will be forcibly assigned and locked into (cannot switch teams). This is useful for co-op servers",
        "Keywords": "auto,assign,human,player,AutoAssignHuman",
        "FieldName": "AutoAssignHuman",
        "InputType": "enum",
        "ParamFieldName": "AutoAssignHuman",
        "IncludeInCommandLine": true,
        "DefaultValue": "255",
        "EnumValues": {
            "0": "OpFor",
            "1": "BluFor",
            "255": "Disabled (default)"
        }
    },
    {
        "DisplayName": "Disable Kit Restrictions",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, player kit restrictions will be disabled",
        "Keywords": "disable,kit,restrictions,bDisableKitRestrictions",
        "FieldName": "bDisableKitRestrictions",
        "InputType": "checkbox",
        "ParamFieldName": "bDisableKitRestrictions",
        "DefaultValue": "",
        "EnumValues": {
            "False": "",
            "True": "?bDisableKitRestrictions"
        }
    },
    {
        "DisplayName": "Autofill Bots",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, the server will fill empty slots with bots to satisfy the Minimum Players To Start number, and remove them if human players join to take their place",
        "Keywords": "auto,fill,autofill,bots,bBotAutofill",
        "FieldName": "bBotAutofill",
        "InputType": "checkbox",
        "ParamFieldName": "bBotAutofill",
        "DefaultValue": "",
        "EnumValues": {
            "False": "",
            "True": "?bBotAutofill"
        }
    },
    {
        "DisplayName": "BluFor Faction",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the BluFor team faction. Select \"Map Default\" to use the default faction for the loaded map. If \"Custom\" is selected, Custom BluFor Faction must also be set",
        "Keywords": "blufor,faction,bluforfaction",
        "FieldName": "BluforFaction",
        "InputType": "enum",
        "ParamFieldName": "BluforFaction",
        "IncludeInCommandLine": true,
        "SkipIfEmpty": true,
        "DefaultValue": "",
        "EnumValues": {
            "": "--Map Default--",
            "BP_OMFactionInfo_UnitedStates": "WWI: USA",
            "BP_OMFactionInfo_Germany": "WWI: Germany",
            "BP_OOFactionInfo_USA": "WWII: US Army",
            "BP_OOFactionInfo_USRangers": "WWII: US Rangers",
            "BP_OOFactionInfo_Germany": "WWII: Fallschirmjäger (German Paratroopers)",
            "BP_OOFactionInfo_Wehrmact": "WWII: Wehrmacht (German Army)",
            "BP_RSFactionInfo_USArmy": "Vietnam: USA",
            "BP_RSFactionInfo_NVA": "Vietnam: NVA",
            "BP_HDFactionInfo_UnitedStates": "Cold War: USA",
            "BP_HDFactionInfo_Russians": "Cold War: Soviet Union",
            "BP_HDFactionInfo_PMC": "Modern Era: PMC",
            "BP_HDFactionInfo_Insurgents": "Modern Era: Insurgents",
            "BP_HDFactionInfo_TG_BluFor": "Debug: BluFor (All Kits/Eras)",
            "BP_HDFactionInfo_TG_OpFor": "Debug: OpFor (All Kits/Eras)",
            "{{CustomBluforFaction}}": "--Custom--"
        }
    },
    {
        "DisplayName": "Custom BluFor Faction",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a custom BluFor team faction. \"Custom\" type must be selected under BluFor Faction, and the faction files included in HarshDoorstop/Mods",
        "Keywords": "custom,blufor,faction,bluforfaction",
        "FieldName": "CustomBluforFaction",
        "InputType": "text",
        "ParamFieldName": "CustomBluforFaction",
        "DefaultValue": "",
        "Placeholder": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "BluFor Tickets",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the starting number of BluFor team tickets",
        "Keywords": "blufor,tickets,BluforNumTickets",
        "FieldName": "BluforNumTickets",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "BluforNumTickets",
        "IncludeInCommandLine": true,
        "DefaultValue": "500",
        "Placeholder": "500",
        "Suffix": "tickets",
        "EnumValues": {}
    },
    {
        "DisplayName": "BluFor Bots",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the number of BluFor team bots",
        "Keywords": "blufor,bots,BluforNumBots",
        "FieldName": "BluforNumBots",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "BluforNumBots",
        "IncludeInCommandLine": true,
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "bots",
        "EnumValues": {}
    },
    {
        "DisplayName": "OpFor Faction",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the OpFor team faction. Select \"Map Default\" to use the default faction for the loaded map. If \"Custom\" is selected, Custom OpFor Faction must also be set",
        "Keywords": "opfor,faction",
        "FieldName": "OpforFaction",
        "InputType": "enum",
        "ParamFieldName": "OpforFaction",
        "IncludeInCommandLine": true,
        "SkipIfEmpty": true,
        "DefaultValue": "",
        "EnumValues": {
            "": "--Map Default--",
            "BP_OMFactionInfo_UnitedStates": "WWI: USA",
            "BP_OMFactionInfo_Germany": "WWI: Germany",
            "BP_OOFactionInfo_USA": "WWII: US Army",
            "BP_OOFactionInfo_USRangers": "WWII: US Rangers",
            "BP_OOFactionInfo_Germany": "WWII: Fallschirmjäger (German Paratroopers)",
            "BP_OOFactionInfo_Wehrmact": "WWII: Wehrmacht (German Army)",
            "BP_RSFactionInfo_USArmy": "Vietnam: USA",
            "BP_RSFactionInfo_NVA": "Vietnam: NVA",
            "BP_HDFactionInfo_UnitedStates": "Cold War: USA",
            "BP_HDFactionInfo_Russians": "Cold War: Soviet Union",
            "BP_HDFactionInfo_PMC": "Modern Era: PMC",
            "BP_HDFactionInfo_Insurgents": "Modern Era: Insurgents",
            "BP_HDFactionInfo_TG_OpFor": "Debug: OpFor (All Kits/Eras)",
            "BP_HDFactionInfo_TG_BluFor": "Debug: BluFor (All Kits/Eras)",
            "{{CustomBluforFaction}}": "--Custom--"
        }
    },
    {
        "DisplayName": "Custom OpFor Faction",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a custom OpFor team faction. \"Custom\" type must be selected under OpFor Faction, and the faction files included in HarshDoorstop/Mods",
        "Keywords": "custom,opfor,faction,opforfaction",
        "FieldName": "CustomOpforFaction",
        "InputType": "text",
        "ParamFieldName": "CustomOpforFaction",
        "DefaultValue": "",
        "Placeholder": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "OpFor Tickets",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the starting number of OpFor team tickets",
        "Keywords": "opfor,tickets,OpforNumTickets",
        "FieldName": "OpforNumTickets",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "OpforNumTickets",
        "IncludeInCommandLine": true,
        "DefaultValue": "500",
        "Placeholder": "500",
        "Suffix": "tickets",
        "EnumValues": {}
    },
    {
        "DisplayName": "OpFor Bots",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the number of OpFor team bots",
        "Keywords": "opfor,bots,OpforNumBots",
        "FieldName": "OpforNumBots",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "OpforNumBots",
        "IncludeInCommandLine": true,
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "bots",
        "EnumValues": {}
    },
    {
        "DisplayName": "MultiHome IP Binding",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If required, you can change the binding of the server and Source RCON by changing the Application IP Binding for this instance. Ensure AMP itself can reach that IP or the console will not work",
        "Keywords": "ip,binding,address,multihome",
        "FieldName": "MultiHome",
        "InputType": "hidden",
        "ParamFieldName": "MultiHome",
        "EnumValues": {}
    },
    {
        "DisplayName": "Custom Command Line Flags",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets custom command line flags for the server (those that start with a - (dash)). Include the dash and separate with a space. Don't use flags already in AMP's settings!",
        "Keywords": "custom,command,line,flags",
        "FieldName": "CustomFlags",
        "InputType": "text",
        "ParamFieldName": "CustomFlags",
        "DefaultValue": "",
        "Placeholder": "-RCONMaxActiveConnections=5 -SupportersOnly",
        "EnumValues": {}
    },
    {
        "DisplayName": "Custom Command Line Options",
        "Category": "Operation Harsh Doorstop:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets custom command line options for the server (those that start with a ? (question mark)). Include the question mark but do not separate with a space. Don't use options already in AMP's settings!",
        "Keywords": "custom,command,line,options",
        "FieldName": "CustomOptions",
        "InputType": "text",
        "ParamFieldName": "CustomOptions",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Build",
        "Category": "Updates",
        "Subcategory": "Steam Downloads:download",
        "Description": "Sets the server build to install. The client build must match. Update the server after changing this setting",
        "Keywords": "server,build,developer,release",
        "FieldName": "ServerBuild",
        "InputType": "enum",
        "ParamFieldName": "ServerBuild",
        "DefaultValue": "736590",
        "EnumValues": {
            "736590": "Release build (default)",
            "1307180": "Development build"
        }
    }
]