mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-11-04 11:26: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
 |