mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-31 04:46:52 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			158 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| _comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL'
 | |
| meta:
 | |
|   version: PLCN_v2
 | |
|   update_url: 'https://github.com/pelican-dev/panel/raw/main/database/Seeders/eggs/minecraft/egg-sponge--sponge-vanilla.yaml'
 | |
| exported_at: '2025-08-05T21:00:17+00:00'
 | |
| name: Sponge
 | |
| author: panel@example.com
 | |
| uuid: f0d2f88f-1ff3-42a0-b03f-ac44c5571e6d
 | |
| description: 'A community-driven open source Minecraft: Java Edition modding platform.'
 | |
| tags:
 | |
|   - minecraft
 | |
| features:
 | |
|   - eula
 | |
|   - java_version
 | |
|   - pid_limit
 | |
| docker_images:
 | |
|   'Java 21': 'ghcr.io/parkervcp/yolks:java_21'
 | |
|   'Java 17': 'ghcr.io/parkervcp/yolks:java_17'
 | |
|   'Java 16': 'ghcr.io/parkervcp/yolks:java_16'
 | |
|   'Java 11': 'ghcr.io/parkervcp/yolks:java_11'
 | |
|   'Java 8': 'ghcr.io/parkervcp/yolks:java_8'
 | |
| file_denylist: {  }
 | |
| startup: 'java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}}'
 | |
| config:
 | |
|   files:
 | |
|     server.properties:
 | |
|       parser: properties
 | |
|       find:
 | |
|         server-ip: ''
 | |
|         server-port: '{{server.allocations.default.port}}'
 | |
|         query.port: '{{server.allocations.default.port}}'
 | |
|   startup:
 | |
|     done: ')! For help, type '
 | |
|   logs: {  }
 | |
|   stop: stop
 | |
| scripts:
 | |
|   installation:
 | |
|     script: |-
 | |
|       #!/bin/ash
 | |
|       # Sponge Installation Script
 | |
|       #
 | |
|       # Server Files: /mnt/server
 | |
| 
 | |
|       cd /mnt/server
 | |
| 
 | |
|       if [ $MINECRAFT_VERSION = 'latest' ] || [ -z $MINECRAFT_VERSION ]; then
 | |
|         TARGET_VERSION_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/latest?recommended=true)
 | |
|         if [ -z "${TARGET_VERSION_JSON}" ]; then
 | |
|           echo -e "Failed to find latest recommended version!"
 | |
|           exit 1
 | |
|         fi
 | |
|         echo -e "Found latest version for ${SPONGE_TYPE}"
 | |
|       else
 | |
|         if [ $SPONGE_TYPE = 'spongevanilla' ]; then 
 | |
|           VERSIONS_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/versions?tags=,minecraft:${MINECRAFT_VERSION}&offset=0&limit=1)
 | |
|         else
 | |
|           FORGETAG='forge'
 | |
|           if [ $SPONGE_TYPE = 'spongeneo' ]; then
 | |
|             FORGETAG='neoforge'
 | |
|           fi
 | |
|           VERSIONS_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/versions?tags=,minecraft:${MINECRAFT_VERSION},${FORGETAG}:${FORGE_VERSION}&offset=0&limit=1)
 | |
|         fi
 | |
|         
 | |
|         if [ -z "${VERSIONS_JSON}" ]; then
 | |
|           echo -e "Failed to find recommended ${MINECRAFT_VERSION} version for ${SPONGE_TYPE} ${FORGE_VERSION}!"
 | |
|           exit 1
 | |
|         fi
 | |
|         
 | |
|         VERSION_KEY=$(echo $VERSIONS_JSON | jq -r '.artifacts | to_entries[0].key')
 | |
