[
    {
        "DisplayName": "Server Port",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ServerPort",
        "InputType": "number",
        "Hidden": true,
        "ParamFieldName": "$.port",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Bind Address",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ApplicationIPBinding",
        "InputType": "text",
        "Hidden": true,
        "ParamFieldName": "$.bind",
        "ExcludeFromImport": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Announce Server",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, the server will be announced to the master list so that it is visible in the server browser",
        "Keywords": "announce,master,server,list",
        "FieldName": "announce",
        "InputType": "checkbox",
        "ParamFieldName": "$.announce",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Server Name",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name of the server that is shown in the server browser. Use [] for tags, such as: 'Beast [Serious Roleplay]'",
        "Keywords": "name,server",
        "FieldName": "name",
        "InputType": "text",
        "ParamFieldName": "$.name",
        "DefaultValue": "AMP Powered RAGE:MP Server",
        "EnumValues": {}
    },
    {
        "DisplayName": "Game Mode",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the game mode to run on the server",
        "Keywords": "gamemode,mode",
        "FieldName": "gamemode",
        "InputType": "enum",
        "ParamFieldName": "$.gamemode",
        "DefaultValue": "freeroam",
        "EnumValues": {
            "roleplay": "Roleplay",
            "freeroam": "Free Roam",
            "deathmatch": "Deathmatch",
            "teamdeathmatch": "Team Deathmatch",
            "race": "Race",
            "drift": "Drift",
            "derby": "Derby",
            "trucking": "Trucking",
            "copsandrobbers": "Cops and Robbers",
            "gangwar": "Gang War"
        }
    },
    {
        "DisplayName": "Enable Encryption",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, connections to the server will be encrypted",
        "Keywords": "encryption,connections,encrypt",
        "FieldName": "encryption",
        "InputType": "checkbox",
        "ParamFieldName": "$.encryption",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Player Limit",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum number of players allowed on the server at one time",
        "Keywords": "maxplayers,players,limit,max",
        "FieldName": "maxplayers",
        "InputType": "number",
        "ParamFieldName": "$.maxplayers",
        "DefaultValue": "100",
        "Placeholder": "100",
        "Suffix": "players",
        "EnumValues": {}
    },
    {
        "DisplayName": "Stream Distance",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the distance on the X,Y plane that server entities will stream in for connected players",
        "Keywords": "stream,distance",
        "FieldName": "stream-distance",
        "InputType": "number",
        "ParamFieldName": "$.stream-distance",
        "DefaultValue": "500.0",
        "Placeholder": "500.0",
        "EnumValues": {}
    },
    {
        "DisplayName": "Disallow Multiple Connections Per IP",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, multiple connections from the same IP address will be disallowed",
        "Keywords": "multiple,connections,ip,address,disallow",
        "FieldName": "disallow-multiple-connections-per-ip",
        "InputType": "checkbox",
        "ParamFieldName": "$.disallow-multiple-connections-per-ip",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Reconnection Time Limit",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum time a player can try to reconnect before being timed out",
        "Keywords": "limit,time,connections,ip,reconnection,timeout,maximum",
        "FieldName": "limit-time-of-connections-per-ip",
        "InputType": "number",
        "ParamFieldName": "$.limit-time-of-connections-per-ip",
        "DefaultValue": "0",
        "Placeholder": "0",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server URL",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a website URL for the server. The URL will be truncated to 20 characters in the [RAGE:MP Master List Web](https://rage.mp/masterlist)",
        "Keywords": "url,website",
        "FieldName": "url",
        "InputType": "url",
        "ParamFieldName": "$.url",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Language",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the language of the server. Must be a string. For example, 'us' will display the United States flag on the server's name",
        "Keywords": "language,country",
        "FieldName": "language",
        "InputType": "text",
        "ParamFieldName": "$.language",
        "DefaultValue": "us",
        "Placeholder": "us",
        "EnumValues": {}
    },
    {
        "DisplayName": "Sync Rate",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the time interval for the server to synchronize its entities",
        "Keywords": "sync,rate,time,interval,sync-rate,synchronize",
        "FieldName": "sync-rate",
        "InputType": "number",
        "ParamFieldName": "$.sync-rate",
        "DefaultValue": "40",
        "Placeholder": "40",
        "Suffix": "milliseconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "Resource Scan Thread Limit",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum number of threads used for resource scanning",
        "Keywords": "resource,scan,thread,limit,resource-scan-thread-limit",
        "FieldName": "resource-scan-thread-limit",
        "InputType": "number",
        "ParamFieldName": "$.resource-scan-thread-limit",
        "DefaultValue": "1",
        "Placeholder": "1",
        "EnumValues": {}
    },
    {
        "DisplayName": "Maximum Ping",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum ping allowed for clients connecting to the server",
        "Keywords": "max,maximum,ping,max-ping",
        "FieldName": "max-ping",
        "InputType": "number",
        "ParamFieldName": "$.max-ping",
        "DefaultValue": "500",
        "Placeholder": "500",
        "EnumValues": {}
    },
    {
        "DisplayName": "Minimum Framerate",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the minimum framerate required for clients connecting to the server. 0 = no minimum",
        "Keywords": "min,minimum,fps,frames,framerate,min-fps",
        "FieldName": "min-fps",
        "InputType": "number",
        "ParamFieldName": "$.min-fps",
        "DefaultValue": "0",
        "Placeholder": "0",
        "Suffix": "fps",
        "EnumValues": {}
    },
    {
        "DisplayName": "Maximum Packet Loss",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum packet loss allowed for clients connecting to the server. -1 = no limit",
        "Keywords": "max,maximum,packet,loss,max-packet-loss",
        "FieldName": "max-packet-loss",
        "InputType": "number",
        "MinValue": "-1",
        "ParamFieldName": "$.max-packet-loss",
        "DefaultValue": "-1",
        "Placeholder": "-1",
        "EnumValues": {}
    },
    {
        "DisplayName": "Allow CEF Debugging",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, clients will be able to debug the server's CEF pages",
        "Keywords": "cef,debugging,allow-cef-debugging",
        "FieldName": "allow-cef-debugging",
        "InputType": "checkbox",
        "ParamFieldName": "$.allow-cef-debugging",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable NodeJS",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, NodeJS will be enabled serverside",
        "Keywords": "nodejs,node,enable-nodejs",
        "FieldName": "enable-nodejs",
        "InputType": "checkbox",
        "ParamFieldName": "$.enable-nodejs",
        "DefaultValue": "true",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable CSharp",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets whether the server will be using the C# bridge plugin",
        "Keywords": "csharp,bridge,plugin",
        "FieldName": "csharp",
        "InputType": "checkbox",
        "ParamFieldName": "$.csharp",
        "DefaultValue": "disabled",
        "EnumValues": {
            "False": "disabled",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable HTTP Security",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, an extra security layer will be enabled to avoid the server being flooded by fake HTTP requests",
        "Keywords": "http,security,enable-http-security",
        "FieldName": "enable-http-security",
        "InputType": "checkbox",
        "ParamFieldName": "$.enable-http-security",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable Voice Chat",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, voice chat will be enabled",
        "Keywords": "voice,chat,voice-chat",
        "FieldName": "voice-chat",
        "InputType": "checkbox",
        "ParamFieldName": "$.voice-chat",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Voice Chat Sample Rate",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the voice chat sample rate",
        "Keywords": "voice,chat,sample,rate,voice-chat-sample-rate",
        "FieldName": "voice-chat-sample-rate",
        "InputType": "enum",
        "ParamFieldName": "$.voice-chat-sample-rate",
        "DefaultValue": "8000",
        "EnumValues": {
            "8000": "8000",
            "16000": "16000",
            "24000": "24000",
            "48000": "48000"
        }
    },
    {
        "DisplayName": "FastDL Host URL",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets an external URL from which clients will be able to download needed clientside packages. Otherwise they will download them directly from the server",
        "Keywords": "fastdl,host,url,download,packages,fastdl-host",
        "FieldName": "fastdl-host",
        "InputType": "url",
        "ParamFieldName": "$.fastdl-host",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Create FastDL Snapshot",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, clientside packages will be generated to a folder to be downloadable and used with the FastDL Host URL",
        "Keywords": "create,fastdl,snapshot,create-fastdl-snapshot",
        "FieldName": "create-fastdl-snapshot",
        "InputType": "checkbox",
        "ParamFieldName": "$.create-fastdl-snapshot",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Allow Server Side Weapons Only",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, only weapons that are given from serverside will be synced",
        "Keywords": "server,side,weapons,mode,server-side-weapons-only-mode",
        "FieldName": "server-side-weapons-only-mode",
        "InputType": "checkbox",
        "ParamFieldName": "$.server-side-weapons-only-mode",
        "DefaultValue": "true",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "API Threading Debugging",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, every usage of the API out of a proper thread will be reported. Use only for debugging",
        "Keywords": "api,threading,debugging,api-threading-debugging",
        "FieldName": "api-threading-debugging",
        "InputType": "checkbox",
        "ParamFieldName": "$.api-threading-debugging",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Server FQDN",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a fully qualified domain name for the server. When used, players won't notice any server IP change, including the re-utilisation of downloaded packages",
        "Keywords": "fqdn,domain,name",
        "FieldName": "fqdn",
        "InputType": "text",
        "ParamFieldName": "$.fqdn",
        "DefaultValue": "",
        "Placeholder": "game-srv.rage.mp",
        "EnumValues": {}
    },
    {
        "DisplayName": "Resources Compression Level",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the resources compression level. Use 0 for a local server, or a higher value for bandwidth optimisation. Use -9 for fast compression",
        "Keywords": "resources,compression,level,resources-compression-level",
        "FieldName": "resources-compression-level",
        "InputType": "number",
        "MinValue": "-9",
        "ParamFieldName": "$.resources-compression-level",
        "DefaultValue": "1",
        "Placeholder": "1",
        "EnumValues": {}
    },
    {
        "DisplayName": "Node Command Line Flags",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets node command line flags",
        "Keywords": "node,command,line,flags,node-commandline-flags",
        "FieldName": "node-commandline-flags",
        "InputType": "text",
        "ParamFieldName": "$.node-commandline-flags",
        "DefaultValue": "",
        "Placeholder": "--inspect",
        "EnumValues": {}
    },
    {
        "DisplayName": "Synchronization Extrapolation Multiplier",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the vehicle synchronization prediction disabling possible latency offset",
        "Keywords": "synchronization,extrapolation,multiplier,synchronization-extrapolation-multiplier",
        "FieldName": "synchronization-extrapolation-multiplier",
        "InputType": "number",
        "ParamFieldName": "$.synchronization-extrapolation-multiplier",
        "DefaultValue": "0.0",
        "Placeholder": "0.0",
        "EnumValues": {}
    },
    {
        "DisplayName": "HTTP Threads",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets how many concurrent connections will be handled at the same time, with the rest queued. Increasing this setting will increase bandwidth usage",
        "Keywords": "http,threads,http-threads",
        "FieldName": "http-threads",
        "InputType": "number",
        "ParamFieldName": "$.http-threads",
        "DefaultValue": "50",
        "Placeholder": "50",
        "Suffix": "connections",
        "EnumValues": {}
    },
    {
        "DisplayName": "Enable Trigger Compression Logging",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, the compression rates of all outgoing client event triggers with the dictionary the server has been initialized with will be logged",
        "Keywords": "trigger,compression,logging,trigger-compression-logging",
        "FieldName": "trigger-compression-logging",
        "InputType": "checkbox",
        "ParamFieldName": "$.trigger-compression-logging",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable Trigger Compression Training",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, dictionary training will be enabled. The server will take data from all triggers and flush them to the file specified under Trigger Compression Dictionary",
        "Keywords": "trigger,compression,training,trigger-compression-training",
        "FieldName": "trigger-compression-training",
        "InputType": "checkbox",
        "ParamFieldName": "$.trigger-compression-training",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Trigger Compression Dictionary",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name of the file to load/save the compression dictionary",
        "Keywords": "trigger,compression,dictionary,file,trigger-compression-dictionary",
        "FieldName": "trigger-compression-dictionary",
        "InputType": "text",
        "ParamFieldName": "$.trigger-compression-dictionary",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Disable Client Packages RAM Cache",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, resources will not be cached in memory and instead will be streamed from storage",
        "Keywords": "client,packages,ram,cache,disable-client-packages-ram-cache",
        "FieldName": "disable-client-packages-ram-cache",
        "InputType": "checkbox",
        "ParamFieldName": "$.disable-client-packages-ram-cache",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Client Packages Shared Folder",
        "Category": "RAGE MP:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a shared folder name so that the same client resources can be used across different servers. The Server FQDN must be a subdomain of the shared folder name, such as foo.domain.com, bar.domain.com => domain.com",
        "Keywords": "client,packages,shared,folder,client-packages-shared-folder",
        "FieldName": "client-packages-shared-folder",
        "InputType": "text",
        "ParamFieldName": "$.client-packages-shared-folder",
        "DefaultValue": "",
        "Placeholder": "domain.com",
        "EnumValues": {}
    }
]