2020-07-16 07:02:24 +08:00
{
"_comment" : "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO" ,
"meta" : {
2023-03-01 03:40:26 +08:00
"version" : "PTDL_v2" ,
2021-06-15 02:39:37 +08:00
"update_url" : null
2020-07-16 07:02:24 +08:00
} ,
2023-10-25 21:15:12 +08:00
"exported_at" : "2023-10-25T15:07:49+02:00" ,
2020-07-16 07:02:24 +08:00
"name" : "FTB-modpacks.ch Server" ,
"author" : "runemaster580@gmail.com" ,
"description" : "Since the release of the FTB APP, FTB modpacks are now distributed through modpacks.ch. This egg was developed for support for modpacks that are distributed through this." ,
2021-11-26 08:14:52 +08:00
"features" : [
"eula" ,
2022-01-21 01:43:40 +08:00
"java_version" ,
"pid_limit"
2021-11-26 08:14:52 +08:00
] ,
2023-03-01 03:40:26 +08:00
"docker_images" : {
2023-05-18 06:25:59 +08:00
"Java 8" : "ghcr.io\/pterodactyl\/yolks:java_8" ,
2023-03-01 03:40:26 +08:00
"Java 11" : "ghcr.io\/pterodactyl\/yolks:java_11" ,
2023-05-18 06:25:59 +08:00
"Java 16" : "ghcr.io\/pterodactyl\/yolks:java_16" ,
"Java 17" : "ghcr.io\/pterodactyl\/yolks:java_17" ,
"Java 18" : "ghcr.io\/pterodactyl\/yolks:java_18"
2023-03-01 03:40:26 +08:00
} ,
2021-06-15 02:39:37 +08:00
"file_denylist" : [ ] ,
2023-03-01 03:40:26 +08:00
"startup" : "java -javaagent:log4jfix\/Log4jPatcher-1.0.0.jar -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\" )" ,
2020-07-16 07:02:24 +08:00
"config" : {
2023-03-01 03:40:26 +08:00
"files" : "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}" ,
"startup" : "{\r\n \"done\": \")! For help, type \"\r\n}" ,
"logs" : "{}" ,
2020-07-16 07:02:24 +08:00
"stop" : "stop"
} ,
"scripts" : {
"installation" : {
2023-10-25 21:15:12 +08:00
"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 # 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 JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=${FTB_SEARCH_TERM})\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[]\")\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.modpacks.ch\/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.modpacks.ch\/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 ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} --auto --noscript --nojava\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\/forge\/*\/unix_args.txt\"; then\r\n ln -sf libraries\/net\/neoforged\/forge\/*\/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\"" ,
2020-07-16 07:02:24 +08:00
"container" : "openjdk:8-jdk-slim" ,
"entrypoint" : "bash"
}
} ,
"variables" : [
{
"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.modpacks.ch\/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" : "" ,
2021-06-15 02:39:37 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2023-03-06 02:38:27 +08:00
"rules" : "nullable|string" ,
2023-03-01 03:40:26 +08:00
"field_type" : "text"
2020-07-16 07:02:24 +08:00
} ,
{
"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.modpacks.ch\/public\/modpack\/5" ,
"env_variable" : "FTB_MODPACK_ID" ,
"default_value" : "" ,
2021-06-15 02:39:37 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2023-03-06 02:38:27 +08:00
"rules" : "nullable|integer" ,
2023-03-01 03:40:26 +08:00
"field_type" : "text"
2020-07-16 07:02:24 +08:00
} ,
{
"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" : "" ,
2021-06-15 02:39:37 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2023-03-06 02:38:27 +08:00
"rules" : "nullable|string" ,
2023-03-01 03:40:26 +08:00
"field_type" : "text"
2020-07-16 07:02:24 +08:00
} ,
{
"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.modpacks.ch\/public\/modpack\/5\/86" ,
"env_variable" : "FTB_MODPACK_VERSION_ID" ,
"default_value" : "" ,
2021-06-15 02:39:37 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2023-03-06 02:38:27 +08:00
"rules" : "nullable|integer" ,
2023-03-01 03:40:26 +08:00
"field_type" : "text"
2020-07-16 07:02:24 +08:00
}
]
2023-10-25 21:15:12 +08:00
}