From 662b8f20f9ab48123b61a953252086f9f17f2d4d Mon Sep 17 00:00:00 2001 From: Siebren Bakker Date: Tue, 27 Feb 2018 11:47:17 -0500 Subject: [PATCH] Added generic FTB egg to handle official modpacks --- .../feed-the-beast/egg-feed-the-beast.json | 81 +++++++++++++++++++ README.md | 7 ++ 2 files changed, 88 insertions(+) create mode 100644 Minecraft/feed-the-beast/egg-feed-the-beast.json diff --git a/Minecraft/feed-the-beast/egg-feed-the-beast.json b/Minecraft/feed-the-beast/egg-feed-the-beast.json new file mode 100644 index 00000000..8cea0a54 --- /dev/null +++ b/Minecraft/feed-the-beast/egg-feed-the-beast.json @@ -0,0 +1,81 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2018-02-27T11:41:14-05:00", + "name": "Feed the Beast", + "author": "aevum@decess.us", + "description": "Egg to handle all official FTB Modpacks", + "image": "quay.io\/pterodactyl\/core:java", + "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar FTBserver-*.jar", + "config": { + "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\",\r\n \"level-name\": \"{{server.build.env.LEVEL_NAME}}\",\r\n \"level-seed\": \"{{server.build.env.LEVEL_SEED}}\",\r\n \"max-players\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"motd\": \"{{server.build.env.MOTD}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}", + "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", + "stop": "stop" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/ash\r\n# Generic FTB Server Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# MODPACK_VERSION = version of the modpack, set in variables\r\n# i.e MODPACK_VERSION=1.5.0\r\n# MODPACK_URL = url base of the pack, set in variables, hardcoded\r\n# i.e https:\/\/www.feed-the-beast.com\/projects\/ftb-revelation\/files\r\n# MODPACK_URL=ftb-revelation\r\n\r\napk update\r\napk add curl --no-cache\r\n\r\nBASEURL=https:\/\/www.feed-the-beast.com\/projects\/${MODPACK_URL}\/files\r\nPATTERN=\"projects\\\/${MODPACK_URL}\\\/files\\\/\\d{7,}\"\r\nID_PATTERN=\"\\d{7,}\"\r\nID=`curl -sl ${BASEURL}| grep -A2 ${MODPACK_VERSION} | grep -oE \"${PATTERN}\" | grep -oE \"${ID_PATTERN}\"`\r\necho \"ID: ${ID}\"\r\nSECONDURL=${BASEURL}\/${ID}\r\necho \"SECONDURL: ${SECONDURL}\"\r\nGOOD_ID=`curl -sl ${SECONDURL} | grep -B2 Server_${MODPACK_VERSION}.zip | grep -oE \"${PATTERN}\" | grep -oE \"${ID_PATTERN}\"`\r\necho \"GOOD_ID: ${GOOD_ID}\"\r\nDL_URL=${BASEURL}\/${GOOD_ID}\/download\r\necho \"Download_URL: ${DL_URL}\"\r\ncd \/mnt\/server\r\n\r\necho \"Executing curl -L ${DL_URL} -o ${MODPACK_URL}.zip\"\r\ncurl -L ${DL_URL} -o ${MODPACK_URL}.zip\r\n\r\nunzip ${MODPACK_URL}.zip\r\n\r\nrm -rf ${MODPACK_URL}.zip\r\n\r\nsh .\/FTBInstall.sh", + "container": "alpine:3.7", + "entrypoint": "ash" + } + }, + "variables": [ + { + "name": "Modpack URL Name", + "description": "Name of the modpack as referenced in URL's on feed-the-beast.com\r\ni.e\r\nhttps:\/\/www.feed-the-beast.com\/projects\/", + "env_variable": "MODPACK_URL", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:[a-z-0-9]+|max:30" + }, + { + "name": "Modpack Version", + "description": "Version of the modpack to use", + "env_variable": "MODPACK_VERSION", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|regex:\\d+.\\d+.\\d+" + }, + { + "name": "Level Seed", + "description": "Optional specified level seed for map generation", + "env_variable": "LEVEL_SEED", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "string|max:40" + }, + { + "name": "Max Players", + "description": "Max # of players on the server", + "env_variable": "MAX_PLAYERS", + "default_value": "20", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|integer|max:100" + }, + { + "name": "Level Name", + "description": "Name of the world save", + "env_variable": "LEVEL_NAME", + "default_value": "world", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|alpha_dash|max:20" + }, + { + "name": "MOTD", + "description": "Message to appear when viewing the server in browser and on login", + "env_variable": "MOTD", + "default_value": "A Minecraft Server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + } + ] +} diff --git a/README.md b/README.md index 0828fde7..dda79b80 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,13 @@ This is a direct fork of the default forge service - Has a version detection fix for "latest" #### FTB Packs +##### Feed The Beast - generic +[FTB](https://www.feed-the-beast.com/modpacks) +Generic egg to handle any standard FTB modpack. +Supply values to 2 variables to use +- MODPACK_URL: from the url to the pack https://www.feed-the-beast.com/projects/{MODPACK_URL} +- MODPACK_VERSION: version of the modpack to install + ##### FTB Revelation [FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation)