[
    {
        "DisplayName": "Net Strict",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "net_strict",
        "InputType": "number",
        "Hidden": true,
        "ParamFieldName": "net_strict",
        "DefaultValue": "1",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Server IP Binding",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ApplicationIPBinding",
        "InputType": "text",
        "Hidden": true,
        "ParamFieldName": "net_ip",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Port",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ServerPort",
        "InputType": "number",
        "Hidden": true,
        "ParamFieldName": "net_port",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Stats IP Binding",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ApplicationIPBinding",
        "InputType": "text",
        "Hidden": true,
        "ParamFieldName": "zmq_stats_ip",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Stats Port",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ServerPort",
        "InputType": "number",
        "Hidden": true,
        "ParamFieldName": "zmq_stats_port",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "RCON IP Binding",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ApplicationIPBinding",
        "InputType": "text",
        "Hidden": true,
        "ParamFieldName": "zmq_rcon_ip",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "RCON Port",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$RCONPort",
        "InputType": "number",
        "Hidden": true,
        "ParamFieldName": "zmq_rcon_port",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Disable Idle Exit Timeout",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "sv_idleExit",
        "InputType": "number",
        "Hidden": true,
        "ParamFieldName": "sv_idleExit",
        "DefaultValue": "0",
        "EnumValues": {}
    },
    {
        "DisplayName": "Access List File",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "g_accessFile",
        "InputType": "text",
        "Hidden": true,
        "ParamFieldName": "g_accessFile",
        "DefaultValue": "access.txt",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Name",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name of the server that appears in the server list",
        "Keywords": "server,name,sv_hostname",
        "FieldName": "sv_hostname",
        "InputType": "text",
        "ParamFieldName": "sv_hostname",
        "DefaultValue": "AMP Powered Quake Live Server",
        "Placeholder": "AMP Powered Quake Live Server",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Tags",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Comma-separated list of server tags that give additional information about the server in the server browser. Will automatically include gametype and some gameplay modifications",
        "Keywords": "tags,sv_tags",
        "FieldName": "sv_tags",
        "InputType": "text",
        "ParamFieldName": "sv_tags",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Type",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the server type",
        "Keywords": "server,type,sv_serverType",
        "FieldName": "sv_serverType",
        "InputType": "enum",
        "ParamFieldName": "sv_serverType",
        "DefaultValue": "2",
        "EnumValues": {
            "0": "Offline server",
            "1": "LAN server",
            "2": "Internet server (default)"
        }
    },
    {
        "DisplayName": "Allow Server Query Response",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, the server will be able to respond to server queries. Disable this to stop the server from appearing in the server browser (affects LAN browser too)",
        "Keywords": "master,server,query,response,sv_master",
        "FieldName": "sv_master",
        "InputType": "checkbox",
        "ParamFieldName": "sv_master",
        "DefaultValue": "1",
        "EnumValues": {
            "False": "0",
            "True": "1"
        }
    },
    {
        "DisplayName": "Server Startup Command",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the command to run when the server finishes initializing. Use 'startRandomMap' to start a random map, or specify a map and mode such as 'map campgrounds ffa' (factory is required)",
        "Keywords": "server,startup,command,serverstartup",
        "FieldName": "serverstartup",
        "InputType": "text",
        "ParamFieldName": "serverstartup",
        "DefaultValue": "startRandomMap",
        "Placeholder": "startRandomMap",
        "EnumValues": {}
    },
    {
        "DisplayName": "Map Pool File",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Specifies the map pool file that the server will use for the map cycle. See the default mappool.txt for format. If 'Custom' is selected, Custom Map Pool File must also be set",
        "Keywords": "map,pool,file,sv_mapPoolFile",
        "FieldName": "sv_mapPoolFile",
        "InputType": "enum",
        "ParamFieldName": "sv_mapPoolFile",
        "DefaultValue": "mappool.txt",
        "EnumValues": {
            "mappool.txt": "Default (mappool.txt)",
            "mappool_ca.txt": "Clan Arena (mappool_ca.txt)",
            "mappool_ctf.txt": "Capture the Flag (mappool_ctf.txt)",
            "mappool_duel.txt": "Duel (mappool_duel.txt)",
            "mappool_ffa.txt": "Free For All (mappool_ffa.txt)",
            "mappool_race.txt": "Race (mappool_race.txt)",
            "mappool_tdm.txt": "Team Deathmatch (mappool_tdm.txt)",
            "{{CustomMapPoolFile}}": "--Custom--"
        }
    },
    {
        "DisplayName": "Custom Map Pool File",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a custom map pool file to use for the Map Pool File, if \"Custom\" is selected",
        "Keywords": "custom,map,pool,file",
        "FieldName": "CustomMapPoolFile",
        "InputType": "text",
        "ParamFieldName": "CustomMapPoolFile",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Password",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the password required to connect to the server. Default is no password",
        "Keywords": "server,password,g_password",
        "FieldName": "g_password",
        "InputType": "Password",
        "ParamFieldName": "g_password",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Private Client Password",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the password for private clients, if any, to connect to the server. Specify the required number of private clients under Private Client Number. Server Password should not be set",
        "Keywords": "private,client,password,sv_privatepassword",
        "FieldName": "sv_privatePassword",
        "InputType": "Password",
        "ParamFieldName": "sv_privatePassword",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Enable RCON",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, the server's ZeroMQ RCON will operate",
        "Keywords": "zeromq,zmq,rcon,zmq_rcon_enable",
        "FieldName": "zmq_rcon_enable",
        "InputType": "checkbox",
        "ParamFieldName": "zmq_rcon_enable",
        "DefaultValue": "0",
        "EnumValues": {
            "False": "0",
            "True": "1"
        }
    },
    {
        "DisplayName": "RCON Password",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the password required to connect to the server's ZeroMQ RCON",
        "Keywords": "zeromq,zmq,rcon,password,zmq_rcon_password",
        "FieldName": "zmq_rcon_password",
        "InputType": "Password",
        "ParamFieldName": "zmq_rcon_password",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Enable Stats Reporting",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, the server will publish server statstics via ZeroMQ to [QLStats](https://qlstats.net/)",
        "Keywords": "zeromq,zmq,stats,qlstats,zmq_stats_enable",
        "FieldName": "zmq_stats_enable",
        "InputType": "checkbox",
        "ParamFieldName": "zmq_stats_enable",
        "DefaultValue": "0",
        "EnumValues": {
            "False": "0",
            "True": "1"
        }
    },
    {
        "DisplayName": "Stats Password",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "See the password to access the server's stats reporting via ZeroMQ",
        "Keywords": "zeromq,zmq,stats,qlstats,password,zmq_stats_password",
        "FieldName": "zmq_stats_password",
        "InputType": "Password",
        "ParamFieldName": "zmq_stats_password",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Steam Workshop Items",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "List of IDs of [Steam workshop items](https://steamcommunity.com/app/282440/workshop/) to install on the server when it is started. One item per line",
        "Keywords": "steam,workshop,items,mods,addons,content,install",
        "FieldName": "workshop",
        "InputType": "list",
        "ParamFieldName": "workshop",
        "DefaultValue": "",
        "Special": "listfile:./qlds/349090/baseq3/workshop.txt",
        "EnumValues": {}
    },
    {
        "DisplayName": "Player Limit",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum number of players allowed on the server at one time",
        "Keywords": "max,maximum,players,limit,sv_maxClients",
        "FieldName": "$MaxUsers",
        "InputType": "number",
        "MinValue": "1",
        "MaxValue": "32",
        "ParamFieldName": "sv_maxClients",
        "DefaultValue": "16",
        "Placeholder": "16",
        "Suffix": "players",
        "EnumValues": {}
    },
    {
        "DisplayName": "Private Client Number",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the number of slots (out of the Player Limit) reserved for private players. 0 = disabled. Private Client Password must also be set",
        "Keywords": "private,client,slots,reserved,sv_privateClients",
        "FieldName": "sv_privateClients",
        "InputType": "number",
        "MinValue": "0",
        "MaxValue": "32",
        "ParamFieldName": "sv_privateClients",
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "private players",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server FPS",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum frames per second (FPS) that the server run at",
        "Keywords": "frames,second,fps,sv_fps",
        "FieldName": "sv_fps",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "sv_fps",
        "DefaultValue": "40",
        "Placeholder": "40",
        "Suffix": "frames/second",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Memory Allocation",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the amount of memory allocated for map and item loading",
        "Keywords": "ram,memory,com_hunkmegs",
        "FieldName": "com_hunkMegs",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "com_hunkMegs",
        "DefaultValue": "60",
        "Placeholder": "60",
        "Suffix": "MB",
        "EnumValues": {}
    },
    {
        "DisplayName": "Flood Protection Threshold",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the threshold for kicking players when they reach a certain number of commands. The count decreases by 1 every second",
        "Keywords": "flood,protect,threshold,sv_floodprotect",
        "FieldName": "sv_floodprotect",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "sv_floodprotect",
        "DefaultValue": "10",
        "Placeholder": "10",
        "EnumValues": {}
    },
    {
        "DisplayName": "Flood Protection Maximum Count",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the maximum userinfo flood counter level before kicking the player",
        "Keywords": "flood,protect,max,count,g_floodprot_maxcount",
        "FieldName": "g_floodprot_maxcount",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "g_floodprot_maxcount",
        "DefaultValue": "10",
        "Placeholder": "10",
        "EnumValues": {}
    },
    {
        "DisplayName": "Flood Protection Decay Interval",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the interval for decreasing the userinfo flood counter by 1",
        "Keywords": "flood,protect,decay,interval,g_floodprot_decay",
        "FieldName": "g_floodprot_decay",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "g_floodprot_decay",
        "DefaultValue": "1000",
        "Placeholder": "1000",
        "Suffix": "milliseconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "Allow Voting",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "If set, connected players can call for and vote on changes including: map, map_restart, kick, and gametype",
        "Keywords": "vote,voting,g_allowvote",
        "FieldName": "g_allowVote",
        "InputType": "checkbox",
        "ParamFieldName": "g_allowVote",
        "DefaultValue": "1",
        "EnumValues": {
            "False": "0",
            "True": "1"
        }
    },
    {
        "DisplayName": "Disabled Voting Options",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the combined value of the callvote options that are disabled on the server. The values are additive, meaning multiple options can be combined to disable specific types of votes. For example, 3 disables both map (1) and map_restart (2). See server.cfg for the options and their values",
        "Keywords": "vote,flags,g_voteFlags",
        "FieldName": "g_voteFlags",
        "InputType": "number",
        "ParamFieldName": "g_voteFlags",
        "DefaultValue": "0",
        "Placeholder": "0",
        "EnumValues": {}
    },
    {
        "DisplayName": "Vote Delay",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the delay before allowing votes after map load",
        "Keywords": "vote,delay,g_voteDelay",
        "FieldName": "g_voteDelay",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "g_voteDelay",
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "milliseconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "Vote Limit",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Limits users to the specified number of votes per map",
        "Keywords": "vote,limit,g_voteLimit",
        "FieldName": "g_voteLimit",
        "MinValue": "0",
        "InputType": "number",
        "ParamFieldName": "g_voteLimit",
        "DefaultValue": "0",
        "Placeholder": "0",
        "EnumValues": {}
    },
    {
        "DisplayName": "Allow Vote Mid-Game",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "If enabled, callvotes are allowed once the map has started",
        "Keywords": "vote,midgame,allow,g_allowVoteMidGame",
        "FieldName": "g_allowVoteMidGame",
        "InputType": "checkbox",
        "ParamFieldName": "g_allowVoteMidGame",
        "DefaultValue": "0",
        "EnumValues": {
            "False": "0",
            "True": "1"
        }
    },
    {
        "DisplayName": "Allow Spectator Vote",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "If enabled, spectators are allowed to call votes",
        "Keywords": "vote,spectator,allow,g_allowSpecVote",
        "FieldName": "g_allowSpecVote",
        "InputType": "checkbox",
        "ParamFieldName": "g_allowSpecVote",
        "DefaultValue": "0",
        "EnumValues": {
            "False": "0",
            "True": "1"
        }
    },
    {
        "DisplayName": "Warmup Ready Percentage",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the ratio of players that must be ready before the match starts",
        "Keywords": "warmup,ready,percentage,sv_warmupReadyPercentage",
        "FieldName": "sv_warmupReadyPercentage",
        "InputType": "number",
        "MinValue": "0",
        "MaxValue": "1",
        "ParamFieldName": "sv_warmupReadyPercentage",
        "DefaultValue": "0.51",
        "Placeholder": "0.51",
        "EnumValues": {}
    },
    {
        "DisplayName": "Warmup Delay",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the delay before allowing the match to start to allow all players to connect",
        "Keywords": "warmup,delay,g_warmupDelay",
        "FieldName": "g_warmupDelay",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "g_warmupDelay",
        "DefaultValue": "15",
        "Placeholder": "15",
        "Suffix": "seconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "Warmup Ready Delay",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Forces the game to start after the specified time after someone readies up",
        "Keywords": "warmup,ready,delay,g_warmupReadyDelay",
        "FieldName": "g_warmupReadyDelay",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "g_warmupReadyDelay",
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "seconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "Warmup Ready Delay Action",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the action after the warmup ready delay",
        "Keywords": "warmup,ready,delay,action,g_warmupReadyDelayAction",
        "FieldName": "g_warmupReadyDelayAction",
        "InputType": "enum",
        "ParamFieldName": "g_warmupReadyDelayAction",
        "DefaultValue": "1",
        "EnumValues": {
            "1": "Force players to spectator",
            "2": "Force ready up (default)"
        }
    },
    {
        "DisplayName": "Inactivity Kick Time",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the time period after which inactive players will be kicked from the server. 0 = disabled",
        "Keywords": "inactive,afk,idle,kick,g_inactivity",
        "FieldName": "g_inactivity",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "g_inactivity",
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "seconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "Voice Communication Mode",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "Sets the voice communication mode",
        "Keywords": "voice,communication,mode,g_alltalk",
        "FieldName": "g_alltalk",
        "InputType": "enum",
        "ParamFieldName": "g_alltalk",
        "DefaultValue": "0",
        "EnumValues": {
            "0": "Team-only during match (default)",
            "1": "All players",
            "2": "Testing with self-feedback"
        }
    },
    {
        "DisplayName": "Allow Spectators",
        "Category": "Quake Live:stadia_controller",
        "Subcategory": "Gameplay:joystick:2",
        "Description": "If set, spectators are allowed to join the server",
        "Keywords": "allow,spectators,g_allowSpectators",
        "FieldName": "g_allowSpectators",
        "InputType": "checkbox",
        "ParamFieldName": "g_allowSpectators",
        "DefaultValue": "1",
        "EnumValues": {
            "False": "0",
            "True": "1"
        }
    },
    {
        "DisplayName": "Server Branch",
        "Category": "Updates",
        "Subcategory": "Steam Downloads:download",
        "Description": "Sets the server branch to install. Update the server after switching branches",
        "Keywords": "server,branch,depot",
        "FieldName": "ServerBranch",
        "InputType": "enum",
        "ParamFieldName": "ServerBranch",
        "DefaultValue": "public",
        "EnumValues": {
            "public": "Public (default)",
            "beta": "Beta"
        }
    }
]