{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
    "meta": {
        "version": "PTDL_v2",
        "update_url": null
    },
    "exported_at": "2023-02-26T11:59:47+01:00",
    "name": "Minetest",
    "author": "support@pterodactyl.io",
    "description": "An open source voxel game engine. Play one of our many games, mod a game to your liking, make your own game, or play on a multiplayer server.",
    "features": null,
    "docker_images": {
        "Minetest": "ghcr.io\/parkervcp\/games:minetest"
    },
    "file_denylist": [],
    "startup": "minetest --server --port {{SERVER_PORT}} --world \/home\/container\/.minetest\/worlds\/{{WORLD_NAME}} --terminal --config \/home\/container\/.minetest\/minetest.conf --logfile \/home\/container\/server.log",
    "config": {
        "files": "{\r\n    \".minetest\/minetest.conf\": {\r\n        \"parser\": \"file\",\r\n        \"find\": {\r\n            \"name\": \"name = {{server.build.env.SERVER_ADMIN_NAME}}\",\r\n            \"server_name\": \"server_name = {{server.build.env.SERVER_NAME}}\",\r\n            \"server_description\": \"server_description = {{server.build.env.SERVER_DESC}}\",\r\n            \"server_address\": \"server_address = {{server.build.env.SERVER_DOMAIN}}\",\r\n            \"server_url\": \"server_url = {{server.build.env.SERVER_URL}}\",\r\n            \"server_announce\": \"server_announce = {{server.build.env.SERVER_ANNOUNCE}}\",\r\n            \"serverlist_url\": \"serverlist_url = {{server.build.env.SERVER_LIST_URL}}\",\r\n            \"motd\": \"motd = {{server.build.env.SERVER_MOTD}}\",\r\n            \"max_users\": \"max_users = {{server.build.env.SERVER_MAX_USERS}}\",\r\n            \"bind_address\": \"bind_address = 0.0.0.0\",\r\n            \"default_password\": \"default_password = {{server.build.env.SERVER_PASSWORD}}\",\r\n            \"default_game\": \"default_game = {{server.build.env.DEFAULT_GAME}}\"\r\n        }\r\n    }\r\n}",
        "startup": "{\r\n    \"done\": \" Server for gameid\"\r\n}",
        "logs": "{}",
        "stop": "\/shutdown"
    },
    "scripts": {
        "installation": {
            "script": "#!\/bin\/bash\r\n# Minetest Installation Script\r\nmkdir -p \/mnt\/server\/.minetest\r\n\r\napt update\r\napt -y install curl unzip\r\n\r\n# Create server.log\r\nLOG_FILE=\/mnt\/server\/server.log\r\nif [ -f \"$LOG_FILE\" ]; then\r\n  echo \"Log file already exists.\"\r\nelse \r\n  echo \"Log file does not exist. Making one...\"\r\n  touch \"$LOG_FILE\"\r\nfi\r\n\r\n# Create minetest.conf\r\nCONFIG_FILE=\/mnt\/server\/.minetest\/minetest.conf\r\nif [ -f \"$CONFIG_FILE\" ]; then\r\n  echo \"Config file already exists.\"\r\nelse \r\n  echo \"Config file does not exist. Making one...\"\r\n  curl -sSL -o \/mnt\/server\/.minetest\/minetest.conf.example https:\/\/raw.githubusercontent.com\/minetest\/minetest\/master\/minetest.conf.example\r\n  echo -e \"## Server settings generated by pterodactyl\\nname\\nserver_name\\nserver_description\\nserver_address\\nserver_url\\nserver_announce\\nserverlist_url\\nmotd\\nmax_users\\nbind_address\\ndefault_password\\ndefault_game\\n\\n## Custom server settings\\n\" >> \"$CONFIG_FILE\"\r\nfi\r\n\r\n# Create games folder\r\nGAMES_FOLDER=\/mnt\/server\/.minetest\/games\r\nif [ -d \"$GAMES_FOLDER\" ]; then\r\n  echo \"GAMES folder already exists.\"\r\nelse \r\n  echo \"GAMES folder does not exist. Making one...\"\r\n  mkdir -p $GAMES_FOLDER\r\nfi\r\n\r\n# Create mods folder\r\nMOD_FOLDER=\/mnt\/server\/.minetest\/mods\r\nif [ -d \"$MOD_FOLDER\" ]; then\r\n  echo \"Mods folder already exists.\"\r\nelse \r\n  echo \"Mods folder does not exist. Making one...\"\r\n  mkdir -p $MOD_FOLDER\r\n  curl -sSL -o \"$MOD_FOLDER\"\/mods_here.txt https:\/\/raw.githubusercontent.com\/minetest\/minetest\/master\/mods\/mods_here.txt\r\nfi\r\n\r\n# Install Gamemode\r\nif [ \"$COMMUNITY_DOWNLOAD\" == \"1\" ]; then\r\n    if ! [ -z \"$COMMUNITY_GAME_NAME\" ]; then\r\n\t\t  if ! [ -z \"$COMMUNITY_GAME_AUTOR\" ]; then\r\n\t\t  \techo \"Download $COMMUNITY_GAME_NAME\"\r\n\t\t\t\tD_URL=$(curl -s https:\/\/content.minetest.net\/packages\/$COMMUNITY_GAME_AUTOR\/$COMMUNITY_GAME_NAME\/ | grep -i download | grep packages | grep download | grep -o 'href=\".*\"' |  cut -d \"=\" -f2- | egrep title= | awk -F' ' '{print $1}' | tr -d '\"')\r\n\t\t\t\tcurl -sSL -o \/mnt\/server\/.minetest\/games.zip https:\/\/content.minetest.net\/$D_URL >\/dev\/null 2>&1\r\n\t\t\t\tunzip -o \/mnt\/server\/.minetest\/games.zip -d \/mnt\/server\/.minetest\/games >\/dev\/null 2>&1\r\n\t\t\t\trm \/mnt\/server\/.minetest\/games.zip\r\n\t\t  else\r\n\t\t    echo \"The COMMUNITY_GAME_AUTOR variable is required to download a community game\"\r\n\t\t  fi\r\n    else\r\n      echo \"The COMMUNITY_GAME_NAME variable is required to download a community game\"\r\n    fi\r\nfi\r\n\r\n# Done!\r\necho \"Installation was successfully completed!\"",
            "container": "debian:bullseye-slim",
            "entrypoint": "bash"
        }
    },
    "variables": [
        {
            "name": "Name of the admin player.",
            "description": "When running a server, clients connecting with this name are admins.",
            "env_variable": "SERVER_ADMIN_NAME",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:32",
            "field_type": "text"
        },
        {
            "name": "Server name",
            "description": "Name of the server, to be displayed when players join and in the serverlist.",
            "env_variable": "SERVER_NAME",
            "default_value": "Minetest server",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:64",
            "field_type": "text"
        },
        {
            "name": "Description of the server",
            "description": "Description of server, to be displayed when players join and in the serverlist.",
            "env_variable": "SERVER_DESC",
            "default_value": "mine here",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:64",
            "field_type": "text"
        },
        {
            "name": "Domain name of the server",
            "description": "Domain name of server, to be displayed in the serverlist.",
            "env_variable": "SERVER_DOMAIN",
            "default_value": "game.minetest.net",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|",
            "field_type": "text"
        },
        {
            "name": "Server url",
            "description": "Homepage of server, to be displayed in the serverlist.",
            "env_variable": "SERVER_URL",
            "default_value": "https:\/\/minetest.net",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|",
            "field_type": "text"
        },
        {
            "name": "Show in server list",
            "description": "Automatically report to the serverlist.",
            "env_variable": "SERVER_ANNOUNCE",
            "default_value": "true",
            "user_viewable": true,
            "user_editable": true,
            "rules": "string|in:true,false",
            "field_type": "text"
        },
        {
            "name": "Announce serverlist",
            "description": "Announce to this serverlist.",
            "env_variable": "SERVER_LIST_URL",
            "default_value": "servers.minetest.net",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|",
            "field_type": "text"
        },
        {
            "name": "message of the day",
            "description": "Message of the day displayed to players connecting.",
            "env_variable": "SERVER_MOTD",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|string|max:128",
            "field_type": "text"
        },
        {
            "name": "Max Players",
            "description": "Maximum number of players that can be connected simultaneously.",
            "env_variable": "SERVER_MAX_USERS",
            "default_value": "15",
            "user_viewable": true,
            "user_editable": false,
            "rules": "required|string|min:0|max:65535",
            "field_type": "text"
        },
        {
            "name": "Server password",
            "description": "New users need to input this password.",
            "env_variable": "SERVER_PASSWORD",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|string|max:64",
            "field_type": "text"
        },
        {
            "name": "World name",
            "description": "The name of the world",
            "env_variable": "WORLD_NAME",
            "default_value": "world",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:32",
            "field_type": "text"
        },
        {
            "name": "Game name",
            "description": "Default game when creating a new world. Only change if you have already uploaded the game!",
            "env_variable": "DEFAULT_GAME",
            "default_value": "minetest",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string|max:32",
            "field_type": "text"
        },
        {
            "name": "Community download",
            "description": "Download a community game.\r\nNeeds COMMUNITY_GAME_NAME and COMMUNITY_GAME_AUTOR",
            "env_variable": "COMMUNITY_DOWNLOAD",
            "default_value": "0",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|boolean",
            "field_type": "text"
        },
        {
            "name": "Community game name",
            "description": "Case sensitive!\r\nExample: https:\/\/content.minetest.net\/packages\/Wuzzy\/mineclone2\/\r\nthen this should be mineclone2",
            "env_variable": "COMMUNITY_GAME_NAME",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|string|max:64",
            "field_type": "text"
        },
        {
            "name": "Community game author",
            "description": "Case-sensitive!\r\nExample: https:\/\/content.minetest.net\/packages\/Wuzzy\/mineclone2\/\r\nthen this should be Wuzzy",
            "env_variable": "COMMUNITY_GAME_AUTOR",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|string|max:64",
            "field_type": "text"
        },
        {
            "name": "Game PATH",
            "description": "",
            "env_variable": "MINETEST_SUBGAME_PATH",
            "default_value": "\/home\/container\/.minetest\/games",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|string|max:64",
            "field_type": "text"
        }
    ]
}
