mirror of
https://github.com/parkervcp/eggs.git
synced 2025-02-09 14:03:00 +08:00
^ Improving installation script. + Add Crucible description to Egg. + Added support for "staging" versions + Adding support for versions lower than v5.4 and higher than v5.0. (lib download) ^ Minor edits to variables.
52 lines
4.1 KiB
JSON
52 lines
4.1 KiB
JSON
{
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
"meta": {
|
|
"version": "PTDL_v2",
|
|
"update_url": null
|
|
},
|
|
"exported_at": "2023-10-12T13:05:55-03:00",
|
|
"name": "Crucible",
|
|
"author": "ryanpereira.profissional@gmail.com",
|
|
"description": "Crucible is a Thermos with several improvements. We aim to close the gaps left by Thermos and extend the support for those still on 1.7.10 by adding support for long broken mods and plugins and fix serious bugs as they appear.",
|
|
"features": null,
|
|
"docker_images": {
|
|
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8"
|
|
},
|
|
"file_denylist": [],
|
|
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}}",
|
|
"config": {
|
|
"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": "{}",
|
|
"stop": "stop"
|
|
},
|
|
"scripts": {
|
|
"installation": {
|
|
"script": "#!\/bin\/ash\r\n# Crucible Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\ncd \/mnt\/server\r\n#!\/bin\/bash\r\n# CRUCIBLE_VERSION=\"staging-81fcb90\"\r\n# SERVER_JARFILE=\"server.jar\"\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/CrucibleMC\/Crucible\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/CrucibleMC\/Crucible\/releases\")\r\nMATCH=\"Crucible-1\\.7\\.10-.*\\.jar\"\r\nDOWNLOAD_URL=\"\"\r\nDOWNLOAD_URL_LIB=\"\"\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n DOWNLOAD_URL_LIB=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i libraries.zip\r\n)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\ncurl -sSL $DOWNLOAD_URL -o ${SERVER_JARFILE}\r\nwget $DOWNLOAD_URL_LIB -O temp.zip\r\nunzip temp.zip -d libraries\r\nrm temp.zip",
|
|
"container": "ghcr.io\/pterodactyl\/installers:alpine",
|
|
"entrypoint": "ash"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "Server Jar File",
|
|
"description": "The name of the Jarfile to use when running Crucible.",
|
|
"env_variable": "SERVER_JARFILE",
|
|
"default_value": "server.jar",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Crucible Version",
|
|
"description": "The release of Crucible to download and use. Similar as: `v5.4` or `staging-81fcb90`\r\nnote: We do not recommend using this egg to download versions lower than v5.0, these versions may have several bugs and may cause the installation script to crash.",
|
|
"env_variable": "VERSION",
|
|
"default_value": "latest",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required",
|
|
"field_type": "text"
|
|
}
|
|
]
|
|
} |