|         TARGET_VERSION_JSON=$(curl -sSL https://dl-api.spongepowered.org/v2/groups/org.spongepowered/artifacts/${SPONGE_TYPE}/versions/${VERSION_KEY})
 | |
|         
 | |
|         if [ -z "${TARGET_VERSION_JSON}" ]; then
 | |
|           echo -e "Failed to find ${VERSION_KEY} for ${SPONGE_TYPE} ${FORGE_VERSION}!"
 | |
|           exit 1
 | |
|         fi
 | |
| 
 | |
|         echo -e "Found ${MINECRAFT_VERSION} for ${SPONGE_TYPE}"
 | |
|       fi
 | |
| 
 | |
|       TARGET_VERSION=`echo $TARGET_VERSION_JSON | jq '.assets[] | select(.classifier == "universal")'`
 | |
|       if [ -z "${TARGET_VERSION}" ]; then
 | |
|         TARGET_VERSION=`echo $TARGET_VERSION_JSON  | jq '.assets[] | select(.classifier == "" and .extension == "jar")'`
 | |
|       fi
 | |
| 
 | |
|       if [ -z "${TARGET_VERSION}" ]; then
 | |
|         echo -e "Failed to get download url data from the selected version"
 | |
|         exit 1
 | |
|       fi
 | |
| 
 | |
|       SPONGE_URL=$(echo $TARGET_VERSION | jq -r '.downloadUrl')
 | |
|       CHECKSUM=$(echo $TARGET_VERSION | jq -r '.md5')
 | |
|       echo -e "Found file at ${SPONGE_URL} with checksum ${CHECKSUM}"
 | |
| 
 | |
|       echo -e "running: curl -o ${SERVER_JARFILE} ${SPONGE_URL}"
 | |
|       curl -o ${SERVER_JARFILE} ${SPONGE_URL}
 | |
| 
 | |
|       if [ $(basename $(md5sum ${SERVER_JARFILE})) = ${CHECKSUM} ] ; then
 | |
|         echo "Checksum passed"
 | |
|       else
 | |
|         echo "Checksum failed"
 | |
|       fi
 | |
| 
 | |
|       echo -e "Install Complete"
 | |
|     container: 'ghcr.io/parkervcp/installers:alpine'
 | |
|     entrypoint: ash
 | |
| variables:
 | |
|   -
 | |
|     name: 'Forge/Neoforge Version'
 | |
|     description: |-
 | |
|       The modding api target version if set to `spongeforge` or `spongeneo`. Leave blank if using
 | |
|       `spongevanilla`
 | |
|     env_variable: FORGE_VERSION
 | |
|     default_value: ''
 | |
|     user_viewable: true
 | |
|     user_editable: true
 | |
|     rules:
 | |
|       - string
 | |
|     sort: 3
 | |
|   -
 | |
|     name: 'Minecraft Version'
 | |
|     description: |-
 | |
|       The version of Minecraft to target. Use "latest" to install the latest version. Go to Settings >
 | |
|       Reinstall Server to apply.
 | |
|     env_variable: MINECRAFT_VERSION
 | |
|     default_value: latest
 | |
|     user_viewable: true
 | |
|     user_editable: true
 | |
|     rules:
 | |
|       - required
 | |
|       - string
 | |
|       - 'between:3,15'
 | |
|     sort: 1
 | |
|   -
 | |
|     name: 'Server Jar File'
 | |
|     description: 'The name of the Jarfile to use when running Sponge.'
 | |
|     env_variable: SERVER_JARFILE
 | |
|     default_value: server.jar
 | |
|     user_viewable: true
 | |
|     user_editable: true
 | |
|     rules:
 | |
|       - required
 | |
|       - 'regex:/^([\w\d._-]+)(\.jar)$/'
 | |
|     sort: 4
 | |
|   -
 | |
|     name: 'Sponge Type'
 | |
|     description: |-
 | |
|       SpongeVanilla if you are only using Sponge plugins.
 | |
|       SpongeForge when using Forge mods and Sponge plugins.
 | |
|       SpongeNeo when using NeoForge mods and Sponge plugins.
 | |
|     env_variable: SPONGE_TYPE
 | |
|     default_value: spongevanilla
 | |
|     user_viewable: true
 | |
|     user_editable: true
 | |
|     rules:
 | |
|       - required
 | |
|       - 'in:spongevanilla,spongeforge,spongeneo'
 | |
|     sort: 2
 | 
