2019-09-14 08:48:39 +08:00
{
"_comment" : "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO" ,
"meta" : {
2023-01-04 16:49:44 +08:00
"version" : "PTDL_v2" ,
2021-06-15 02:37:48 +08:00
"update_url" : null
2019-09-14 08:48:39 +08:00
} ,
2023-11-03 23:19:49 +08:00
"exported_at" : "2023-11-03T15:54:30+01:00" ,
2019-09-14 08:48:39 +08:00
"name" : "SpongeForge" ,
"author" : "parker@parkervcp.com" ,
"description" : "A community-driven open source Minecraft: Java Edition modding platform." ,
2021-06-15 02:37:48 +08:00
"features" : [
2021-11-26 08:14:52 +08:00
"eula" ,
2022-01-21 01:43:40 +08:00
"java_version" ,
"pid_limit"
2021-06-15 02:37:48 +08:00
] ,
2023-01-04 16:49:44 +08:00
"docker_images" : {
2023-05-18 06:25:59 +08:00
"Java 8" : "ghcr.io\/pterodactyl\/yolks:java_8" ,
"Java 11" : "ghcr.io\/pterodactyl\/yolks:java_11" ,
"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-01-04 16:49:44 +08:00
} ,
2021-06-15 02:37:48 +08:00
"file_denylist" : [ ] ,
2019-09-14 08:48:39 +08:00
"startup" : "java -Xms128M -Xmx{{SERVER_MEMORY}}M -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 \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}" ,
"logs" : "{}" ,
"stop" : "stop"
} ,
"scripts" : {
"installation" : {
2023-11-03 23:19:49 +08:00
"script" : "#!\/bin\/bash\r\n# SpongeForge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y jq curl\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n#Function to Compare Strings in Dot-Separated Version Format (can comapre Versions with unequal lengths)\r\n#returns 1 if version 1 is less than version 2, and 0 if version 1 is greater than version 2\r\nvercomp() {\r\n if [[ $1 == $2 ]]\r\n then\r\n return 1\r\n fi\r\n local IFS=.\r\n local i ver1=($1) ver2=($2)\r\n # fill empty fields in ver1 with zeros\r\n for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))\r\n do\r\n ver1[i]=0\r\n done\r\n for ((i=0; i<${#ver1[@]}; i++))\r\n do\r\n if [[ -z ${ver2[i]} ]]\r\n then\r\n # fill empty fields in ver2 with zeros\r\n ver2[i]=0\r\n fi\r\n if ((10#${ver1[i]} > 10#${ver2[i]}))\r\n then\r\n return 0\r\n fi\r\n if ((10#${ver1[i]} < 10#${ver2[i]}))\r\n then\r\n return 1\r\n fi\r\n done\r\n return 1\r\n}\r\n\r\n# Remove spaces from the version number to avoid issues with curl\r\nFORGE_VERSION=\"$(echo \"$FORGE_VERSION\" | tr -d ' ')\"\r\n\r\n#Adding .jar when not ending by SERVER_JARFILE\r\nif [[ ! ${SERVER_JARFILE} = *\\.jar ]]; then\r\n SERVER_JARFILE=\"${SERVER_JARFILE}.jar\"\r\nfi\r\n\r\n\r\nif [ -z ${SF_VERSION} ] || [ \"$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION})\" == \"Unknown version\" ]; then\r\n echo -e \"defaulting to recommended\"\r\n SF_VERSION=\"recommended\"\r\nfi\r\n\r\nif [ \"${SF_VERSION}\" == \"recommended\" ]; then\r\n echo -e \"using recommended SpongeForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nelif [ \"${SF_VERSION}\" == \"latest\" ]; then\r\n echo -e \"using latest SpongForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge | jq -r '.buildTypes.stable.latest.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nelse\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\" \ r \ n M C _ V E R S I O N = $ ( c u r l - s h t t p s : \ / \ / d l - a p i . s p o n g e p o w e r e d . o r g \ / v 1 \ / o r g . s p o n g e p o w e r e d \ / s p o n g e f o r g e \ / d o w n l o a d s \ / $ { S F _ V E R S I O N } | j q - r ' . d e p e n d e n c i e s . m i n e c r a f t ' ) \ r \ n f i \ r \ n \ r \ n i f [ [ ! - z $ { F O R G E _ V E R S I O N } ] ] ; t h e n \ r \ n i f c u r l - - o u t p u t \ / d e v \ / null - - s i l e n t - - h e a d - - f a i l h t t p s : \ / \ / m a v e n . m i n e c r a f t f o r g e . n e t \ / n e t \ / m i n e c r a f t f o r
2019-09-14 08:48:39 +08:00
"container" : "openjdk:8-jre-slim" ,
"entrypoint" : "bash"
}
} ,
"variables" : [
{
"name" : "Server Jar File" ,
"description" : "The name of the Jarfile to use when running Forge Mod." ,
"env_variable" : "SERVER_JARFILE" ,
"default_value" : "server.jar" ,
2020-12-07 11:32:15 +08:00
"user_viewable" : true ,
"user_editable" : true ,
2023-01-04 16:49:44 +08:00
"rules" : "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" ,
"field_type" : "text"
} ,
{
"name" : "SpongeForge Version" ,
"description" : "Example 1.12.2-2825-7.1.6\r\n\r\nIf the version fails it defaults to recommended" ,
"env_variable" : "SF_VERSION" ,
"default_value" : "recommended" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "required|string" ,
"field_type" : "text"
2023-11-03 23:19:49 +08:00
} ,
{
"name" : "Forge Version" ,
"description" : "Optional, only needed for custom Forge Version with Sponge.\r\n\r\nThe full exact version.\r\nEx. 1.15.2-31.2.4\r\n\r\nIf it fails to download the server files or to verify compatibility to the Sponge Version it will fail to install." ,
"env_variable" : "FORGE_VERSION" ,
"default_value" : "" ,
"user_viewable" : true ,
"user_editable" : true ,
"rules" : "nullable|regex:\/^[0-9\\.\\-]+$\/" ,
"field_type" : "text"
2019-09-14 08:48:39 +08:00
}
]
2023-11-03 23:19:49 +08:00
}