Added generic FTB egg to handle official modpacks

This commit is contained in:
Siebren Bakker 2018-02-27 11:47:17 -05:00
parent 4db9b61e35
commit 662b8f20f9
2 changed files with 88 additions and 0 deletions

View File

@ -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\/<MODPACK_URL>",
"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"
}
]
}

View File

@ -40,6 +40,13 @@ This is a direct fork of the default forge service
- Has a version detection fix for "latest" - Has a version detection fix for "latest"
#### FTB Packs #### 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
[FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation) [FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation)