[
    {
        "DisplayName": "Server Port",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ServerPort",
        "InputType": "number",
        "Hidden": true,
        "ParamFieldName": "ServerPort",
        "EnumValues": {}
    },
    {
        "DisplayName": "Cfx.re Server Registration Key",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the [Cfx.re server registration key](https://portal.cfx.re/servers/registration-keys) required to run the server",
        "Keywords": "licence,license,registration,key,keymaster,sv_licenseKey",
        "FieldName": "sv_licenseKey",
        "InputType": "Password",
        "ParamFieldName": "sv_licenseKey",
        "DefaultValue": "",
        "Required": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Steam Web API Key",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the [Steam Web API key](https://steamcommunity.com/login/home/?goto=%2Fdev%2Fapikey) required to allow for Steam identifiers to be returned by the server",
        "Keywords": "steam,web,api,key,steam_webApiKey",
        "FieldName": "steam_webApiKey",
        "InputType": "Password",
        "ParamFieldName": "steam_webApiKey",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Name",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name that shows when selecting the server in the server browser",
        "Keywords": "server,name,hostname",
        "FieldName": "sv_hostname",
        "InputType": "text",
        "ParamFieldName": "sv_hostname",
        "DefaultValue": "AMP Powered RedM Server",
        "EnumValues": {}
    },
    {
        "DisplayName": "Project Name",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name that shows in the server browser. It should not be a list or contain tags. Any non-compliant name will be cut off in the server list",
        "Keywords": "project,name,sv_projectName",
        "FieldName": "sv_projectName",
        "InputType": "text",
        "ParamFieldName": "sv_projectName",
        "DefaultValue": "AMP Powered RedM Server",
        "EnumValues": {}
    },
    {
        "DisplayName": "Project Description",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the description that shows in the server browser",
        "Keywords": "project,description,sv_projectDesc",
        "FieldName": "sv_projectDesc",
        "InputType": "text",
        "ParamFieldName": "sv_projectDesc",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Tags",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a comma-separated list of server tags that give additional information about the server in the server browser",
        "Keywords": "tags",
        "FieldName": "tags",
        "InputType": "text",
        "ParamFieldName": "tags",
        "DefaultValue": "default",
        "Placeholder": "default",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Locale",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the locale identifier for the server's primary language. The locale code must follow the [ISO 639-1 standard](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and the country code must follow the [ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
        "Keywords": "locale,language,country",
        "FieldName": "locale",
        "InputType": "text",
        "ParamFieldName": "locale",
        "DefaultValue": "en-US",
        "Placeholder": "en-US",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Icon",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the filename of an icon to load as the server icon. The icon needs to be a 96x96 PNG file",
        "Keywords": "server,icon,load_server_icon",
        "FieldName": "load_server_icon",
        "InputType": "text",
        "ParamFieldName": "load_server_icon",
        "DefaultValue": "",
        "Placeholder": "myLogo.png",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Detail Banner Image URL",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the URL for a server banner image. The image should be in PNG or GIF format, with the optimal size being 1865x250",
        "Keywords": "banner,detail,image,url,banner_detail",
        "FieldName": "banner_detail",
        "InputType": "text",
        "ParamFieldName": "banner_detail",
        "DefaultValue": "",
        "Placeholder": "https://url.to/image.png",
        "EnumValues": {}
    },
    {
        "DisplayName": "Connecting Banner Image URL",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the URL for a connecting banner image. The image should be in PNG or GIF format",
        "Keywords": "banner,connecting,image,url,banner_connecting",
        "FieldName": "banner_connecting",
        "InputType": "text",
        "ParamFieldName": "banner_connecting",
        "DefaultValue": "",
        "Placeholder": "https://url.to/image.png",
        "EnumValues": {}
    },
    {
        "DisplayName": "Mark Server Private",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, the server will be set as \"private\", making it not possible to join by using the server browser UI (the server connect button will be disabled). The server will not be de-listed from the master list",
        "Keywords": "private,server,list,sv_master1",
        "FieldName": "sv_master1",
        "InputType": "checkbox",
        "ParamFieldName": "sv_master1",
        "DefaultValue": "",
        "EnumValues": {
            "False": "",
            "True": "sv_master1 \"\" "
        }
    },
    {
        "DisplayName": "Starting Resources",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the resources to load on server start. One entry per line in the format: ensure <resourcename>",
        "Keywords": "ensure,resources",
        "FieldName": "ensure",
        "InputType": "Textarea",
        "ParamFieldName": "ensure",
        "DefaultValue": "ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog",
        "Placeholder": "ensure mapmanager\nensure chat\nensure spawnmanager\nensure sessionmanager\nensure basic-gamemode\nensure hardcap\nensure rconlog",
        "EnumValues": {}
    },
    {
        "DisplayName": "Enable Endpoint Privacy",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, player IP addresses will be hidden from public reports that the server outputs",
        "Keywords": "endpoint,privacy,hide,hidden,addresses,sv_endpointPrivacy",
        "FieldName": "sv_endpointPrivacy",
        "InputType": "checkbox",
        "ParamFieldName": "sv_endpointPrivacy",
        "DefaultValue": "true",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enforce Game Build",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the game build for clients to use. This can only be specified at startup, and cannot be changed at runtime",
        "Keywords": "enforce,game,build,sv_enforceGameBuild",
        "FieldName": "sv_enforceGameBuild",
        "InputType": "enum",
        "ParamFieldName": "sv_enforceGameBuild",
        "DefaultValue": "1491",
        "EnumValues": {
            "1311": "1311 (Mid 2020 update)",
            "1355": "1355 (December 2020 update)",
            "1436": "1436 (July 2021 update)",
            "1491": "1491 (September 2022 update)"
        }
    },
    {
        "DisplayName": "Player Limit",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum number of players that may connect to the server at one time. Values starting at 32 require OneSync to be \"On\" or \"Legacy\", and values above 64 require OneSync to be \"On\"",
        "Keywords": "maximum,players,clients,limit,maxClients",
        "FieldName": "$MaxUsers",
        "InputType": "number",
        "MinValue": "1",
        "MaxValue": "2048",
        "ParamFieldName": "sv_maxClients",
        "DefaultValue": "32",
        "Placeholder": "32",
        "Suffix": "players",
        "EnumValues": {}
    },
    {
        "DisplayName": "OneSync Mode",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets whether to use the [OneSync](https://docs.fivem.net/docs/scripting-reference/onesync/) state awareness system. OneSync is free up to 48 players. \"Legacy\" mode is not recommended",
        "Keywords": "onesync,state,awareness,system",
        "FieldName": "onesync",
        "InputType": "enum",
        "ParamFieldName": "onesync",
        "DefaultValue": "on",
        "EnumValues": {
            "off": "Off",
            "on": "On (default)",
            "legacy": "Legacy compatibility mode"
        }
    },
    {
        "DisplayName": "Enable OneSync Population",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, NPCs and vehicles will be spawned on the server. Requires OneSync to be \"On\"",
        "Keywords": "onesync,population,npcs,vehicles,onesync_population",
        "FieldName": "onesync_population",
        "InputType": "checkbox",
        "ParamFieldName": "onesync_population",
        "DefaultValue": "true",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable OneSync Vehicle Distance Culling",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, player-occupied vehicles will be subject to distance culling. Requires OneSync to be \"On\"",
        "Keywords": "onesync,vehicles,distance,cull,culling,onesync_distanceCullVehicles",
        "FieldName": "onesync_distanceCullVehicles",
        "InputType": "checkbox",
        "ParamFieldName": "onesync_distanceCullVehicles",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable OneSync Forced Migration",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, any entity that has not received any clone sync updates for over a certain period will be migrated to any other nearby player. Requires OneSync to be \"On\"",
        "Keywords": "onesync,force,migration,onesync_forceMigration",
        "FieldName": "onesync_forceMigration",
        "InputType": "checkbox",
        "ParamFieldName": "onesync_forceMigration",
        "DefaultValue": "true",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable OneSync Workaround",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, most cars will be stopped from duplicating and cars will be prevented from having a ram war. Requires OneSync to be \"On\"",
        "Keywords": "onesync,workaround,onesync_workaround763185",
        "FieldName": "onesync_workaround763185",
        "InputType": "checkbox",
        "ParamFieldName": "onesync_workaround763185",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Allow Scripthook Plugins",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, players can use scripthook-based plugins such as the legacy Lambda Menu. This does not guarantee players won't be able to use external plugins",
        "Keywords": "scripthook,plugins,sv_scriptHookAllowed",
        "FieldName": "sv_scriptHookAllowed",
        "InputType": "checkbox",
        "ParamFieldName": "sv_scriptHookAllowed",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Block Modified Client Files",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets whether players will be prevented from using modified client files",
        "Keywords": "modified,client,files,sv_pureLevel",
        "FieldName": "sv_pureLevel",
        "InputType": "enum",
        "ParamFieldName": "sv_pureLevel",
        "DefaultValue": "",
        "EnumValues": {
            "": "No block",
            "sv_pureLevel 1": "Block all except audio files and known graphics mods",
            "sv_pureLevel 2": "Block all"
        }
    },
    {
        "DisplayName": "Access Control Commands",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Specifies [access control commands](https://docs.fivem.net/docs/server-manual/server-commands/#access-control-commands) to include in \"server.cfg\". This can be used to add system admins",
        "Keywords": "admin,access,control",
        "FieldName": "AccessControlCommands",
        "InputType": "Textarea",
        "ParamFieldName": "AccessControlCommands",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Enable HTTP Flood Protection",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets whether to implement measures to counter proxy-based HTTP floods. If set to Level 2 or 3, all requests made to info.json, dynamic.json and players.json related endpoints will return \"Nope\"",
        "Keywords": "http,flood,protection,sv_requestParanoia",
        "FieldName": "sv_requestParanoia",
        "InputType": "enum",
        "ParamFieldName": "sv_requestParanoia",
        "DefaultValue": "0",
        "EnumValues": {
            "0": "Off (default)",
            "1": "Level 1: Blocks IPs with 'Via' header requests",
            "2": "Level 2: Previous + blocks IPs with 'Upgrade-Insecure-Requests' header requests",
            "3": "Level 3: Previous + closes socket on which requests submitted"
        }
    },
    {
        "DisplayName": "Server/RCON IP Binding",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If required, you can change the binding of the server and RCON by changing the 'Server IP Address' setting under Security and Privacy. NOTE: The IP must be reachable by AMP, otherwise AMP's console won't work",
        "Keywords": "ip,binding,endpoint,endpoint_add_udp,endpoint_add_tcp",
        "FieldName": "$ApplicationIPBinding",
        "InputType": "hidden",
        "ParamFieldName": "ApplicationIPBinding",
        "EnumValues": {}
    },
    {
        "DisplayName": "Additional Command Line Parameters",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Specifies additional command line parameters that are not otherwise set by AMP. ONE LINE ONLY! Use with care. Alternatively, specify the equivalent under \"Additional Server Settings\"",
        "Keywords": "custom,server,arguments,variables,parameters",
        "FieldName": "CustomArgs",
        "InputType": "Textarea",
        "ParamFieldName": "CustomArgs",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Additional Server Settings",
        "Category": "RedM:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Specifies additional settings to include in \"server.cfg\" that are not otherwise set by AMP. One setting per line",
        "Keywords": "additional,settings,custom",
        "FieldName": "UserSettings",
        "InputType": "Textarea",
        "ParamFieldName": "UserSettings",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Build",
        "Category": "Updates",
        "Subcategory": "Server Updates:build:-1",
        "Description": "Sets the server build to install. If \"Specific version\" is selected, the download URL for the relevant build must be set under Specific Build Version Download URL. Update the server after changing this setting",
        "Keywords": "server,build,artifact,recommended,latest,optional,critical,specific",
        "FieldName": "ServerBuild",
        "InputType": "enum",
        "ParamFieldName": "ServerBuild",
        "DefaultValue": "recommended_download",
        "EnumValues": {
            "recommended_download": "Recommended (default)",
            "optional_download": "Optional",
            "latest_download": "Latest",
            "critical_download": "Critical",
            "SpecificVersion": "Specific version"
        }
    },
    {
        "DisplayName": "Specific Build Version Download URL",
        "Category": "Updates",
        "Subcategory": "Server Updates:build:-1",
        "Description": "Sets the download URL for a specific server build to install, if \"Specific version\" is selected under Server Build. Select the relevant URL from the [Windows build list](https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/) or [Linux build list](https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/). The Windows URL should end in .zip rather than .7z",
        "Keywords": "server,build,artifact,specific,version",
        "FieldName": "SpecificBuildVersionURL",
        "InputType": "url",
        "ParamFieldName": "SpecificBuildVersionURL",
        "DefaultValue": "",
        "Placeholder": "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/6593-7672c8c849165dad70a1e82f89e31059d8fcf20d/server.zip",
        "EnumValues": {}
    },
    {
        "DisplayName": "Resource GitHub Repo",
        "Category": "Updates",
        "Subcategory": "Server Updates:build:-1",
        "Description": "Sets the GitHub repo from which to clone resources. If \"Custom repo\" is selected, the relevant repo URL must be set under Custom Repo URL. Delete the server-data directory and update the server after changing this setting",
        "Keywords": "resource,repo,repository,github",
        "FieldName": "ResourceRepo",
        "InputType": "enum",
        "ParamFieldName": "ResourceRepo",
        "DefaultValue": "https://github.com/citizenfx/cfx-server-data.git",
        "EnumValues": {
            "https://github.com/citizenfx/cfx-server-data.git": "Cfx.re standard repo (default)",
            "{{CustomRepo}}": "Custom repo"
        }
    },
    {
        "DisplayName": "Custom Repo URL",
        "Category": "Updates",
        "Subcategory": "Server Updates:build:-1",
        "Description": "Sets the URL for a custom repo from which to clone resources, if \"Custom repo\" is selected under Resource GitHub Repo. The URL must end in .git. The repo must be public and on the main/master branch",
        "Keywords": "resource,custom,repo,repository,github,url",
        "FieldName": "CustomRepo",
        "InputType": "url",
        "ParamFieldName": "CustomRepo",
        "DefaultValue": "",
        "Placeholder": "https://github.com/username/reponame.git",
        "EnumValues": {}
    }
]