[
    {
        "DisplayName": "Server Name",
        "Description": "The name of the server that will be visible in server browsers.",
        "Category": "Server Settings",
        "Keywords": "servername",
        "FieldName": "servername",
        "InputType": "text",
        "IsFlagArgument": false,
        "ParamFieldName": "servername",
        "IncludeInCommandLine": true,
        "DefaultValue": "AMP Powered Server",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Password",
        "Category": "Server Settings",
        "Description": "Sets the password that is used when trying to connect to the server.",
        "Keywords": "admin,password",
        "FieldName": "serverpassword",
        "InputType": "password",
        "IsFlagArgument": false,
        "ParamFieldName": "serverpassword",
        "IncludeInCommandLine": true,
        "DefaultValue": "",
        "SkipIfEmpty": true
    },
    {
        "DisplayName": "Admin Password",
        "Category": "Server Settings",
        "Description": "Unlocks the admin commands from within the game, that can be used to change the gameplay settings of the server, such as skill gain rate and field growth time.",
        "Keywords": "admin,password",
        "FieldName": "adminpwd",
        "InputType": "RandomPassword",
        "IsFlagArgument": false,
        "ParamFieldName": "adminpwd",
        "IncludeInCommandLine": true,
        "DefaultValue": "Password123"
    },
    {
        "DisplayName": "Max Players",
        "Description": "Sets the max number of players allowed on the server. This overrides the internal game commands to change the player limit.",
        "Category": "Server Settings",
        "Keywords": "max,players",
        "FieldName": "$MaxUsers",
        "InputType": "number",
        "IsFlagArgument": false,
        "ParamFieldName": "maxplayers",
        "IncludeInCommandLine": true,
        "DefaultValue": "100",
        "EnumValues": {}
    },
    {
        "DisplayName": "Game Mode",
        "Category": "Server Settings",
        "Description": "Starts the server with the configuration and world data from the subdirectory specified.",
        "Keywords": "game,mode",
        "FieldName": "start",
        "InputType": "enum",
        "IsFlagArgument": false,
        "ParamFieldName": "start",
        "IncludeInCommandLine": true,
        "DefaultValue": "dist/Adventure",
        "EnumValues": {
            "dist/Adventure": "Adventure",
            "dist/Creative": "Creative"
        }
    },
    {
        "DisplayName": "Enable Epic Settings",
        "Description": "If true the server will follow the rules from the Epic servers in Wurm Online. For instance it will use the skill curve.",
        "Category": "Server Settings",
        "Keywords": "enable,epic,settings",
        "FieldName": "epicsettings",
        "InputType": "checkbox",
        "IsFlagArgument": false,
        "ParamFieldName": "epicsettings",
        "IncludeInCommandLine": true,
        "DefaultValue": "false",
        "EnumValues": {
            "True": "true",
            "False": "false"
        }
    },
    {
        "DisplayName": "Enable PVP",
        "Description": "Toggles PvP on or off on the server.",
        "Category": "Server Settings",
        "Keywords": "enable,pvp",
        "FieldName": "pvp",
        "InputType": "checkbox",
        "IsFlagArgument": false,
        "ParamFieldName": "pvp",
        "IncludeInCommandLine": true,
        "DefaultValue": "false",
        "EnumValues": {
            "True": "true",
            "False": "false"
        }
    },
    {
        "DisplayName": "Set as Login Server",
        "Description": "Defaults to On, should only be set to Off if the server is intended to be connected with another server that is going to act as a loginserver.",
        "Category": "Server Settings",
        "Keywords": "login,server",
        "FieldName": "loginserver",
        "InputType": "checkbox",
        "IsFlagArgument": false,
        "ParamFieldName": "loginserver",
        "IncludeInCommandLine": true,
        "DefaultValue": "true",
        "EnumValues": {
            "True": "true",
            "False": "false"
        }
    },
    {
        "DisplayName": "Enable Home Server",
        "Description": "If the server is a home server (belongs to a single kingdom).",
        "Category": "Server Settings",
        "Keywords": "home,server",
        "FieldName": "homeserver",
        "InputType": "checkbox",
        "IsFlagArgument": false,
        "ParamFieldName": "homeserver",
        "IncludeInCommandLine": true,
        "DefaultValue": "false",
        "EnumValues": {
            "True": "true",
            "False": "false"
        }
    },
    {
        "DisplayName": "Home Kingdom ID",
        "Description": "The kingdom the server belongs to.",
        "Category": "Server Settings",
        "Keywords": "home,kingdom",
        "FieldName": "homekingdom",
        "InputType": "number",
        "IsFlagArgument": false,
        "ParamFieldName": "homekingdom",
        "IncludeInCommandLine": true,
        "DefaultValue": "",
        "EnumValues": {},
        "SkipIfEmpty": true
    },
    {
        "DisplayName": "RMI Port",
        "Description": "Used for server to server communication. Must manually add the same port number under the ADS Edit Ports button.",
        "Category": "Server Settings",
        "Keywords": "rmi,port",
        "FieldName": "rmiport",
        "InputType": "number",
        "IsFlagArgument": false,
        "ParamFieldName": "rmiport",
        "IncludeInCommandLine": true,
        "DefaultValue": "",
        "EnumValues": {},
        "SkipIfEmpty": true
    },
    {
        "DisplayName": "RMI REG Port",
        "Description": "Used for server to server communication. Must manually add the same port number under the ADS Edit Ports button.",
        "Category": "Server Settings",
        "Keywords": "rmi,reg,port",
        "FieldName": "rmiregport",
        "InputType": "number",
        "IsFlagArgument": false,
        "ParamFieldName": "rmiregport",
        "IncludeInCommandLine": true,
        "DefaultValue": "",
        "EnumValues": {},
        "SkipIfEmpty": true
    },
    {
        "DisplayName": "Memory Limit",
        "Category": "Server Settings",
        "Description": "Java's maximum heap size (Must include ####m at the end)",
        "Keywords": "maximum,memory,limit",
        "FieldName": "MaxHeapSize",
        "InputType": "text",
        "IsFlagArgument": false,
        "ParamFieldName": "Memory.MaxHeapSize",
        "IncludeInCommandLine": false,
        "DefaultValue": "2048m"
    },
    {
        "DisplayName": "Custom Java Arguments",
        "Category": "Server Settings",
        "Description": "Settings that will be appended to the Java arguments for the server. Only change this if you know what you're doing!",
        "Keywords": "custom,java,arguments,args",
        "FieldName": "JvmParam0",
        "InputType": "text",
        "IsFlagArgument": false,
        "ParamFieldName": "VMParams.JvmParam0",
        "IncludeInCommandLine": false,
        "DefaultValue": "-XX:+AggressiveOpts"
    },
    {
        "DisplayName": "Override Java Location",
        "Category": "Server Settings",
        "Description": "For \"Failed to load jvm.dll\", enables use of the Custom Java Location setting.",
        "Keywords": "custom,java,arguments,args,location",
        "FieldName": "OverrideDefaultJavaPath",
        "InputType": "checkbox",
        "IsFlagArgument": false,
        "ParamFieldName": "Runtime.OverrideDefaultJavaPath",
        "IncludeInCommandLine": false,
        "DefaultValue": "false",
        "EnumValues": {
            "True": "true",
            "False": "false"
        }
    },
    {
        "DisplayName": "Custom Java Location",
        "Category": "Server Settings",
        "Description": "For \"Failed to load jvm.dll\", specify a location where jvm.dll is located.",
        "Keywords": "custom,java,arguments,args,location",
        "FieldName": "JavaPath",
        "InputType": "text",
        "IsFlagArgument": false,
        "ParamFieldName": "Runtime.JavaPath",
        "IncludeInCommandLine": false,
        "DefaultValue": "C:\\Program Files\\Java\\jre1.8.0_321\\bin\\server"
    }
]