[
    {
        "DisplayName": "Server Port",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ServerPort",
        "Hidden": true,
        "InputType": "number",
        "ParamFieldName": "port",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server IP Binding",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "",
        "Keywords": "",
        "FieldName": "$ApplicationIPBinding",
        "InputType": "text",
        "Hidden": true,
        "ParamFieldName": "bind_address",
        "IncludeInCommandLine": false,
        "EnumValues": {}
    },
    {
        "DisplayName": "Announce Server",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, the server will be automatically reported to the server list that is specified under Server List URL. The server port must be accessible externally for the server to be listed",
        "Keywords": "server,announce,public,server_announce",
        "FieldName": "server_announce",
        "InputType": "checkbox",
        "ParamFieldName": "server_announce",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Server List URL",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the URL of the server list to which the server can be announced",
        "Keywords": "serverlist,list,url,serverlist_url",
        "FieldName": "serverlist_url",
        "InputType": "text",
        "ParamFieldName": "serverlist_url",
        "DefaultValue": "servers.luanti.org",
        "Placeholder": "servers.luanti.org",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Name",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name of the server to be displayed in the server list and when players join the server",
        "Keywords": "server,name,server_name",
        "FieldName": "server_name",
        "InputType": "text",
        "ParamFieldName": "server_name",
        "DefaultValue": "AMP Powered Luanti Server",
        "Placeholder": "AMP Powered Luanti Server",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Description",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the description of the server to be displayed in the server list and when players join the server",
        "Keywords": "server,description,server_description",
        "FieldName": "server_description",
        "InputType": "text",
        "ParamFieldName": "server_description",
        "DefaultValue": "Mine here!",
        "Placeholder": "Mine here!",
        "EnumValues": {}
    },
    {
        "DisplayName": "MOTD",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the message of the day (MOTD) displayed when players connect to the server",
        "Keywords": "welcome,message,day,motd",
        "FieldName": "motd",
        "InputType": "text",
        "ParamFieldName": "motd",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Domain Name",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "To display a domain name instead of IP address for the server in the server list, set 'server_address' in minetest.conf to that domain name. If you do not have a domain name pointed to the server, then do not add/uncomment this setting or write anything for it, or the server list will reject your server",
        "Keywords": "server,domain,name,address",
        "FieldName": "server_address_domain_name",
        "InputType": "hidden",
        "ParamFieldName": "server_address_domain_name",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server URL",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the URL for the server's website to be displayed in the server list",
        "Keywords": "server,website,url",
        "FieldName": "server_url",
        "InputType": "url",
        "ParamFieldName": "server_url",
        "DefaultValue": "",
        "Placeholder": "https://luanti.org",
        "EnumValues": {}
    },
    {
        "DisplayName": "Game ID",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the game ID to load when the server is started, based on those included in the 'games' directory. See this [selection](https://content.luanti.org) of games to pick from and download",
        "Keywords": "game,id,gameid",
        "FieldName": "gameid",
        "InputType": "text",
        "ParamFieldName": "gameid",
        "IncludeInCommandLine": true,
        "DefaultValue": "",
        "Required": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "World Name",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the name of the world to create on server start if it does not exist in the 'worlds' directory, or otherwise to load from that directory",
        "Keywords": "world,name,worldname",
        "FieldName": "worldname",
        "InputType": "text",
        "ParamFieldName": "worldname",
        "DefaultValue": "world",
        "Placeholder": "world",
        "Required": true,
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Admin Name",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the player name that is an admin on the server. Any player connecting with that name will be an admin",
        "Keywords": "admin,name",
        "FieldName": "name",
        "InputType": "text",
        "ParamFieldName": "name",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Default Password",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the password that new players need to input to register on the server. Empty = no default password (new players can select their own, or not have any password if Disallow Empty Password is disabled)",
        "Keywords": "default,server,password,default_password",
        "FieldName": "default_password",
        "InputType": "text",
        "ParamFieldName": "default_password",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Disallow Empty Password",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, players cannot register on the server without a password or change their password later to an empty password",
        "Keywords": "disallow,empty,password,disallow_empty_password",
        "FieldName": "disallow_empty_password",
        "InputType": "checkbox",
        "ParamFieldName": "disallow_empty_password",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Player Limit",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets the maximum number of players that may connect to the server at one time",
        "Keywords": "maximum,players,clients,limit,max_users",
        "FieldName": "$MaxUsers",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "max_users",
        "DefaultValue": "15",
        "Placeholder": "15",
        "Suffix": "players",
        "EnumValues": {}
    },
    {
        "DisplayName": "Default Player Privileges",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Comma-separated list of [privileges](https://wiki.luanti.org/Privileges) that new players automatically receive. See '/privs' in-game for a full list",
        "Keywords": "default,privileges,default_privs",
        "FieldName": "default_privs",
        "InputType": "text",
        "ParamFieldName": "default_privs",
        "DefaultValue": "interact,shout",
        "Placeholder": "interact,shout",
        "EnumValues": {}
    },
    {
        "DisplayName": "Basic Player Privileges",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Comma-separated list of [privileges](https://wiki.luanti.org/Privileges) that players with basic_privs can grant",
        "Keywords": "basic,privileges,basic_privs",
        "FieldName": "basic_privs",
        "InputType": "text",
        "ParamFieldName": "basic_privs",
        "DefaultValue": "interact,shout",
        "Placeholder": "interact,shout",
        "EnumValues": {}
    },
    {
        "DisplayName": "Static Spawnpoint",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, players will always spawn/respawn at the specified position. Format: x,y,z",
        "Keywords": "spawnpoint,static,spawn,respawn,static_spawnpoint",
        "FieldName": "static_spawnpoint",
        "InputType": "text",
        "ParamFieldName": "static_spawnpoint",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Enable Strict Protocol Version Checking",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, older clients will not be allowed to connect to the server. Older clients won't crash when connecting to new servers, but they may not support all new features that are expected",
        "Keywords": "protocol,version,strict,checking,old,client,strict_protocol_version_checking",
        "FieldName": "strict_protocol_version_checking",
        "InputType": "checkbox",
        "ParamFieldName": "strict_protocol_version_checking",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Remote Media URL",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "Sets a URL from which clients fetch media instead of using the server UDP port. Files that are not present will be fetched the usual way",
        "Keywords": "media,remote,url,remote_media",
        "FieldName": "remote_media",
        "InputType": "url",
        "ParamFieldName": "remote_media",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Disable Anticheat",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If set, the server anticheat system will be disabled",
        "Keywords": "anticheat,disable,disable_anticheat",
        "FieldName": "disable_anticheat",
        "InputType": "checkbox",
        "ParamFieldName": "disable_anticheat",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Enable Rollback Recording",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Server:dns:1",
        "Description": "If enabled, player actions are recorded for rollback. This setting is only read when the server starts",
        "Keywords": "rollback,recording,enable_rollback_recording",
        "FieldName": "enable_rollback_recording",
        "InputType": "checkbox",
        "ParamFieldName": "enable_rollback_recording",
        "DefaultValue": "false",
        "EnumValues": {
            "False": "false",
            "True": "true"
        }
    },
    {
        "DisplayName": "Fixed Map Seed",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "World:globe:2",
        "Description": "Sets a specific map seed to be used when creating a new world. Empty = random",
        "Keywords": "map,seed,fixed,world,fixed_map_seed",
        "FieldName": "fixed_map_seed",
        "InputType": "text",
        "ParamFieldName": "fixed_map_seed",
        "DefaultValue": "",
        "EnumValues": {}
    },
    {
        "DisplayName": "Map Generator Name",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "World:globe:2",
        "Description": "Sets the map generator to be used when creating a new world",
        "Keywords": "map,generator,mapgen,world,mg_name",
        "FieldName": "mg_name",
        "InputType": "enum",
        "ParamFieldName": "mg_name",
        "DefaultValue": "v7",
        "EnumValues": {
            "carpathian": "Carpathian",
            "flat": "Flat",
            "fractal": "Fractal",
            "singlenode": "Single Node",
            "v5": "V5",
            "v6": "V6",
            "v7": "V7 (default)",
            "valleys": "Valleys"
        }
    },
    {
        "DisplayName": "Water Level",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "World:globe:2",
        "Description": "Sets the water surface level when creating a new world",
        "Keywords": "water,level,world,water_level",
        "FieldName": "water_level",
        "InputType": "number",
        "MinValue": "-31000",
        "MaxValue": "31000",
        "ParamFieldName": "water_level",
        "DefaultValue": "1",
        "Placeholder": "1",
        "EnumValues": {}
    },
    {
        "DisplayName": "Maximum Block Generation Distance",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "World:globe:2",
        "Description": "Sets how far blocks are generated for clients. 1 mapblock = 16 nodes",
        "Keywords": "block,generation,mapblocks,generate,distance,world,max_block_generate_distance",
        "FieldName": "max_block_generate_distance",
        "InputType": "number",
        "MinValue": "1",
        "MaxValue": "32767",
        "ParamFieldName": "max_block_generate_distance",
        "DefaultValue": "10",
        "Placeholder": "10",
        "Suffix": "mapblocks",
        "EnumValues": {}
    },
    {
        "DisplayName": "Map Generation Limit",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "World:globe:2",
        "Description": "Sets the map generation limit in all 6 directions from (0, 0, 0). Only mapchunks completely within the mapgen limit are generated",
        "Keywords": "map,generation,mapgen,limit,world,mapgen_limit",
        "FieldName": "mapgen_limit",
        "InputType": "number",
        "MinValue": "0",
        "MaxValue": "31007",
        "ParamFieldName": "mapgen_limit",
        "DefaultValue": "31007",
        "Placeholder": "31007",
        "Suffix": "nodes",
        "EnumValues": {}
    },
    {
        "DisplayName": "Map Generation Flags",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "World:globe:2",
        "Description": "Comma-separated list of global map generation attributes. Options: biomes, caves, decorations, dungeons, light, nobiomes, nocaves, nodecorations, nodungeons, nolight, noores, ores. Specific map generator settings can be configured in minetest.conf",
        "Keywords": "map,generation,mapgen,flags,world,mg_flags",
        "FieldName": "mg_flags",
        "InputType": "text",
        "ParamFieldName": "mg_flags",
        "DefaultValue": "caves,dungeons,light,decorations,biomes,ores",
        "Placeholder": "caves,dungeons,light,decorations,biomes,ores",
        "EnumValues": {}
    },
    {
        "DisplayName": "Time Speed",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Gameplay:joystick:3",
        "Description": "Sets the length of the day/night cycle. For example: 72 = 20min, 360 = 4min, 1 = 24hour, 0 = day/night/whatever stays unchanged",
        "Keywords": "time,speed,day,night,cycle,time_speed",
        "FieldName": "time_speed",
        "InputType": "number",
        "MinValue": "0",
        "ParamFieldName": "time_speed",
        "DefaultValue": "72",
        "Placeholder": "72",
        "EnumValues": {}
    },
    {
        "DisplayName": "World Start Time",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Gameplay:joystick:3",
        "Description": "Sets the time of day when a new world is started",
        "Keywords": "world,start,time,world_start_time",
        "FieldName": "world_start_time",
        "InputType": "number",
        "MinValue": "0",
        "MaxValue": "23999",
        "ParamFieldName": "world_start_time",
        "DefaultValue": "6125",
        "Placeholders": "6125",
        "Suffix": "millihours",
        "EnumValues": {}
    },
    {
        "DisplayName": "Item Entity Time To Live",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Gameplay:joystick:3",
        "Description": "Sets the time to live for item entities (dropped items). -1 = disabled",
        "Keywords": "item,entity,time,live,ttl,dropped,items,item_entity_ttl",
        "FieldName": "item_entity_ttl",
        "InputType": "number",
        "MinValue": "-1",
        "ParamFieldName": "item_entity_ttl",
        "DefaultValue": "900",
        "Placeholders": "900",
        "Suffix": "seconds",
        "EnumValues": {}
    },
    {
        "DisplayName": "Default Stack Size",
        "Category": "Luanti:stadia_controller",
        "Subcategory": "Gameplay:joystick:3",
        "Description": "Sets the default stack size of nodes, items and tools. Note that mods or games may explicitly set a stack for certain (or all) items",
        "Keywords": "default,stack,size,nodes,items,tools,default_stack_max",
        "FieldName": "default_stack_max",
        "InputType": "number",
        "MinValue": "1",
        "MaxValue": "65535",
        "ParamFieldName": "default_stack_max",
        "DefaultValue": "99",
        "Placeholders": "99",
        "EnumValues": {}
    },
    {
        "DisplayName": "Server Version",
        "Category": "Updates",
        "Subcategory": "Server Updates:build:-1",
        "Description": "Sets the server version to install. Update the server after changing this setting",
        "Keywords": "server,version",
        "FieldName": "ServerVersion",
        "InputType": "enum",
        "ParamFieldName": "ServerVersion",
        "IncludeInCommandLine": false,
        "DefaultValue": "5.17.0",
        "EnumValues": {
            "5.10.0": "5.10.0",
            "5.11.0": "5.11.0",
            "5.12.0": "5.12.0",
            "5.13.0": "5.13.0",
            "5.14.0": "5.14.0",
            "5.15.0": "5.15.0",
            "5.15.1": "5.15.1",
            "5.15.2": "5.15.2",
            "5.16.1": "5.16.1",
            "5.17.0": "5.17.0",
            "{{CustomVersion}}": "--Custom--"
        }
    },
    {
        "DisplayName": "Custom Server Version",
        "Category": "Updates",
        "Subcategory": "Server Updates:build:-1",
        "Description": "Sets a custom version for the server. \"Custom\" type must be selected under Server Version. A list of releases is available on [GitHub](https://github.com/luanti-org/luanti/releases)",
        "Keywords": "custom,version",
        "FieldName": "CustomVersion",
        "InputType": "text",
        "ParamFieldName": "CustomVersion",
        "DefaultValue": "",
        "Placeholder": "5.17.0",
        "EnumValues": {}
    }
]