{ "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL", "meta": { "version": "PLCN_v3", "update_url": null }, "exported_at": "2025-12-19T20:55:40+00:00", "name": "FTB Server", "author": "runemaster580@gmail.com", "uuid": "e60a9de8-a0b1-4d97-b4e2-6568f048668d", "description": "This egg was developed to easily set up a server from FTB.", "image": null, "tags": [], "features": [ "eula", "java_version", "pid_limit" ], "docker_images": { "Java 21": "ghcr.io/parkervcp/yolks:java_21", "Java 19": "ghcr.io/parkervcp/yolks:java_19", "Java 17": "ghcr.io/parkervcp/yolks:java_17", "Java 16": "ghcr.io/parkervcp/yolks:java_16", "Java 11": "ghcr.io/parkervcp/yolks:java_11", "Java 8": "ghcr.io/parkervcp/yolks:java_8" }, "file_denylist": [], "startup_commands": { "Default": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s \"-jar start-server.jar\" || printf %s \"@unix_args.txt\" )" }, "config": { "files": "{\n \"server.properties\": {\n \"parser\": \"properties\",\n \"find\": {\n \"server-ip\": \"0.0.0.0\",\n \"server-port\": \"{{server.allocations.default.port}}\",\n \"query.port\": \"{{server.allocations.default.port}}\"\n }\n }\n}", "startup": "{\n \"done\": \")! For help, type \"\n}", "logs": "{}", "stop": "stop" }, "scripts": { "installation": { "script": "#!/bin/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: /mnt/server\r\nif [ ! -d /mnt/server ]; then\r\n mkdir -p /mnt/server\r\nfi\r\ncd /mnt/server\r\n\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq\r\n}\r\n\r\nfunction get_modpack_id {\r\n urlencode() {\r\n local string=\"${1// /%20}\"\r\n echo \"$string\"\r\n }\r\n \r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ ! -z \"${FTB_SEARCH_TERM}\" ]; then\r\n encoded_search_term=$(urlencode \"$FTB_SEARCH_TERM\")\r\n JSON_DATA=$(curl -sSL https://api.feed-the-beast.com/v1/modpacks/public/modpack/search/8?term=\"${encoded_search_term}\")\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[0]\")\r\n fi\r\n\r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ ! -z ${FTB_VERSION_STRING} ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https://api.feed-the-beast.com/v1/modpacks/public/modpack/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n}\r\n\r\nfunction run_installer {\r\n # get architecture for installer\r\n INSTALLER_TYPE=$([ \"$(uname -m)\" == \"x86_64\" ] && echo \"linux\" || echo \"arm/linux\")\r\n echo \"ModpackID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID} InstallerType: ${INSTALLER_TYPE}\"\r\n\r\n # download installer\r\n curl -L https://api.feed-the-beast.com/v1/modpacks/public/modpack/0/0/server/${INSTALLER_TYPE} --output serversetup\r\n chmod +x ./serversetup\r\n \r\n # remove old forge files (to allow updating)\r\n rm -rf libraries/net/minecraftforge/forge\r\n rm -rf libraries/net/neoforged/forge\r\n rm -f unix_args.txt\r\n \r\n # run installer\r\n ./serversetup --pack ${FTB_MODPACK_ID} --version ${FTB_MODPACK_VERSION_ID} --auto --no-java\r\n}\r\n\r\n# allows startup command to work\r\nfunction move_startup_files {\r\n # create symlink for forge unix_args.txt if exists\r\n if compgen -G \"libraries/net/minecraftforge/forge/*/unix_args.txt\"; then\r\n ln -sf libraries/net/minecraftforge/forge/*/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # create symlink for neoforge unix_args.txt if exists\r\n if compgen -G \"libraries/net/neoforged/neoforge/*/unix_args.txt\"; then\r\n ln -sf libraries/net/neoforged/neoforge/*/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # move forge/neoforge/fabric jar file to start-server.jar if exists\r\n if compgen -G \"forge-*.jar\"; then\r\n mv -f forge-*.jar start-server.jar\r\n elif compgen -G \"fabric-*.jar\"; then\r\n mv -f fabric-*.jar start-server.jar\r\n fi\r\n}\r\n\r\n# installer cleanup\r\nfunction installer_cleanup {\r\n rm serversetup\r\n rm -f run.bat\r\n rm -f run.sh\r\n}\r\n\r\n# run installation steps\r\ninstall_required\r\nget_modpack_id\r\nrun_installer\r\nmove_startup_files\r\ninstaller_cleanup\r\n\r\necho \"Finished installing FTB modpack\"", "container": "ghcr.io/pelican-eggs/installers:java_21", "entrypoint": "bash" } }, "variables": [ { "name": "FTB Pack Version", "description": "what version of the modpack to install. leave empty if using the modpack version id variable.", "env_variable": "FTB_VERSION_STRING", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "string" ], "sort": 1 }, { "name": "FTB Pack Version ID", "description": "The modpack api version ID.\r\nneeded if not using the string for the version.\r\n\r\nExample FTB Revelations version id for version \"2.0.2\" is 86.\r\nwhich would come out as: https://api.feed-the-beast.com/v1/modpacks/public/modpack/5/86", "env_variable": "FTB_MODPACK_VERSION_ID", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "integer" ], "sort": 2 }, { "name": "FTB Pack search term", "description": "the search term for finding the modpack. needs to be at least 4 characters long.\r\nFind out what term is needed by using the ftb app and searching with the term. make sure it only returns 1 result.\r\ncan also be searched for via: https://api.feed-the-beast.com/v1/modpacks/public/modpack/search/8?term={SEARCHTERM}\r\n\r\nonly needed if the modpack id and modpack version id is unknown.", "env_variable": "FTB_SEARCH_TERM", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "string" ], "sort": 3 }, { "name": "FTB modpack ID", "description": "The FTB Api modpack ID.\r\nNeeded if not using the search variable\r\n\r\nExample: FTB Interactions ID is 5.\r\nhttps://api.feed-the-beast.com/v1/modpacks/public/modpack/5", "env_variable": "FTB_MODPACK_ID", "default_value": "", "user_viewable": true, "user_editable": true, "rules": [ "nullable", "integer" ], "sort": 4 } ] }