{
    "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
    "meta": {
        "version": "PTDL_v2",
        "update_url": null
    },
    "exported_at": "2024-01-26T17:20:16+01:00",
    "name": "Enshrouded",
    "author": "vapokrocks@gmail.com",
    "description": "Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny.  Credit to gOOvER for the help with the proton image which seems to be performing better over the wine egg.",
    "features": [
        "steam_disk_space"
    ],
    "docker_images": {
        "ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
    },
    "file_denylist": [],
    "startup": "proton run  .\/enshrouded_server.exe",
    "config": {
        "files": "{\r\n    \"enshrouded_server.json\": {\r\n        \"parser\": \"json\",\r\n        \"find\": {\r\n            \"name\": \"{{server.build.env.SRV_NAME}}\",\r\n            \"password\": \"{{server.build.env.SRV_PW}}\",\r\n            \"slotCount\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n            \"gamePort\": \"{{server.build.default.port}}\",\r\n            \"queryPort\": \"{{server.build.env.QUERY_PORT}}\"\r\n        }\r\n    }\r\n}",
        "startup": "{\r\n    \"done\": \"[Session] 'HostOnline' (up)!\"\r\n}",
        "logs": "{}",
        "stop": "^C"
    },
    "scripts": {
        "installation": {
            "script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\nclear\r\nRED='\\033[0;31m'\r\nGREEN='\\033[0;32m'\r\nYELLOW='\\033[1;33m'\r\nBLUE='\\033[0;34m'\r\nNC='\\033[0m'\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}Enshrouded  Installscript${NC}\"\r\necho -e \"${YELLOW}Egg by gOOvER | https:\/\/goover.dev${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates jq dos2unix\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}download and install steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n    echo -e \"steam user is not set.\\n\"\r\n    echo -e \"Using anonymous user.\\n\"\r\n    STEAM_USER=anonymous\r\n    STEAM_PASS=\"\"\r\n    STEAM_AUTH=\"\"\r\nelse\r\n    echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\necho -e \"${GREEN}..done..${NC}\"\r\n\r\n## install game using steamcmd\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}install game using steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) $( [[ \"${STEAM_SDK}\" == \"1\" ]] && printf %s '+app_update 1007' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\necho -e \"${GREEN}..done..${NC}\"\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# add below your custom commands if needed\r\n\r\nFILE=\/mnt\/server\/enshrouded_server.json\r\nif [ -f \"$FILE\" ]; then\r\n    echo \"Config already exist skipping\"\r\nelse \r\n    echo \"Config does not yet exist, making one\"\r\n    cd \/mnt\/server\r\n    touch enshrouded_server.json\r\n    echo \"{\" >> enshrouded_server.json\r\n    echo '\t\"name\": \"Enshrouded Server\",' >> enshrouded_server.json\r\n    echo '\t\"password\": \"\",' >> enshrouded_server.json\r\n    echo '\t\"saveDirectory\": \".\/savegame\",' >> enshrouded_server.json\r\n    echo '\t\"logDirectory\": \".\/logs\",' >> enshrouded_server.json\r\n    echo '\t\"ip\": \"0.0.0.0\",' >> enshrouded_server.json\r\n    echo '\t\"gamePort\": 15636,' >> enshrouded_server.json\r\n    echo '\t\"queryPort\": 15637,' >> enshrouded_server.json\r\n    echo '\t\"slotCount\": 16' >> enshrouded_server.json\r\n    echo '}' >> enshrouded_server.json\r\nfi\r\n## install end\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${GREEN}Installation completed...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"",
            "container": "ghcr.io\/parkervcp\/installers:debian",
            "entrypoint": "bash"
        }
    },
    "variables": [
        {
            "name": "[SERVER] Steam Query Port",
            "description": "Steam Query Port",
            "env_variable": "QUERY_PORT",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|numeric",
            "field_type": "text"
        },
        {
            "name": "WINDOWS_INSTALL",
            "description": "",
            "env_variable": "WINDOWS_INSTALL",
            "default_value": "1",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|boolean",
            "field_type": "text"
        },
        {
            "name": "[STEAM] Steam App ID",
            "description": "Steam App ID",
            "env_variable": "SRCDS_APPID",
            "default_value": "2278520",
            "user_viewable": false,
            "user_editable": false,
            "rules": "required|string|in:2278520",
            "field_type": "text"
        },
        {
            "name": "[SERVER] Auto Update",
            "description": "Enable automatic updates on boot",
            "env_variable": "AUTO_UPDATE",
            "default_value": "1",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|boolean",
            "field_type": "text"
        },
        {
            "name": "[SERVER] Server Name",
            "description": "Name of the server",
            "env_variable": "SRV_NAME",
            "default_value": "My Server",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|string",
            "field_type": "text"
        },
        {
            "name": "[SERVER] Server Password",
            "description": "Server password",
            "env_variable": "SRV_PW",
            "default_value": "",
            "user_viewable": true,
            "user_editable": true,
            "rules": "nullable|string",
            "field_type": "text"
        },
        {
            "name": "[SERVER] Max Players",
            "description": "Maximum number of players allowed",
            "env_variable": "MAX_PLAYERS",
            "default_value": "16",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|numeric",
            "field_type": "text"
        },
        {
            "name": "[SYSTEM] Validate",
            "description": "Validate the serverfiles through Steam",
            "env_variable": "VALIDATE",
            "default_value": "0",
            "user_viewable": true,
            "user_editable": true,
            "rules": "required|boolean",
            "field_type": "text"
        }
    ]
}