[
    {
        "DisplayName":"Public IP",
        "Category":"Server Settings",
        "Description":"",
        "Keywords":"",
        "FieldName":"$ExternalIP",
        "InputType":"text",
        "IsFlagArgument":false,
        "Hidden":true,
        "ParamFieldName":"$.Server.PublicIp",
        "IncludeInCommandLine":false,
        "EnumValues":{}
    },
    {
        "DisplayName":"Public Port",
        "Category":"Server Settings",
        "Description":"",
        "Keywords":"",
        "FieldName":"$ServerPort",
        "InputType":"number",
        "IsFlagArgument":false,
        "Hidden":true,
        "ParamFieldName":"$.Server.PublicPort",
        "IncludeInCommandLine":false,
        "EnumValues":{}
    },
    {
    
        "DisplayName":"Listen Port",
        "Category":"Server Settings",
        "Description":"",
        "Keywords":"",
        "FieldName":"$ServerPort",
        "InputType":"number",
        "IsFlagArgument":false,
        "Hidden":true,
        "ParamFieldName":"$.Server.ListenPort",
        "IncludeInCommandLine":false,
        "EnumValues":{}
    },
    {
        "DisplayName":"HTTP Matchmaking Port",
        "Category":"Server Settings",
        "Description":"",
        "Keywords":"",
        "FieldName":"$ServerPort",
        "InputType":"number",
        "IsFlagArgument":false,
        "Hidden":true,
        "ParamFieldName":"$.HttpServer.ListenPort",
        "IncludeInCommandLine":false,
        "EnumValues":{}
    },
    {
        "DisplayName":"IP Binding",
        "Category":"Server Settings",
        "Description":"",
        "Keywords":"",
        "FieldName":"$ApplicationIPBinding",
        "InputType":"text",
        "IsFlagArgument":false,
        "Hidden":true,
        "ParamFieldName":"$.Server.ListenIp",
        "IncludeInCommandLine":false,
        "EnumValues":{}
    },
    {
        "DisplayName":"Build Stream",
        "Category":"Server Settings",
        "Description":"Sets the build stream for the server - either the mainline release stream, or the nightly (CI) stream. The Server Version also needs to be set. Back up configuration and update the server!",
        "Keywords":"build,stream",
        "FieldName":"BuildStream",
        "InputType":"enum",
        "IsFlagArgument":false,
        "ParamFieldName":"BuildStream",
        "IncludeInCommandLine":false,
        "DefaultValue":"Release",
        "EnumValues":{
            "Release":"Mainline (Default)",
            "Nightly":"Nightly"
        }
    },
    {
        "DisplayName":"Server Version",
        "Category":"Server Settings",
        "Description":"Sets the server version (either a [release](https://github.com/Impostor/Impostor/releases) version or a [nightly](https://nightly.link/Impostor/Impostor/workflows/ci/master) version) to install. For nightly, you must include the build number, such as \"1.7.3-ci.513\". Back up configuration and update the server!",
        "Keywords":"server,version",
        "FieldName":"ServerVersion",
        "InputType":"text",
        "IsFlagArgument":false,
        "ParamFieldName":"ServerVersion",
        "IncludeInCommandLine":false,
        "DefaultValue":"1.8.2",
        "Placeholder":"1.8.2 | 1.8.2-ci.621",
        "EnumValues":{}
    },
    {
        "DisplayName":"Dotnet Version",
        "Category":"Server Settings",
        "Description":"Sets the [ASP.NET Core 7.0 version](https://dotnet.microsoft.com/en-us/download/dotnet/7.0) to install. Back up configuration and update the server!",
        "Keywords":"dotnet,version",
        "FieldName":"DotnetVersion",
        "InputType":"text",
        "IsFlagArgument":false,
        "ParamFieldName":"DotnetVersion",
        "IncludeInCommandLine":false,
        "DefaultValue":"7.0.5",
        "Placeholder":"7.0.5",
        "EnumValues":{}
    },
    {
        "DisplayName":"Client and HTTP Matchmaking Configuration",
        "Category":"Server Settings",
        "Description":"For a player to connect to the server, they must [configure their Among Us client](https://impostor.github.io/Impostor/). In addition, from late 2022, Among Us requires [HTTP matchmaking](https://github.com/Impostor/Impostor.Http#impostorhttp) for clients to connect. Set the desired HTTP Plugin Version to download, and configure the other Impostor.Http plugin settings as needed",
        "Keywords":"client,configuration,http,matchmaking,plugin",
        "FieldName":"",
        "InputType":"hidden",
        "IsFlagArgument":false,
        "ParamFieldName":"",
        "IncludeInCommandLine":false,
        "EnumValues":{}
    },
    {
        "DisplayName":"HTTP Plugin Version",
        "Category":"Server Settings",
        "Description":"Sets the [Impostor.HTTP plugin version](https://github.com/Impostor/Impostor.Http/releases) to install. Update the server!",
        "Keywords":"http,matchmaking,plugin,version",
        "FieldName":"HttpPluginVersion",
        "InputType":"text",
        "IsFlagArgument":false,
        "ParamFieldName":"HttpPluginVersion",
        "IncludeInCommandLine":false,
        "DefaultValue":"0.4.0",
        "Placeholder":"0.4.0",
        "EnumValues":{}
    },
    {
        "DisplayName":"HTTP Matchmaking Plugin Binding",
        "Category":"Server Settings",
        "Description":"Sets the binding of the Impostor.Http plugin server. Use 0.0.0.0 if clients will connect to the plugin server directly. Otherwise you can use 127.0.0.1 or a local IP on the host, as appropriate, if using a reverse proxy for the plugin server traffic (preferred)",
        "Keywords":"http,matchmaking,plugin,binding,listenip",
        "FieldName":"HttpServerListenIp",
        "InputType":"text",
        "IsFlagArgument":false,
        "ParamFieldName":"$.HttpServer.ListenIp",
        "IncludeInCommandLine":false,
        "DefaultValue":"0.0.0.0",
        "Placeholder":"0.0.0.0",
        "EnumValues":{}
    },
    {
        "DisplayName":"Enable HTTPS For HTTP Matchmaking Plugin",
        "Category":"Server Settings",
        "Description":"If set, the Impostor.Http plugin server will use its own HTTPS (encrypted HTTP) rather than plain HTTP. Requires the HTTP Matchmaking Plugin Certificate Path to be set. Using a reverse proxy to provide HTTPS is preferred instead of using this setting. Note: HTTPS is required for iOS/Android devices to connect",
        "Keywords":"http,matchmaking,plugin,https,secure,usehttps",
        "FieldName":"HttpServerUseHttps",
        "InputType":"checkbox",
        "IsFlagArgument":false,
        "ParamFieldName":"$.HttpServer.UseHttps",
        "IncludeInCommandLine":false,
        "DefaultValue":"false",
        "EnumValues":{
            "False":"false",
            "True":"true"
        }
    },
    {
        "DisplayName":"HTTP Matchmaking Plugin Certificate Path",
        "Category":"Server Settings",
        "Description":"Sets the path to an SSL certificate (in PFX format) to enable the Impostor.Http plugin server to use its own HTTPS",
        "Keywords":"http,matchmaking,plugin,https,secure,certificate,path,certificatepath",
        "FieldName":"HttpServerCertificatePath",
        "InputType":"text",
        "IsFlagArgument":false,
        "ParamFieldName":"$.HttpServer.CertificatePath",
        "IncludeInCommandLine":false,
        "DefaultValue":"",
        "EnumValues":{}
    },
    {
        "DisplayName":"Enable Anticheat",
        "Category":"Server Settings",
        "Description":"If set, anticheat will be enabled",
        "Keywords":"anti,cheat",
        "FieldName":"AntiCheat_Enabled",
        "InputType":"checkbox",
        "IsFlagArgument":false,
        "ParamFieldName":"$.AntiCheat.Enabled",
        "IncludeInCommandLine":false,
        "DefaultValue":"true",
        "EnumValues":{
            "False":"false",
            "True":"true"
        }
    },
    {
        "DisplayName":"Ban IP",
        "Category":"Server Settings",
        "Description":"If enabled, anticheat will ban a hacking player from the server rather than just kicking them. The banned player will not be able to rejoin that game",
        "Keywords":"anti,cheat,ban",
        "FieldName":"AntiCheat_BanIpFromGame",
        "InputType":"checkbox",
        "IsFlagArgument":false,
        "ParamFieldName":"$.AntiCheat.BanIpFromGame",
        "IncludeInCommandLine":false,
        "DefaultValue":"true",
        "EnumValues":{
            "False":"false",
            "True":"true"
        }
    }
]